plugins/elements/gstmultiqueue.c: Don't deadlock when releasing a pad - gst_pad_set_a...
[platform/upstream/gstreamer.git] / ChangeLog
1 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
2
3         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
4           Don't deadlock when releasing a pad - gst_pad_set_active may try
5           and take the multiqueue lock too.
6
7 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
8
9         * gst/gsterror.c: (_gst_core_errors_init):
10         * gst/gsterror.h:
11           API: add GST_CORE_ERROR_DISABLED (#392804).
12
13 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14
15         * docs/faq/gst-uninstalled:
16           don't get empty paths on the PATH variables
17         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
18           Don't format for the uncommon terminal width of 84 characters.
19
20 2007-04-06  Wim Taymans  <wim@fluendo.com>
21
22         * gst/gstpipeline.c: (reset_stream_time),
23         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
24         Only try to select a different pipeline clock when we went back to
25         PAUSED and not when we merely got flushed.
26
27 2007-04-05  Michael Smith  <msmith@fluendo.com>
28
29         * tools/gst-launch.1.in:
30           fractions are better supported in gstreamer than ractions, so
31           suggest using those.
32
33 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
34
35         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
36
37         * po/LINGUAS:
38         * po/da.po:
39           Added Danish translation.
40
41 2007-04-05  Wim Taymans  <wim@fluendo.com>
42
43         * libs/gst/base/gstbasesink.c:
44         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
45         Fix leak caused when refusing newsegment after EOS.
46
47         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
48         (gst_fake_sink_init), (gst_fake_sink_set_property),
49         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
50         (gst_fake_sink_render), (gst_fake_sink_change_state):
51         * plugins/elements/gstfakesink.h:
52         Add num-buffers property to make the element generate EOS after a
53         configurable amount of buffers.
54         API: fakesink::num-buffers property.
55
56         * tests/check/elements/fakesink.c: (GST_START_TEST),
57         (fakesink_suite):
58         Fix GstBus leak in test.
59         Test for fakesink num-buffers.
60
61 2007-04-05  Wim Taymans  <wim@fluendo.com>
62
63         * libs/gst/base/gstbasesink.c:
64         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
65         (gst_base_sink_change_state):
66         Don't accept anything after an EOS, return UNEXPECTED instead.
67
68         * tests/check/elements/fakesink.c: (GST_START_TEST),
69         (fakesink_suite):
70         Unit test for new EOS behaviour.
71
72 2007-04-05  Wim Taymans  <wim@fluendo.com>
73
74         * gst/gstelement.c: (gst_element_get_request_pad):
75         Make padtemplates also work when they don't contain %s or %d.
76
77 2007-04-05  Wim Taymans  <wim@fluendo.com>
78
79         * docs/gst/gstreamer-sections.txt:
80         * gst/gstclock.c: (gst_clock_adjust_unlocked),
81         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
82         * gst/gstclock.h:
83         Improve _adjust_unlocked() so that it overflows less.
84         Add gst_clock_unadjust_unlocked to convert from external time to
85         internal time based on calibration.
86         Add some more debug.
87         API: GstClock::gst_clock_unadjust_unlocked()
88
89 2007-04-03  Wim Taymans  <wim@fluendo.com>
90
91         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
92
93         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
94         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
95         when releasing sink pad. Fixes #425400.
96
97 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
98
99         * docs/random/ensonic/dynlink.txt:
100           More work on proposal for new core api.
101
102         * docs/libs/gstreamer-libs-sections.txt:
103         * libs/gst/base/gstbasetransform.h:
104           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
105           
106         * libs/gst/controller/gstcontroller.c:
107         (on_object_controlled_property_changed),
108         (gst_controller_sync_values),
109         (gst_controller_set_interpolation_mode):
110         * libs/gst/controller/gstcontroller.h:
111           Less verbose logging add docs for unimplemented parts and correctly
112           return when using unavailable parts.
113
114 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
115
116         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
117         Move all the debug to the CLOCK category, and associate it with
118         the clock object.
119
120 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
121
122         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
123         Make take_buffer a bit quicker by removing redundant checks
124         caused by calling gst_adapter_take.
125
126 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
127
128         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
129           Don't leak GCond.
130
131         * tests/check/Makefile.am:
132         * tests/check/elements/.cvsignore:
133         * tests/check/elements/multiqueue.c: (setup_multiqueue),
134         (GST_START_TEST), (multiqueue_suite):
135           Add some dead simple unit tests for the 'multiqueue' element
136           (some bits don't work yet and are disabled for now).
137
138 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
139
140         * gst/gstelement.c: (gst_element_get_request_pad),
141         (gst_element_class_get_request_pad_template):
142           Make gst_element_get_request_pad() create request pads only for
143           request pad templates and not for, say, sometimes pad templates.
144
145 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
146
147         * docs/design/draft-klass.txt:
148           Add example that needs more thinking.
149         
150         * docs/design/draft-missing-plugins.txt:
151           More thoughts about wrapper plugins.
152         
153         * docs/random/ensonic/embedded.txt:
154         * docs/random/ensonic/profiling.txt:
155           More design work.
156
157 2007-03-25  Wim Taymans  <wim@fluendo.com>
158
159         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
160         (gst_base_src_loop):
161         Only push the segment events in the PLAYING state for live sources.
162
163 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
164
165         * gst/gstpipeline.c: (gst_pipeline_change_state):
166         Modify the clock distribution path in PAUSED->PLAYING so that we 
167         never attempt to choose a new clock unless we're actually leaving
168         the PAUSED state for the first time. This prevents choosing a
169         different clock when the state_change gets called for a 2nd time due
170         to some element doing an async state change.
171
172 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
173
174         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
175         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
176         (gst_pad_chain_unchecked), (gst_pad_push):
177         Revert last commit. This needs some more thoughts.
178
179 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
180
181         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
182         (gst_pad_chain_unchecked), (gst_pad_push):
183         Check in set_caps if the caps are compatible with the pad and remove
184         two functions that are redundant now. Fixes #421543.
185
186 2007-03-22  Wim Taymans  <wim@fluendo.com>
187
188         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
189         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
190         Unref some more to make valgrind happy.
191
192 2007-03-22  Wim Taymans  <wim@fluendo.com>
193
194         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
195         (gst_system_clock_id_wait_jitter),
196         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
197         Fix anoying regression that survived a few releases. When adding an
198         async entry while blocking on a sync entry, the sync entry will unblock
199         but still be busy, so it should continue to wait instead of returning
200         _BUSY to the app.
201         Add some comments here and there.
202
203         * tests/check/gst/gstsystemclock.c: (mixed_thread),
204         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
205         Add testcase for this.
206
207 2007-03-22  Wim Taymans  <wim@fluendo.com>
208
209         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
210         Handle errors from the clock sync better, only UNSCHEDULED indicates a
211         WRONG_STATE and can silently pause the task. All other cases should
212         error out.
213
214 2007-03-22  Wim Taymans  <wim@fluendo.com>
215
216         Patch by: <syrjala at sci dot fi>
217
218         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
219         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
220         Improve debugging.
221
222 2007-03-21  Michael Smith  <msmith@fluendo.com>
223
224         * docs/pwg/advanced-types.xml:
225           Fix some errors in the typefinding docs pointed out on irc.
226
227 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
228
229         * libs/gst/base/gstbasesrc.c:
230         Clarify FIXME comment in the face of having added unlock_stop()
231
232 2007-03-21  Wim Taymans  <wim@fluendo.com>
233
234         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
235         Prepare for release where we warn against possible app breakage in the
236         case of live pipelines along with an env var to enable/disable live
237         preroll mode (GST_COMPAT=[no-]live-preroll).
238
239 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
240
241         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
242         So we should use correct constants for checking for None offset.
243
244 2007-03-20  Wim Taymans  <wim@fluendo.com>
245
246         * docs/design/part-block.txt:
247         Mention the fact that the newly switched element should be set to at
248         least PAUSED.
249
250 2007-03-20  Wim Taymans  <wim@fluendo.com>
251
252         * gst/gst.c:
253         Fix compilation with registry disabled as spotted by Saur.
254
255 2007-03-20  Wim Taymans  <wim@fluendo.com>
256
257         Patch by: Olivier Crete <tester at tester dot ca>
258
259         * gst/gstelement.c: (gst_element_sync_state_with_parent):
260         Look at the pending state too when syncing the element state to the
261         parent. Fixes #420133.
262
263 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
264
265         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
266         (gst_base_sink_change_state):
267         * libs/gst/base/gstbasesink.h:
268         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
269         (gst_base_src_default_event), (gst_base_src_unlock_stop),
270         (gst_base_src_deactivate):
271         * libs/gst/base/gstbasesrc.h:
272         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
273         for sub-classes to correctly clear any state they set trying to
274         unlock, such as clearing out unlock commands from a command fd.
275
276         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
277         (gst_fd_sink_render), (gst_fd_sink_unlock),
278         (gst_fd_sink_unlock_stop):
279         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
280         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
281         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
282
283         Implement unlock_stop in fdsrc and fdsink.
284         Implement seeking in fdsrc when a seekable fd is passed, as in
285         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
286
287 2007-03-19  Wim Taymans  <wim@fluendo.com>
288
289         Patch by: Evan Nemerson <evan at coeus dash group dot com>
290
291         * gst/gstelement.c: (gst_element_class_init):
292         Fix pad-added and pad-removed signal signatures so that the pad type is
293         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
294
295 2007-03-19  Wim Taymans  <wim@fluendo.com>
296
297         * docs/gst/gstreamer-sections.txt:
298         Add new element field and method.
299
300         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
301         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
302         (gst_bin_recalc_state), (gst_bin_get_state_func),
303         (gst_bin_element_set_state), (gst_bin_change_state_func),
304         (gst_bin_continue_func), (bin_bus_handler),
305         (bin_push_state_continue), (bin_handle_async_start),
306         (bin_handle_async_done), (gst_bin_handle_message_func):
307         Make async state changes a bit smarter by using new ASYNC_START and
308         ASYNC_DONE messages. This reduces the number of times we run the state
309         recalculation thread.
310         Don't change state of element with a pending ASYNC_START message.
311         Deprecate STATE_DIRTY messages.
312         
313         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
314         (gst_element_get_state_func), (gst_element_continue_state),
315         (gst_element_lost_state), (gst_element_set_state_func),
316         (gst_element_change_state):
317         * gst/gstelement.h:
318         Keep the state that was last set by the app in a new element field.
319         Don't allow state changes when handling an element event.
320         Post ASYNC_START and ASYNC_DONE messages.
321         Change lost_state so that we go to PAUSED and wait for the parent to set
322         us to PLAYING again (so latency calculation can be performed)
323         Export gst_element_change_state() method so that subclasses can use it.
324         API: gst_element_change_state()
325         API: GST_STATE_TARGET
326
327         * gst/gstpipeline.c: (gst_pipeline_class_init),
328         (reset_stream_time), (gst_pipeline_change_state),
329         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
330         Using the new ASYNC_START message we can reset the base_time when
331         needed. This can then be used to implement base_time redistribution in
332         flushing seeks so that we can remove the explicit seek handling.
333         Perform latency query and configuration when going to PLAYING.
334
335         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
336         (gst_base_sink_query), (gst_base_sink_change_state):
337         Post new ASYNC_START/ASYNC_DONE messages.
338
339         * tests/check/generic/sinks.c: (GST_START_TEST):
340         Fix test because the bin will not set the async element to PLAYING right
341         away.
342
343         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
344         Make the message check a little stronger.
345         Handle ASYNC messages.
346
347         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
348         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
349         Expect ASYNC_DONE messages.
350
351 2007-03-19  Wim Taymans  <wim@fluendo.com>
352
353         * docs/gst/gstreamer-sections.txt:
354         * gst/gstmessage.c: (gst_message_new_async_start),
355         (gst_message_new_async_done), (gst_message_parse_info),
356         (gst_message_parse_async_start):
357         * gst/gstmessage.h:
358         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
359         support.
360
361 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
362
363         * tools/gst-inspect.c:
364         (print_plugin_automatic_install_info_codecs):
365           Now that we don't check for the 'Codec' keyword any longer in the
366           klass, we shouldn't spew a warning if the klass isn't a decoder or
367           encoder (since it might be a Source/Network, for example).
368
369 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
370
371         * tools/gst-inspect.c:
372         (print_plugin_automatic_install_info_codecs):
373           Don't require decoder/demuxer/depayloader elements or
374           encoder/muxer/paylader elements to have 'Codec' as part of their
375           factory class string when introspecting a plugin's capabilities.
376           draft-klass.txt mentions that it might be removed in future, and
377           flump3dec doesn't have it as part of its class string, so chances
378           are others might also not have it.
379
380 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
381
382         * po/af.po:
383         * po/az.po:
384         * po/bg.po:
385         * po/ca.po:
386         * po/cs.po:
387         * po/de.po:
388         * po/en_GB.po:
389         * po/fr.po:
390         * po/it.po:
391         * po/nb.po:
392         * po/nl.po:
393         * po/ru.po:
394         * po/sq.po:
395         * po/sr.po:
396         * po/sv.po:
397         * po/tr.po:
398         * po/uk.po:
399         * po/vi.po:
400         * po/zh_CN.po:
401         * po/zh_TW.po:
402           Update translations from translation project
403
404 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
405
406         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
407         (gst_child_proxy_set_property):
408           Invert precondition check to be alike the ones in the mimiced gobject
409           api.
410
411 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
412
413         * docs/design/draft-tagreading.txt:
414         * docs/random/ensonic/audiobaseclasses.txt:
415           Do some Architect work.
416
417         * gst/gstobject.c: (gst_object_set_name):
418           Add a WARNING.
419
420         * gst/gstpad.c:
421           Add docs that point from gst_pad_get_range to gst_pad_pull_range
422
423 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
424
425         * gst/gstsystemclock.c: (gst_system_clock_init),
426         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
427         Defer starting the async system clock thread until the first async
428         wait is scheduled. Fixes #414986.
429
430 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
431
432         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
433         (gst_single_queue_free):
434           Fix small leak (free GstSingleQueue structure too, not only contents).
435
436 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
437
438         * gst/gstbin.c:(gst_bin_add):
439         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
440         * win32/common/libgstbase.def:
441         * win32/common/libgstreamer.def:
442         Add new exported functions.
443
444 2007-03-09  Wim Taymans  <wim@fluendo.com>
445
446         * docs/plugins/gstreamer-plugins-sections.txt:
447         Fix GstTee docs.
448
449 2007-03-09  Wim Taymans  <wim@fluendo.com>
450
451         * docs/gst/gstreamer-sections.txt:
452         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
453         * gst/gstbuffer.h:
454         Add metadata copy functions. Fixes #393099.
455
456         * gst/gstutils.c: (gst_buffer_stamp):
457         * libs/gst/base/gstbasetransform.c:
458         (gst_base_transform_prepare_output_buffer):
459         Use new metadata copy functions.
460
461 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
462
463         * plugins/elements/gstidentity.c: (gst_identity_class_init),
464         (gst_identity_init), (gst_identity_check_perfect),
465         (gst_identity_check_imperfect_timestamp),
466         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
467         (gst_identity_set_property), (gst_identity_get_property):
468         * plugins/elements/gstidentity.h:
469         Separate out check-imperfect-timestamp and check-imperfect-offset.
470         Put back check-perfect as it was to keep compatibility.
471
472 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
473
474         * gst/gstelement.c: (gst_element_dispose):
475         There's no need to warn if VOID_PENDING is not NONE here, as
476         long as the state is NULL it's ok, and that's checked immediately
477         above.
478
479 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
480
481         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
482         Fix check for perfect stream to ignore buffers with -1 
483         offsets/offset ends when checking data contiguity.
484
485 2007-03-08  Wim Taymans  <wim@fluendo.com>
486
487         * tools/gst-launch.c: (event_loop):
488         Print INFO messages.
489
490 2007-03-08  Wim Taymans  <wim@fluendo.com>
491
492         * libs/gst/base/gstbasetransform.c:
493         (gst_base_transform_sink_eventfunc),
494         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
495         (gst_base_transform_activate):
496         * libs/gst/base/gstbasetransform.h:
497         Add support for dropping buffers with custom GstFlowReturn.
498         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
499         buffers or dropped buffers.
500
501         * docs/libs/gstreamer-libs-sections.txt:
502         docs for new custom return code.
503
504         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
505         Use drop support in base class to implement drop-probability.
506
507 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
508
509         * gst/gst.c: (load_plugin_func):
510         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
511         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
512         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
513           Remove newlines at end of debug log strings.
514
515 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
516
517         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
518         Only post bus message at max, once per buffer received.
519
520 2007-03-07  Wim Taymans  <wim@fluendo.com>
521
522         * docs/design/Makefile.am:
523         * docs/design/part-synchronisation.txt:
524         Add doc about synchronisation
525
526         * docs/design/draft-latency.txt:
527         * docs/design/part-TODO.txt:
528         * docs/design/part-clocks.txt:
529         * docs/design/part-events.txt:
530         * docs/design/part-gstbus.txt:
531         * docs/design/part-gstpipeline.txt:
532         * docs/design/part-live-source.txt:
533         * docs/design/part-messages.txt:
534         * docs/design/part-overview.txt:
535         * docs/design/part-streams.txt:
536         * docs/design/part-trickmodes.txt:
537         Documentation updates.
538
539 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
540
541         * gstreamer.doap:
542         Update the doap file.
543
544 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
545
546         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
547         Rename non-perfect to imperfect for Mike and for the sanctity of the
548         language.
549         Also make sure bus message gets emitted for data-incontiguities.
550
551 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
552
553         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
554         (gst_identity_start):
555         * plugins/elements/gstidentity.h:
556         Emit bus message if check-perfect is true and we encounter a
557         non-perfect stream between 2 consecutive buffers.
558         Fixes #415394.
559
560 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
561
562         * configure.ac:
563         Back to CVS
564
565 === release 0.10.12 ===
566
567 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
568
569         * configure.ac:
570           releasing 0.10.12, "Inevitable Demise"
571
572 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
573
574         * configure.ac:
575          Version 0.10.11.2 (0.10.12 pre-release)
576          Bump libtool versioning.
577
578 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
579
580         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
581           Log flow-names and not numbers.
582
583 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
584
585         * configure.ac:
586           Convert to new AG_GST style.
587
588 2007-02-28  Wim Taymans  <wim@fluendo.com>
589
590         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
591         Don't unref query twice.
592
593 2007-02-28  Wim Taymans  <wim@fluendo.com>
594
595         * gst/gstvalue.c: (gst_value_transform_object_string),
596         (_gst_value_initialize):
597         Implement GstObject -> string transform so we print object names
598         when serializing GValues containing GstObjects.
599
600 2007-02-28  Wim Taymans  <wim@fluendo.com>
601
602         * docs/gst/gstreamer-sections.txt:
603         Add new stuff to docs.
604
605 2007-02-28  Wim Taymans  <wim@fluendo.com>
606
607         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
608         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
609         (gst_base_sink_change_state):
610         Improve latency query code.
611         Don't leak latency events.
612
613         * tests/check/gst/gstbin.c: (GST_START_TEST):
614         Improve debugging.
615
616 2007-02-28  Wim Taymans  <wim@fluendo.com>
617
618         * gst/gstelement.c: (gst_element_message_full),
619         (gst_element_get_state_func):
620         * gst/gstelement.h:
621         Improve docs a little. Added Since: for new macro.
622
623         * gst/gstobject.c: (gst_object_sink):
624         * gst/gstpipeline.c: (gst_pipeline_change_state),
625         (gst_pipeline_set_new_stream_time):
626         * gst/gstpipeline.h:
627         Improve debugging and docs.
628
629         * gst/gstutils.c: (gst_element_state_change_return_get_name):
630         Improve debugging.
631
632 2007-02-28  Wim Taymans  <wim@fluendo.com>
633
634         * gst/gstelement.c: (gst_element_message_full),
635         (gst_element_set_locked_state), (gst_element_get_state_func),
636         (gst_element_change_state):
637         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
638         Documentation updates.
639         Small code cleanups.
640
641         * gst/gstmessage.c: (gst_message_new_info),
642         (gst_message_parse_info):
643         * gst/gstmessage.h:
644         API: gst_message_new_info()
645         API: gst_message_parse_info()
646         Add INFO message create and parse code.
647
648 2007-02-28  Wim Taymans  <wim@fluendo.com>
649
650         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
651         (bin_query_latency_done):
652         Also report the live parameter of a latency query.
653
654 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
655
656         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
657           Copy the current generic/states example from -base and adapt so
658           we can use the exact same code everywhere.
659           Check a STATES_IGNORE_ELEMENTS env var which can be used
660           to ignore certain element factories for this test, which is
661           what is being done in -base
662         * tests/check/Makefile.am:
663           Mention this environment variable.
664
665 2007-02-27  Wim Taymans  <wim@fluendo.com>
666
667         * docs/gst/gstreamer-sections.txt:
668         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
669         (gst_bus_timed_pop), (gst_bus_pop):
670         * gst/gstbus.h:
671         API: gst_bus_timed_pop()
672         Implement gst_bus_timed_pop() to do a blocking timed wait for a
673         message to arrive on the bus.
674
675         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
676         (gst_bus_suite):
677         Two unit tests for new _timed_pop() function.
678
679 2007-02-23  Wim Taymans  <wim@fluendo.com>
680
681         * gst/gstpipeline.c: (gst_pipeline_change_state),
682         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
683         Don't ref a NULL clock in _provide_clock_func().
684         Don't allow an INVALID delay.
685         Don't try to calculate base_time with an invalid start_time.
686         Also distribute and notify a NULL clock when it was selected.
687
688         * tools/gst-launch.c: (event_loop):
689         Don't crash when a NULL clock was selected in the pipeline.
690
691 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
692
693         * docs/design/Makefile.am:
694         * docs/design/draft-missing-plugins.txt:
695         * docs/random/draft-missing-plugins.txt:
696           Some small updates: update plugin system identifier prefix
697           ('gstreamer.net' to 'gstreamer'), mention our new install
698           API in libgstbaseutils rather than libgimme-codec, add
699           reference to the online docs.
700
701 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
702
703         * win32/common/config.h:
704           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
705           use moap cl ci to only check in what is mentioned in the ChangeLog.
706
707 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
708
709         * docs/gst/gstreamer-sections.txt:
710         * gst/gstelement.h:
711           Fix up documentation to link to the correct GstGError section.
712           Add GST_ELEMENT_INFO macro since someone else added a Info message.
713
714 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
715
716         * tools/gst-launch.c: (event_loop):
717           Make sure that we actually show the important message part of a
718           warning message.
719           No need to check if the gerror is not NULL to free; first of all
720           g_free accepts NULL; and second the default error handler would
721           segfault if gerror was NULL.
722
723 2007-02-21  Wim Taymans  <wim@fluendo.com>
724
725         * docs/gst/gstreamer-sections.txt:
726         Removed docs as well.
727
728 2007-02-21  Wim Taymans  <wim@fluendo.com>
729
730         * gst/gstmessage.c: (gst_message_parse_duration):
731         * gst/gstmessage.h:
732         Remove new messages for release.
733
734 2007-02-20  Wim Taymans  <wim@fluendo.com>
735
736         * docs/design/part-gstghostpad.txt:
737         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
738         (gst_ghost_pad_new_full):
739         Make the ghostpad a parent of the internal pad again for better backward
740         compatibility. Don't write code that relies on this however.
741
742         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
743         (gst_pad_link_check_hierarchy):
744         Require that parents should be GstElements in the hierarchy check.
745
746 2007-02-20  Wim Taymans  <wim@fluendo.com>
747
748         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
749         (gst_bin_change_state_func), (bin_query_min_max_init),
750         (bin_query_latency_fold), (bin_query_latency_done),
751         (gst_bin_query):
752         Improve debug info.
753         Implement latency query.
754
755 2007-02-20  Wim Taymans  <wim@fluendo.com>
756
757         * docs/design/part-gstghostpad.txt:
758         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
759         (gst_ghost_pad_internal_do_activate_push),
760         (gst_ghost_pad_internal_do_activate_pull),
761         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
762         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
763         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
764         Do not set the internal pad as a parent anymore so we can avoid
765         hierarchy linking errors when the ghostpad has no parent yet. This also
766         fixes failed activation because of unlinked internal pads, which in
767         turn fixes the impossible case where you have to activate a pad before
768         you can add it to a running element.
769         Also fix the docs.
770
771         * gst/gstpad.c: (pre_activate), (post_activate),
772         (gst_pad_set_active), (gst_pad_activate_pull),
773         (gst_pad_activate_push), (gst_pad_check_pull_range):
774         Add some more debug info.
775         Mark activation mode in pre_activate so that we don't try to activate in
776         endless loops. Fixes #385084.
777
778 2007-02-19  Wim Taymans  <wim@fluendo.com>
779
780         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
781         (gst_base_transform_check_get_range):
782         Implement a checkgetrange function instead of relying on the default
783         core behaviour that assumes we can operate in pull mode if we have a
784         getrange function. First step at fixing #385084.
785
786 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
787
788         * gst/gstchildproxy.h:
789         * libs/gst/base/gstbasesink.h:
790         * libs/gst/base/gstbasesrc.h:
791         * libs/gst/base/gstbasetransform.h:
792         More docs coverage and some ChangeLog surgery (add missing names)
793
794 2007-02-15  Wim Taymans  <wim@fluendo.com>
795
796         * docs/design/part-TODO.txt:
797         * docs/design/part-activation.txt:
798         * docs/design/part-block.txt:
799         * docs/design/part-buffering.txt:
800         * docs/design/part-clocks.txt:
801         * docs/design/part-element-source.txt:
802         * docs/design/part-events.txt:
803         * docs/design/part-gstbin.txt:
804         * docs/design/part-gstbus.txt:
805         * docs/design/part-gstpipeline.txt:
806         * docs/design/part-live-source.txt:
807         * docs/design/part-messages.txt:
808         * docs/design/part-overview.txt:
809         * docs/design/part-qos.txt:
810         * docs/design/part-query.txt:
811         * docs/design/part-states.txt:
812         * docs/design/part-trickmodes.txt:
813         Some doc updates. Start renaming from stream_time to running_time where
814         it was used wrongly.
815
816 2007-02-15  Wim Taymans  <wim@fluendo.com>
817
818         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
819         Answer LATENCY query.
820
821 2007-02-15  Wim Taymans  <wim@fluendo.com>
822
823         * tests/check/gst/gstevent.c: (event_probe), (test_event),
824         (GST_START_TEST):
825         Improve debugging.
826
827 2007-02-15  Wim Taymans  <wim@fluendo.com>
828
829         * gst/gstpad.c: (gst_pad_get_internal_links_default),
830         (gst_pad_dispatcher):
831         Improve debugging of default pad dispatcher and query functions.
832
833 2007-02-15  Wim Taymans  <wim@fluendo.com>
834
835         * docs/gst/gstreamer-sections.txt:
836         Remove old unused method.
837
838 2007-02-13  Wim Taymans  <wim@fluendo.com>
839
840         * tests/check/gst/gstsegment.c: (GST_START_TEST):
841         Fix check
842
843 2007-02-13  Wim Taymans  <wim@fluendo.com>
844
845         * docs/design/part-seeking.txt:
846         Some small update.
847
848         * gst/gstsegment.c: (gst_segment_set_seek):
849         Revert old bogus change that should make seeking work again.
850
851 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
852
853         * docs/random/ensonic/dynlink.txt:
854         * docs/random/ensonic/interfaces.txt:
855         * docs/random/ensonic/receipies.txt:
856           Possible dynamic reconnection api, plus some type fixes the other two
857           docs.
858
859 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
860
861         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
862         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
863         Also check for an absolute path following file:// in the filesrc
864         element. Remove redundant check and call g_path_is_absolute() on the
865         unescaped location.
866
867 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
868
869         * docs/design/draft-klass.txt:
870           Add existing category analysis.
871           
872         * gst/gstcaps.c:
873           Fix doc example, framerate is a fraction.
874
875 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
876
877         * configure.ac:
878         * docs/gst/Makefile.am:
879         * docs/libs/Makefile.am:
880         * docs/plugins/Makefile.am:
881           Add crossreferences to glib/gobject docs.
882
883 2007-02-12  Wim Taymans  <wim@fluendo.com>
884
885         * docs/design/draft-latency.txt:
886         Small update.
887
888         * docs/libs/gstreamer-libs-sections.txt:
889         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
890         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
891         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
892         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
893         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
894         (gst_base_sink_get_position), (gst_base_sink_query),
895         (gst_base_sink_change_state):
896         * libs/gst/base/gstbasesink.h:
897         API: gst_base_sink_query_latency() to let subclasses query the upstream
898         latency.
899         API: gst_base_sink_get_latency() to let subclasses query the configured
900         latency in the sink.
901         Implement query and set latency.
902         Update some docs.
903         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
904         don't continue preroll when we are flushing. Fixes #405284.
905
906         * tests/check/pipelines/stress.c: (change_state_timeout),
907         (quit_timeout), (GST_START_TEST), (stress_suite):
908         Test for #405284.
909
910 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
911
912         Patch by: René Stadler <mail at renestadler de>
913
914         * docs/gst/gstreamer-sections.txt:
915         * gst/gsttaglist.c: (_gst_tag_initialize):
916         * gst/gsttaglist.h:
917           API: add GST_TAG_REFERENCE_LEVEL (#403597).
918
919 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
920
921         * docs/libs/Makefile.am:
922           Fix path to core docs.
923
924         * gst/gstbin.c: (gst_bin_get_by_interface),
925         (gst_bin_iterate_all_by_interface):
926           Refix docs by also renaming 'interface' to 'iface' in implementation.
927
928         * docs/gst/gstreamer-sections.txt:
929         * gst/gstcaps.c:
930         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
931         * gst/gstchildproxy.h:
932         * gst/gstelementfactory.c:
933         * gst/gstpadtemplate.h:
934         * libs/gst/controller/gstcontroller.c:
935         (gst_controlled_property_new):
936           Document more.
937
938 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
939
940         * gst/gstbin.h:(gst_bin_get_by_interface),
941         (gst_bin_iterate_all_by_interface):
942         Replace interface parameter name by iface as interface is 
943         a reserved keyword in Visual Studio for C++ projects so it removes
944         a build error for application developpers using VS.
945         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
946         Fix a bug on Windows in uri format check. Now the prefix checked
947         is file:// and next we check if the path after file:// is absolute.
948         * win32/common/libgstbase.def:
949         * win32/common/libgstdataprotocol.def:
950         * win32/common/libgstgstreamer.def:
951         Add new exported functions.
952
953 2007-02-09  Andy Wingo  <wingo@pobox.com>
954
955         * tests/check/pipelines/simple-launch-lines.c
956         (simple_launch_lines_suite, test_tee): Disable tee test until I
957         have time to fix it :-(
958
959         * tests/check/Makefile.am (noinst_HEADERS): 
960         * tests/check/libs/libsabi.c: 
961         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
962         * tests/check/gst/gstabi.c: 
963         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
964
965         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
966         tests for push and pull tee behavior.
967
968         * plugins/elements/gsttee.h: 
969         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
970         mark as deprecated as well as unimplemented. It was a crack idea.
971         Add support for tee operating in pull mode, off by default.
972
973         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
974         normal-case logs down to LOG, raise errors to WARNING.
975         (gst_registry_xml_read_cache): Don't log before calling a function
976         that logs.
977
978         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
979         exit (registry finalize).
980         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
981         DEBUG log when we emit signals that people don't even have the
982         chance to connect to.
983         (gst_registry_scan_path_level): Less logging in the normal case.
984
985 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
986
987         Patch by: Michal Benes <michal dot benes at itonis dot tv>
988
989         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
990         Correctly generate EOS for non-seekable files. We don't have a total
991         length for them and would get an unexpected end of file if we only
992         special-cased for regular files. (Fixes: #404569)
993
994 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
995
996         * tests/check/elements/filesrc.c: (GST_START_TEST),
997         (filesrc_suite):
998         Add unit test for the GstURIHandler interface in filesrc. This also
999         tests the newly added file://localhost/foo/bar support.
1000
1001 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
1002
1003         * gst/gstelementfactory.h:
1004           The klass string is not a hierarchy. Add reference to the design doc
1005           for more information and common types.
1006
1007 2007-02-02  Wim Taymans  <wim@fluendo.com>
1008
1009         * gst/gstquery.c: (gst_query_new_latency):
1010         Remove old structure field.
1011
1012 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
1013
1014         * tools/gst-launch.1.in:
1015           Give example for network streaming (#351998)
1016
1017 2007-02-02  Wim Taymans  <wim@fluendo.com>
1018
1019         * docs/gst/gstreamer-sections.txt:
1020         Add docs for new methods.
1021
1022         * gst/gstevent.c: (gst_event_new_latency),
1023         (gst_event_parse_latency):
1024         * gst/gstevent.h:
1025         Add new LATENCY event to configure latency in a pipeline.
1026         API: gst_event_new_latency
1027         API: gst_event_parse_latency
1028
1029         * gst/gstmessage.c: (gst_message_new_buffering),
1030         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
1031         (gst_message_new_latency), (gst_message_parse_buffering),
1032         (gst_message_parse_lost_preroll):
1033         * gst/gstmessage.h:
1034         Added messages used in draft-latency.
1035         API: gst_message_new_lost_preroll
1036         API: gst_message_parse_lost_preroll
1037         API: gst_message_new_prerolled
1038         API: gst_message_new_latency
1039
1040         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
1041         (gst_query_parse_latency):
1042         * gst/gstquery.h:
1043         Implemented new latency query as in design doc.
1044         API: gst_query_new_latency
1045         API: gst_query_set_latency
1046         API: gst_query_parse_latency
1047
1048 2007-02-02  Wim Taymans  <wim@fluendo.com>
1049
1050         * docs/design/draft-latency.txt:
1051         Slight redesign to allow for dynamic latency adjustments.
1052
1053         * docs/design/part-negotiation.txt:
1054         Fix some typos.
1055
1056 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
1057
1058         reviewed by: Wim Taymans <wim@fluendo.com>
1059
1060         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
1061         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
1062         Allow file://localhost/foo/bar URLs and correctly fail for every other
1063         hostname that one sets. This was gnomevfssrc is linked for those if
1064         installed as it can handle it (#403172)
1065
1066 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
1067
1068         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
1069
1070         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
1071         (unref_data), (gst_collect_pads_add_pad_full):
1072         * libs/gst/base/gstcollectpads.h:
1073         Don't put the previously added destroy notify in the GstCollectData
1074         struct as all it's padding is already used and we don't want to break
1075         ABI. Instead put in the pad's GObject data for now. This should be
1076         cleaned up for 0.11 (#402393).
1077
1078 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
1079
1080         reviewed by: Wim Taymans <wim@fluendo.com>
1081
1082         * docs/libs/gstreamer-libs-sections.txt:
1083         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
1084         (unref_data), (gst_collect_pads_add_pad),
1085         (gst_collect_pads_add_pad_full):
1086         * libs/gst/base/gstcollectpads.h:
1087         API: Add function to specify a destroy notification for custom
1088         GstCollectData when adding new pads in GstCollectPads (#402393).
1089
1090 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
1091
1092         * po/sv.po:
1093           Update Swedish translation (#378255).
1094
1095 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
1096
1097         * docs/design/draft-klass.txt:
1098           Fix the previous change, this is a list of categories and not a hierarchy.
1099
1100 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
1101
1102         * docs/design/draft-klass.txt:
1103           Add info about how to get a list of used classes.
1104
1105 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
1106
1107         * plugins/elements/gsttypefindelement.c:
1108         (gst_type_find_element_chain_do_typefinding),
1109         (gst_type_find_element_change_state):
1110           Don't leak found caps in chain function (no idea why that never
1111           showed up as a leak anywhere).
1112
1113 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
1114
1115         * gst/gstplugin.h:
1116           Fix and expand GstPluginDesc API docs.
1117
1118 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
1119
1120         * gst/gstcaps.c:
1121         * gst/gstelementfactory.c:
1122         * gst/gstpadtemplate.h:
1123           api doc fixes
1124
1125         * libs/gst/controller/gstcontroller.c:
1126         (gst_controlled_property_new):
1127         * tests/examples/controller/audio-example.c:
1128           comment fixes
1129
1130 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
1131
1132         * configure.ac:
1133           comment about refining the xml deps
1134
1135         * docs/manuals.mak:
1136           comments about moving away from jade for docs
1137         
1138         * gst/gst.c:
1139           recommit the ifdefs to use the binary registry
1140         
1141         * gst/gstbin.c: (gst_bin_change_state_func):
1142           this break is obsolete
1143
1144         * gst/gstelementfactory.h:
1145           better GST_ELEMENT_DETAILS docs, add comment about translation
1146
1147         * gst/gstinfo.h:
1148           remove eol slash
1149
1150         * gst/gstobject.c: (gst_signal_object_get_type):
1151           add G_UNLIKELY as usual
1152
1153         * gst/gstpad.c: (gst_pad_event_default):
1154           add fall trhu comment
1155
1156         * gst/gstregistrybinary.c: (gst_registry_binary_write),
1157         (gst_registry_binary_initialize_magic),
1158         (gst_registry_binary_save_string),
1159         (gst_registry_binary_save_pad_template),
1160         (gst_registry_binary_save_feature),
1161         (gst_registry_binary_save_plugin),
1162         (gst_registry_binary_write_cache),
1163         (gst_registry_binary_check_magic),
1164         (gst_registry_binary_load_pad_template),
1165         (gst_registry_binary_load_feature),
1166         (gst_registry_binary_load_plugin),
1167         (gst_registry_binary_read_cache):
1168           comment typo and formatting
1169
1170         * gst/gstutils.c: (gst_element_state_get_name),
1171         (gst_element_state_change_return_get_name):
1172           remove obsolete breaks
1173
1174         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
1175           add FIXME 0.11 and remove cpp comment
1176
1177 2007-01-29  Edward Hervey  <edward@fluendo.com>
1178
1179         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
1180         Fix print statement in an even more portable way.
1181
1182 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
1183
1184         * docs/gst/gstreamer-sections.txt:
1185         * gst/gstutils.h:
1186           API: add GST_ROUND_DOWN_* macros (#401781).
1187
1188 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
1189
1190         * docs/gst/gstreamer.types.in:
1191         * gst/gstregistry.c: (gst_registry_class_init):
1192           Document registry signals and make gtk-doc pick them up (#401381).
1193
1194 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
1195
1196         * docs/pwg/building-testapp.xml:
1197           Add some audioconverts and audioresample to the pipeline, and some
1198           more comments and error handling.
1199
1200 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
1201
1202         * docs/manual/manual.xml:
1203         * docs/pwg/pwg.xml:
1204           Fix typo (#400987).
1205
1206 2007-01-26  Wim Taymans  <wim@fluendo.com>
1207
1208         * gst/gstcaps.c: (gst_static_caps_get):
1209         Init caps flags too.
1210
1211 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
1212
1213         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
1214
1215         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
1216         If not using mmap'ed files try to seek to the end instead of the
1217         start to determine whether we can seek at all. This fixes the case
1218         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
1219         seeks for everything afterwards fail. Fixes #400656
1220
1221 2007-01-25  Wim Taymans  <wim@fluendo.com>
1222
1223         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
1224         Add some refcount debugging.
1225         Make gst_static_caps_get threadsafe, which is needed when autoplugging
1226         in multiple streaming threads.
1227
1228 2007-01-25  Wim Taymans  <wim@fluendo.com>
1229
1230         Patch by: David Schleef <ds at schleef dot org>
1231
1232         * docs/libs/gstreamer-libs-sections.txt:
1233         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
1234         * libs/gst/base/gstadapter.h:
1235         API: gst_adapter_copy() that can reduce the amount of memcpy when
1236         getting data from the adapter. Fixes #388201.
1237
1238 2007-01-25  Edward Hervey  <edward@fluendo.com>
1239
1240         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
1241         In print statements, "%x" is for guint. Fixes build on macosx.
1242
1243 2007-01-24  Edward Hervey  <edward@fluendo.com>
1244
1245         * plugins/elements/gstmultiqueue.c:
1246         (gst_multi_queue_loop):
1247         Small fix.
1248         (single_queue_overrun_cb), (single_queue_underrun_cb),
1249         (single_queue_check_full), (gst_single_queue_new):
1250         Implement single queue growth system.
1251         This uses the extra-size properties, and will grow single queues by
1252         that much if one goes full whereas there are others empty. This is
1253         called extra-mode in the code.
1254         When a single queue's levels go back below the initial max-size
1255         limits, it is no longer in extra-mode. This is to ensure we don't
1256         consume too much memory.
1257         Fixes #399875
1258
1259 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
1260
1261         * gst/gst.c: (gst_init_get_option_group):
1262           Make warning about late g_thread_init() calls a bit more explicit,
1263           so that it's more obvious to application developers what they need
1264           to do if a user files a bug against their application.
1265
1266 2007-01-22  Edward Hervey  <edward@fluendo.com>
1267
1268         * plugins/elements/gstmultiqueue.c:
1269         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
1270         Remove previous hack of unsetting the flushing flag for the source pad
1271         instead of activating it. Instead, fix the source pad activate function
1272         so that it no longer depends on having a parent set or not.
1273
1274 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
1275
1276         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
1277
1278         * docs/manual/basics-bus.xml:
1279           Fix example code, gst_element_unref() doesn't exist any longer.
1280
1281 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
1282
1283         Patch by: Mark Nauwelaerts <manauw at skynet be>
1284
1285         * gst/gstpad.c:
1286           Fix two docs typoes (#399094).
1287
1288 2007-01-19  Edward Hervey  <edward@fluendo.com>
1289
1290         * docs/faq/gst-uninstalled:
1291         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
1292         depending on libgstbaseutils can work in uninstalled environment.
1293
1294 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
1295
1296         * gst/gsttaglist.h:
1297         * gst/gsttagsetter.c:
1298         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
1299         statement for new tag.
1300
1301 2007-01-17  Edward Hervey  <edward@fluendo.com>
1302
1303         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
1304         When dynamically creating single queues, activate sinkpad before adding
1305         it.
1306         We should be doing the same thing for the source pad, but we can't
1307         since it would call a method which needs the parent to be set in order
1308         to work propertly. Instead of activating the source pad, we just unset
1309         the flushing flag, which is the minimal requirement for adding a pad
1310         to an element in a state greater than READY.
1311
1312 2007-01-17  Edward Hervey  <edward@fluendo.com>
1313
1314         * docs/faq/gst-uninstalled:
1315         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
1316         Mac OS X.
1317
1318 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
1319
1320         * tests/check/gst/gstabi.c:
1321         * tests/check/gst/struct_hppa.h:
1322         * tests/check/libs/libsabi.c:
1323         * tests/check/libs/struct_hppa.h:
1324           Add ABI structs for HPPA (see #393796).
1325
1326 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
1327
1328         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
1329           Actually write ABI structs to the file specified in the GST_ABI
1330           environment variable, as the message we print claims we would.
1331
1332 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
1333
1334         * tests/check/gst/gsttask.c:
1335           Fix header comment.
1336
1337 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
1338
1339         * gst/gsttaglist.c: (_gst_tag_initialize):
1340           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
1341           previous two entries.
1342
1343 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
1344
1345         * docs/gst/gstreamer-sections.txt:
1346         * gst/gsttaglist.c: (_gst_tag_initialize):
1347         * gst/gsttaglist.h:
1348           Add tag support for beat-per-minute.
1349
1350 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
1351
1352         * gst/gstregistrybinary.c: (gst_registry_binary_write),
1353         (gst_registry_binary_initialize_magic),
1354         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
1355         (gst_registry_binary_save_pad_template),
1356         (gst_registry_binary_save_feature),
1357         (gst_registry_binary_save_plugin),
1358         (gst_registry_binary_write_cache),
1359         (gst_registry_binary_check_magic),
1360         (gst_registry_binary_load_pad_template),
1361         (gst_registry_binary_load_feature),
1362         (gst_registry_binary_load_plugin),
1363         (gst_registry_binary_read_cache):
1364         * gst/gstregistrybinary.h:
1365           Use glib types, cleanup comments, impement interfaces and uri-types.
1366
1367 2007-01-13  Andy Wingo  <wingo@pobox.com>
1368
1369         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
1370         getrange() to return buffers with other caps, while we fix
1371         demuxers and typefind, or otherwise change part-negotiation.txt.
1372
1373 2007-01-12  Andy Wingo  <wingo@pobox.com>
1374
1375         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
1376         Factor start/stop into this private function instead of partially
1377         in activate functions and partially in the change_state function.
1378         Fixes setup before the element has changed from READY->PAUSED, as
1379         is the case in pull-mode pipelines.
1380         (gst_base_transform_sink_activate_push)
1381         (gst_base_transform_src_activate_pull): Refactor to use
1382         gst_base_transform_activate().
1383         (gst_base_transform_change_state): Removed, not needed any more.
1384
1385         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
1386         Truncate before fixating.
1387         
1388         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
1389         Don't set_caps() if the result of fixating is ANY, as it's not
1390         supported, and not necessary in the case of a link with no
1391         template caps on either side. Fixes tests/check/libs/basesrc in
1392         some pull-mode tests.
1393
1394         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
1395         (gst_base_transform_init, gst_base_transform_sink_activate_push)
1396         (gst_base_transform_src_activate_pull): 
1397         Track the activation mode.
1398         (gst_base_transform_setcaps): In pull mode, when activating the
1399         src pad, after activating the sink pad, activate the sink pad's
1400         peer, as discussed in part-negotiation.txt.
1401
1402         * libs/gst/base/gstbasesrc.h: 
1403         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
1404         vmethod, as in basesink.
1405
1406         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
1407
1408         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
1409         mode, first proxy the setcaps to the peer pad.
1410         (gst_base_sink_pad_fixate): Add a fixate function that calls the
1411         new fixate vmethod.
1412         (gst_base_sink_default_activate_pull): Rename from
1413         gst_base_sink_activate_pull.
1414         (gst_base_sink_negotiate_pull): New function, performs negotiation
1415         in pull mode before calling ::activate_pull().
1416         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
1417         vmethod instead of the default implementation. I have no idea how
1418         this worked before. Negotiate before calling activate_pull.
1419
1420         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
1421         sink pads in pull mode. In addition to being correct, fixes
1422         filesrc ! decodebin ! identity ! fakesink.
1423         (gst_pad_get_range, gst_pad_pull_range): Don't call
1424         gst_pad_set_caps() if the caps changes; instead error out with
1425         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
1426
1427 2007-01-12  Andy Wingo  <wingo@pobox.com>
1428
1429         * docs/design/part-negotiation.txt: Update with more policy.
1430
1431 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
1432
1433         * libs/gst/check/gstbufferstraw.h:
1434         * libs/gst/check/gstcheck.h:
1435           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
1436           belongs.
1437
1438 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
1439
1440         * tests/check/Makefile.am:
1441         * tests/check/gst/.cvsignore:
1442         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
1443         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
1444         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
1445         (GST_START_TEST), (gst_tag_setter_suite):
1446           Add minimal unit test for beforementioned GstTagSetter bug.
1447
1448 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
1449
1450         Patch by: René Stadler <mail at renestadler dot de>
1451
1452         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
1453           gst_tag_list_merge() returns a new list, so it's not the best idea
1454           to ingore its return value. Effectively meant that tags could only
1455           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
1456           Also add function guard to require a non-NULL taglist as input (has
1457           always been so due to gst_tag_list_copy(), just making it explicit).
1458
1459 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
1460
1461         * docs/random/draft-missing-plugins.txt:
1462           Some additions: mention new API that is supposed to be used at the
1463           various stages; short blob about new gst-inspect introspection
1464           option; mention potential future problem with plugins that have
1465           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
1466
1467 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
1468
1469         * tools/gst-inspect.c:
1470         (print_plugin_automatic_install_info_codecs),
1471         (print_plugin_automatic_install_info_protocols),
1472         (print_plugin_automatic_install_info), (main):
1473         Add --print-plugin-auto-install-info option to gst-inspect, so we can
1474         introspect plugin files and get machine-parsable output that corresponds
1475         to the last bit of the missing-plugin installer string (small gotcha:
1476         doesn't take into account ranks).
1477
1478 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
1479
1480         * configure.ac:
1481         * docs/gst/gstreamer-sections.txt:
1482         * gst/Makefile.am:
1483         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
1484         (gst_registry_lookup_locked):
1485         * gst/gstregistry.h:
1486         * gst/gstregistrybinary.c: (gst_registry_binary_write),
1487         (gst_registry_binary_initialize_magic),
1488         (gst_registry_binary_save_string),
1489         (gst_registry_binary_save_pad_template),
1490         (gst_registry_binary_save_feature),
1491         (gst_registry_binary_save_plugin),
1492         (gst_registry_binary_write_cache),
1493         (gst_registry_binary_check_magic),
1494         (gst_registry_binary_load_pad_template),
1495         (gst_registry_binary_load_feature),
1496         (gst_registry_binary_load_plugin),
1497         (gst_registry_binary_read_cache):
1498         * gst/gstregistrybinary.h:
1499         * gst/gstregistryxml.c: (load_feature),
1500         (gst_registry_xml_read_cache):
1501           commit binary registry (disabled by default, see #359653)
1502
1503 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
1504
1505         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
1506           Fix 'make check' too.
1507
1508 2007-01-10  Andy Wingo  <wingo@pobox.com>
1509
1510         * docs/design/part-negotiation.txt: Fix a typo, add a couple
1511         notes.
1512         
1513         * docs/design/part-negotiation.txt: Update with, um, one way that
1514         pull-mode negotiation might work?
1515
1516         * gst/gstpad.h: 
1517         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
1518         that the pad must be a src pad; makes sense to call it the other
1519         way in pull mode, and the logic is symmetric anyway.
1520
1521 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
1522
1523         * plugins/elements/gstfilesink.c:
1524           Include <stdio.h> for fseeko().
1525
1526 2007-01-10  Wim Taymans  <wim@fluendo.com>
1527
1528         * gst/gstevent.c:
1529         * gst/gstevent.h:
1530         Reserve LATENCY event.
1531
1532 2007-01-09  Wim Taymans  <wim@fluendo.com>
1533
1534         * docs/design/draft-latency.txt:
1535         Updates.
1536
1537 2007-01-09  Wim Taymans  <wim@fluendo.com>
1538
1539         * docs/design/draft-latency.txt:
1540         Updates.
1541
1542         * gst/gstelement.h:
1543         * gst/gststructure.c:
1544         * gst/gsttrace.c:
1545         Small typo fixes.
1546
1547 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
1548
1549         * tests/check/.cvsignore:
1550           Ignore test-registry.xml as well.
1551
1552 2007-01-09  Wim Taymans  <wim@fluendo.com>
1553
1554         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
1555         unref data at the end when we are done with the pad.
1556
1557 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
1558
1559         * docs/gst/gstreamer-sections.txt:
1560         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
1561         (init_post), (gst_deinit), (gst_update_registry):
1562         * gst/gst.h:
1563           API: add gst_update_registry() (#391296).
1564
1565         * tests/check/Makefile.am:
1566         * tests/check/gst/gstregistry.c:
1567         * tests/check/gst/.cvsignore:
1568           Simple unit test for the above.
1569
1570 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
1571
1572         * gst/gstregistry.c: (gst_registry_scan_path_level):
1573           Plugin extension on HP-UX is .sl, add that to the list of approved
1574           plugin extensions (see #393796).
1575
1576         * tests/check/gst/gstpad.c: (GST_START_TEST):
1577           ulong => gulong. Fixes compilation with HP-UX compiler.
1578
1579         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
1580           Fix compilation if valgrind headers are not available.
1581
1582 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
1583
1584         * win32/common/libgstreamer.def: 
1585           Add new exported function.
1586         * win32/vs6/libgstbase.dsp: 
1587           Add gstdataqueue.c to the build.
1588         * win32/vs6/libgstcoreelements.dsp:
1589           Add gstmultiqueue.c to the build.
1590         
1591 2007-01-06  Andy Wingo  <wingo@pobox.com>
1592
1593         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
1594         activate_pull(), providing for a way to specialize the process of
1595         spawning a thread to pull on the sink pad. There is a default
1596         implementation.
1597
1598         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
1599         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
1600         (gst_base_sink_init): Renamed pad activation functions (inserting
1601         "_pad" in their names). Refactor to use the new activate_pull
1602         vmethod, as appropriate.
1603         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
1604         default activate_pull function to start a task pulling from the
1605         sink pad, as before.
1606
1607         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
1608         on the pads if necessary, as in push()/chain(). Update docs.
1609         Shouldn't affect existing pull() usage as it is currently only
1610         being used on buffers without caps.
1611
1612 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
1613
1614         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
1615         (init_pre):
1616           Call g_thread_init() first thing in gst_init() / gst_check_init().
1617           When initialisation is done via gst_init_get_option_group() and
1618           GOption parsing, issue a warning if the GLib thread system has not
1619           been initialised yet by the time gst_init_get_option_group() is
1620           called, as it's quite likely other GLib functions such as
1621           g_option_context_new() have been called already then, and
1622           g_thread_init() must be called before any other GLib function. The
1623           application in question must be fixed in that case, since memory
1624           corruption might happen otherwise.
1625           We issue the warning because even if the GLib folks decide to work
1626           around the problem on their end in future, this is still an issue
1627           with all GLib versions >= 2.10.0, so we should warn until we depend
1628           on a GLib version we know to be safe.
1629           Update documentation as well.
1630           Closes bug #391278.
1631
1632 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
1633
1634         * tools/gst-inspect.c: (main):
1635         * tools/gst-launch.c: (main):
1636         * tools/gst-typefind.c: (main):
1637         * tools/gst-xmlinspect.c: (main):
1638           Call g_thread_init() really really early, before any other GLib
1639           function (see #342564 and recent discussion on gtk-devel-list).
1640
1641 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
1642
1643         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
1644
1645         * gst/gst_private.h:
1646         * gst/gstconfig.h.in:
1647         * gst/gstinfo.h:
1648           On win32, all the __declspec stuff for symbol exporting is
1649           apparently only needed with MSVC, but doesn't work with MingW.
1650           Fixes compilation with MingW and #391909.
1651
1652 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
1653
1654         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
1655           Change some GST_ERROR_OBJECT that aren't really errors to
1656           GST_WARNING_OBJECT in order to reduce terminal spam.
1657
1658 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
1659
1660         * tests/check/Makefile.am:
1661           disable test again, as there seem to be still race problems
1662
1663 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
1664
1665         * tests/check/Makefile.am:
1666         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
1667         (GST_START_TEST), (queue_suite):
1668           enable queue test again, add tests for the leaky behaviour
1669
1670 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
1671
1672         * configure.ac:
1673         * tests/examples/Makefile.am:
1674           Compile adapter test/example only if the required headers are
1675           available (fixes #391915).
1676
1677 2007-01-01  David Schleef  <ds@schleef.org>
1678
1679         * gst/gstplugin.c:
1680           Restore the previous signal handler for SIGSEGV instead of
1681           setting to default, since we may have stolen it away from
1682           someone.  (i.e., Mono)
1683
1684 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
1685
1686         * docs/random/draft-missing-plugins.txt:
1687           Some small additions and clarifications.
1688
1689 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
1690
1691         * gst/gstregistryxml.c: (gst_registry_save_escaped):
1692           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
1693           since that can lead to random memory corruptions and crashes
1694           (may or may not be related to #383244, #386711, and #386711).
1695
1696 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
1697
1698         * tests/check/.cvsignore:
1699         * tests/check/Makefile.am:
1700           sync .cvsignome and CLEANFILES
1701
1702 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
1703
1704         * tests/check/Makefile.am:
1705           fix distcheck
1706
1707 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
1708
1709         * docs/design/part-states.txt:
1710           two tiny additional comments
1711         
1712         * gst/gststructure.c:
1713           doc fixing
1714
1715         * tests/check/Makefile.am:
1716         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
1717         (GST_START_TEST):
1718           disable test for now, unless it gets fixed
1719
1720 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
1721
1722         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
1723         (GST_START_TEST):
1724           fix race in underrun test
1725
1726 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
1727
1728         * tests/check/elements/.cvsignore:
1729           ignore more
1730
1731         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
1732         (GST_START_TEST):
1733           try to narrow test failure
1734
1735 2006-12-21  David Schleef  <ds@schleef.org>
1736
1737         * plugins/elements/gstfakesrc.c:
1738           Use g_random_int_range(), since it produces better random
1739           numbers in a range than almost-correct floating point code.
1740
1741 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
1742
1743         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
1744         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
1745         (gst_check_teardown_sink_pad):
1746           do not automatically (de)activate pads
1747
1748         * tests/check/Makefile.am:
1749         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
1750         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
1751           add new, yet simple tests for queue
1752
1753         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
1754         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
1755         * tests/check/elements/filesrc.c: (cleanup_filesrc),
1756         (GST_START_TEST):
1757         * tests/check/elements/identity.c: (cleanup_identity):
1758           consistent pad (de)activation
1759
1760 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
1761
1762         Patch by: Sebastian Dröge  <slomo ubuntu com>
1763
1764         * libs/gst/base/gstcollectpads.c:
1765           Fix two doc typos (#387866).
1766
1767 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
1768
1769         * docs/manual/advanced-dparams.xml:
1770           Fix typo (g_object_control_properties() doesn't exist).
1771
1772 2006-12-19  Edward Hervey  <edward@fluendo.com>
1773
1774         * gst/gstsegment.c: (gst_segment_set_seek):
1775         Fine tune the cases where the segment start/stop values are really
1776         updated.
1777         * tests/check/gst/gstsegment.c: (GST_START_TEST):
1778         Add tests for the return values of gst_segment_set_seek().
1779
1780 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
1781
1782         * gst/gst.c:
1783           Docs typo fix.
1784
1785         * plugins/elements/gstqueue.c: (gst_queue_class_init),
1786         (gst_queue_init):
1787           Fix incorrect documentation and flesh it out a bit more.
1788           Set default values for the max properties on the GParamSpec as well,
1789           so it shows up correctly in gst-inspect.
1790
1791 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
1792
1793         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
1794           Correct docs of queue, add more detail and crosslink it more.
1795
1796 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
1797
1798         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
1799           Print additional debug info when the stream isn't perfectly
1800           timestamped; don't try to use invalid durations.
1801
1802 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
1803
1804         * docs/design/Makefile.am:
1805           Dist new design docs.
1806
1807 2006-12-16  Wim Taymans  <wim@fluendo.com>
1808
1809         Patch by: Sjoerd Simons <sjoerd at luon dot net>
1810
1811         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
1812         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
1813         (gst_collect_pads_stop), (gst_collect_pads_event),
1814         (gst_collect_pads_chain):
1815         * libs/gst/base/gstcollectpads.h:
1816         Add refcounting to the collectpads data so we can track when it's safe
1817         to free the data. Fixes #383382.
1818
1819 2006-12-15  Wim Taymans  <wim@fluendo.com>
1820
1821         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
1822         (gst_collect_pads_remove_pad):
1823         Automatically activate/deactivate pads when they are added to a
1824         started/stoped collectpads.
1825
1826 2006-12-15  Wim Taymans  <wim@fluendo.com>
1827
1828         * gst/gstelement.c: (gst_element_add_pad):
1829         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
1830         * gst/gstpad.c: (gst_pad_init):
1831         Set pads to FLUSHING when they are created. Check, warn and fix when a
1832         demuxer adds an inactive pad to itself when running. Fixes #339326.
1833
1834 2006-12-15  Wim Taymans  <wim@fluendo.com>
1835
1836         * gst/gstelement.c: (gst_element_class_init),
1837         (gst_element_default_send_event), (gst_element_send_event),
1838         (gst_element_default_query), (gst_element_query):
1839         Expose default element send_event and query handling as vmethods that
1840         subclasses can chain up to.
1841
1842 2006-12-15  Wim Taymans  <wim@fluendo.com>
1843
1844         * gst/gstelement.c: (gst_element_set_state_func):
1845         Small documentation fixes.
1846
1847 2006-12-15  Wim Taymans  <wim@fluendo.com>
1848
1849         * docs/design/draft-latency.txt:
1850         Checked in draft for handling latency in pipelines.
1851
1852 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
1853
1854         * Makefile.am:
1855         * gstreamer.doap:
1856         * gstreamer.spec.in:
1857           adding .doap file
1858
1859 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
1860
1861         * gst/gst.c: (init_pre), (init_post):
1862           init_pre() and init_post() might be called via our GOptionGroup or
1863           from gst_init(), and we should skip both of them if we've already
1864           been initialised, otherwise we will init some things twice or add
1865           two default log functions.
1866
1867 2006-12-13  Edward Hervey  <edward@fluendo.com>
1868
1869         * docs/manual/basics-bus.xml:
1870         No, gst_main_loop does not exist. Its g_main_loop.
1871         Discovered by somebody who abused the copy-paste technique of coding :)
1872
1873 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
1874
1875         * gst/gstghostpad.c:
1876           Log ghostpad debug stuff to the GST_PADS category as well rather
1877           than just to the default category.
1878
1879 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
1880
1881         * configure.ac:
1882         * gst/gst.c: (init_pre):
1883           Add some basic system details such as OS and architecture
1884           to the debug output if possible, courtesy of uname().
1885
1886 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
1887
1888         * docs/gst/running.xml:
1889           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
1890           environment variables.
1891
1892 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
1893
1894         * tests/check/gst/gstbin.c: (GST_START_TEST):
1895         It is acceptable to have a refcount of 2 or 3 at this point in the
1896         test, because the pipeline might be just posting its state_change
1897         message. The next line then waits for that message to appear using
1898         bus_poll, so that should be fine too.
1899
1900 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
1901
1902         * gst/gst.c: (ensure_current_registry_forking):
1903         Ignore EINTR when reading from the child registry pipe.
1904         Explicitly ignore the return value from close, since it makes no
1905         difference.
1906
1907         * gst/gstminiobject.c: (gst_mini_object_ref),
1908         (gst_mini_object_unref):
1909         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
1910
1911         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
1912         When removing cached plugins, remove their features too, so they're
1913         not visible after they've disappeared.
1914
1915         * gst/gstutils.c: (prepare_link_maybe_ghosting):
1916         In the unlikely case that we are linking pads with no parents, don't
1917         crash trying to get the non-existent parent bin.
1918
1919         * gst/parse/grammar.y:
1920         Output debug in the PIPELINE category
1921
1922 2005-03-08  Wim Taymans  <wim@fluendo.com>
1923
1924         Patch by: René Stadler <mail at renestadler dot de>
1925
1926         * gst/gstclock.c: (gst_clock_new_periodic_id):
1927         Reject invalid clock times for interval of periodic ids.
1928         Fixes ##383506.
1929
1930 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
1931
1932         * gst/gstelementfactory.c: (gst_element_factory_create):
1933         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1934         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
1935         * tools/gst-inspect.c: (print_element_info):
1936         Fix refcounting of gst_plugin_feature_load to match the docs. 
1937         Fixes: #380129
1938
1939 2006-12-07  Wim Taymans  <wim@fluendo.com>
1940
1941         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
1942         (gst_base_sink_get_position):
1943         Improve debugging of events.
1944
1945 2006-12-07  Wim Taymans  <wim@fluendo.com>
1946
1947         Patch by: René Stadler <mail at renestadler dot de>
1948
1949         * gst/gstclock.c: (gst_clock_id_wait):
1950         Make period ids add the interval to the origial requested time instead
1951         of the possibly updated time which can be wrong when there are multiple
1952         waiters for the same id. Fixes #382592.
1953
1954         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
1955         (gst_system_clock_id_wait_jitter_unlocked),
1956         (gst_system_clock_id_wait_jitter):
1957         Fix restart in the async notify thread when an async entry is added to
1958         the front of the list. Fixes #381492. 
1959
1960         * tests/check/gst/gstsystemclock.c: (store_callback),
1961         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
1962         Added test for multiple async waits.
1963         Added test for async wait order.
1964
1965 2006-12-07  Wim Taymans  <wim@fluendo.com>
1966
1967         * gst/gstbin.c: (gst_bin_query):
1968         Add some more docs about the POSITION query.
1969
1970 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
1971
1972         * configure.ac:
1973         Bump version nano - back to CVS.
1974
1975 === release 0.10.11 ===
1976
1977 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
1978
1979         * configure.ac:
1980           releasing 0.10.11, "Love never runs on time"
1981
1982 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
1983
1984         * win32/common/libgstbase.def:
1985         * win32/common/libgstreamer.def:
1986         * win32/vs8/libgstbase.vcproj:
1987         * win32/vs8/libgstcoreelements.vcproj:
1988         * win32/vs8/libgstreamer.vcproj:
1989         Fix compilation on win32 under VS8
1990         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
1991         Partially fixes #381175
1992
1993 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
1994
1995         * gst/gstvalue.c: (gst_value_compare_fraction):
1996         If someone is foolish enough to compare 2 fractions with denominator =
1997         0, return UNORDERED rather than aborting.
1998
1999 2006-11-28  Edward Hervey  <edward@fluendo.com>
2000
2001         * libs/gst/base/Makefile.am:
2002         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
2003         (gst_data_queue_base_init), (gst_data_queue_class_init),
2004         (gst_data_queue_init), (gst_data_queue_new),
2005         (gst_data_queue_cleanup), (gst_data_queue_finalize),
2006         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
2007         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
2008         (gst_data_queue_is_empty), (gst_data_queue_is_full),
2009         (gst_data_queue_set_flushing), (gst_data_queue_push),
2010         (gst_data_queue_pop), (gst_data_queue_drop_head),
2011         (gst_data_queue_set_property), (gst_data_queue_get_property):
2012         * libs/gst/base/gstdataqueue.h:
2013         New GstDataQueue object for threadsafe queueing. Most useful for
2014         elements that need some queueing functionnality.
2015         * docs/libs/gstreamer-libs-docs.sgml:
2016         * docs/libs/gstreamer-libs-sections.txt:
2017         Insert documentation for GstDataQueue
2018         * plugins/elements/Makefile.am:
2019         * plugins/elements/gstelements.c:
2020         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
2021         (gst_multi_queue_class_init), (gst_multi_queue_init),
2022         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
2023         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
2024         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
2025         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
2026         (gst_multi_queue_loop), (gst_multi_queue_chain),
2027         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
2028         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
2029         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
2030         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
2031         (wake_up_next_non_linked), (compute_next_non_linked),
2032         (single_queue_overrun_cb), (single_queue_underrun_cb),
2033         (single_queue_check_full), (gst_single_queue_new):
2034         * plugins/elements/gstmultiqueue.h:
2035         New multiqueue element, using GstDataQueue. Used for queuing multiple
2036         streams.
2037         Closes #344639 and #347785
2038
2039 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
2040
2041         * docs/pwg/advanced-types.xml:
2042           add more missing type details
2043
2044         * tools/gst-run.c: (main):
2045           remove unused variable
2046
2047 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
2048
2049         * docs/libs/Makefile.am:
2050         * docs/libs/gstreamer-libs.types:
2051           add types of base classes to enable gobject specific stuff in the docs
2052
2053         * docs/random/ensonic/embedded.txt:
2054           more ideas about isolating platform specific things
2055
2056 2006-11-20  Wim Taymans  <wim@fluendo.com>
2057
2058         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
2059
2060         * libs/gst/check/gstcheck.h:
2061         Fix compilation and running against 0.9.4. Fixes #377332.
2062
2063 2006-11-20  Wim Taymans  <wim@fluendo.com>
2064
2065         * gst/gstsegment.c: (gst_segment_set_seek),
2066         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
2067         (gst_segment_to_running_time):
2068         Fix boundary checking in to_running_time() and to_stream_time().
2069         Fixes #377183.
2070
2071         * tests/check/gst/gstsegment.c: (GST_START_TEST):
2072         stream and running time can now be calculated for the complete
2073         clipped segment.
2074
2075 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
2076
2077         * gst/gstpad.c: (gst_pad_push_event):
2078           Can't access event structure after giving away ownership of
2079           the event.
2080
2081 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
2082
2083         * docs/random/ensonic/embedded.txt:
2084         * docs/random/ensonic/profiling.txt:
2085         * docs/random/ensonic/receipies.txt:
2086           more thinking
2087
2088 2006-11-13  Wim Taymans  <wim@fluendo.com>
2089
2090         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
2091
2092         * gst/gstpad.c:
2093         Fix documentation for gst_pad_dispatcher. Fixes #374475.
2094
2095 2006-11-13  Wim Taymans  <wim@fluendo.com>
2096
2097         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
2098
2099         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
2100         Store new length in segment duration so we don't keep on calling the
2101         potentially expensize get_size() call. Fixes #370865.
2102
2103 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
2104
2105         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
2106
2107         * win32/common/libgstreamer.def:
2108           Add two missing symbols (#366492).
2109
2110 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
2111
2112         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
2113         (gst_adapter_take_buffer):
2114         Fix format string to use all its arguments.
2115         Remove useless >= check on a guint
2116
2117 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
2118
2119         * tests/examples/adapter/.cvsignore:
2120         Ignore build file as commanded by the build-bot
2121
2122 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
2123
2124         * tests/examples/adapter/Makefile.am:
2125         * tests/examples/adapter/adapter_test.c: (run_test_take),
2126         (run_test_take_buffer), (run_tests), (main):
2127
2128         Add new files from the previous commit
2129
2130 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
2131
2132         * Makefile.am:
2133         * configure.ac:
2134         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
2135         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
2136         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
2137         * libs/gst/base/gstadapter.h:
2138         * tests/check/libs/adapter.c: (create_and_fill_adapter),
2139         (GST_START_TEST), (gst_adapter_suite):
2140         * tests/examples/Makefile.am:
2141         Do some optimisation work in GstAdapter to avoid copies in more cases.
2142         It could still do slightly better by merging buffers when
2143         gst_buffer_is_span_fast is true, but is already faster. 
2144
2145         Also, avoid traversing a single-linked list to append each incoming 
2146         buffer inside the adapter.
2147
2148         Add simple test app that times the adapter behaviour in different
2149         situations, and extend the unit test to check that bytes enter and
2150         exit the adapter in their original order.
2151
2152 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
2153
2154         * docs/random/draft-missing-plugins.txt:
2155           Update: use element message instead of adding a new message
2156           type to the core; don't provide GStreamer API to initiate the
2157           plugin download, just provide API to compose the strings needed
2158           and let an external libgimmestuff handle the rest.
2159
2160 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
2161
2162         * tools/gst-inspect.c: (print_element_properties_info):
2163         Print a string instead of 'unknown type' for GValueArray properties
2164
2165 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
2166
2167         * docs/random/draft-missing-plugins.txt:
2168         More small fixes.
2169
2170 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
2171
2172         * tests/examples/typefind/typefind.c: (type_found), (main):
2173           Make typefind element example work again (#371894); add a
2174           license header.
2175
2176 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
2177
2178         * docs/random/draft-missing-plugins.txt:
2179           Commit initial draft about how to deal with missing plugins,
2180           needs work (API too).
2181
2182 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
2183
2184         * docs/pwg/advanced-types.xml:
2185           documents the new caps elements (see #363118)
2186
2187 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
2188
2189         * gst/gstplugin.c: (gst_plugin_load_file):
2190         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
2191         (gst_file_src_map_region), (gst_file_src_start):
2192         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
2193         (gst_file_index_commit):
2194           Use g_strerror() instead of strerror() - we want UTF-8.
2195
2196 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
2197
2198         Patch by: Peter Kjellerstedt <pkj at axis com>
2199
2200         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
2201           Another printf fix (#371493).
2202
2203 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
2204
2205         * tests/check/gst/gsttag.c:
2206           relicence (okay with author=company)
2207
2208 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
2209
2210         * gst/gstpad.c: (gst_pad_event_default_dispatch),
2211         (gst_pad_push_event):
2212           Enhance debug and improve docs
2213         
2214         * gst/gsturi.c:
2215           Fix docs
2216
2217 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
2218
2219         * docs/random/ensonic/distributed.txt:
2220         * docs/random/ensonic/profiling.txt:
2221           more ideas
2222
2223 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
2224
2225         * docs/gst/gstreamer-sections.txt:
2226           add new API and fix the build
2227           
2228         * gst/gstbin.c: (gst_bin_recalc_state):
2229         * gst/gstelement.c: (gst_element_message_full),
2230         (gst_element_get_state_func), (gst_element_set_state_func):
2231           use new API and improve logging
2232         
2233         * gst/gstutils.c: (gst_element_state_change_return_get_name):
2234         * gst/gstutils.h:
2235           API: add function to get StateChangereturn names to improve logs 
2236
2237 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
2238
2239         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
2240           I'm considering shooting the next person to put strerror stuff
2241           in the translateable part of the message.
2242
2243 2006-11-03  Wim Taymans  <wim@fluendo.com>
2244
2245         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
2246         Get the type and printf conversion specifiers right.
2247
2248 2006-11-03  Wim Taymans  <wim@fluendo.com>
2249
2250         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
2251
2252         * gst/gstpad.c: (gst_pad_init), (pre_activate),
2253         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
2254         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
2255         Some small cleanups. Improve debugging.
2256         * gst/gstpad.h:
2257         Signal all waiting threads with a broadcast instead of just one.
2258         Fixes #369942.
2259
2260 2006-11-03  Wim Taymans  <wim@fluendo.com>
2261
2262         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
2263         (gst_fd_src_create):
2264         Add some debugging. 
2265         Only update fd when it's different from the old.
2266
2267 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2268
2269         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
2270           Printf fixes for PPC/OSX, take two (#369366).
2271
2272 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2273
2274         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
2275
2276         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
2277         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
2278         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
2279           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
2280           don't cast to long long for portability reasons, but use
2281           GLib's types instead.
2282
2283 2006-10-30  Michael Smith  <msmith@fluendo.com>
2284
2285         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
2286           Get the arguments to lseek() the right way around.
2287           Fixes 367677.
2288
2289 2006-10-30  Wim Taymans  <wim@fluendo.com>
2290
2291         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
2292
2293         * gst/gstinfo.h:
2294         _declspec should be __declspec (two underscores, not one). Fixes 366572.
2295
2296 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
2297
2298         Patch by: Kjartan Maraas  <kmaraas at gnome org>
2299
2300         * docs/design/part-MT-refcounting.txt:
2301         * docs/random/wtay/capsnego2-docs:
2302         * gst/gstclock.c:
2303         * gst/gstxml.c:
2304           Typo fixes (#366212).
2305
2306 2006-10-28  Wim Taymans  <wim@fluendo.com>
2307
2308         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
2309
2310         * gst/gst.c:
2311         * win32/common/libgstbase.def:
2312         * win32/common/libgstreamer.def:
2313         * win32/vs8/libgstbase.vcproj:
2314         * win32/vs8/libgstcontroller.vcproj:
2315         Add needed entries in .def files.
2316         Use HAVE_UNISTD_H.
2317         Rearrange def files in vs8 solutions. Fixes #366286.
2318
2319 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
2320
2321         * win32/common/gstconfig.h:
2322           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
2323           hand-made win32 gstconfig.h. Fixes #366321.
2324
2325 2006-10-27  Wim Taymans  <wim@fluendo.com>
2326
2327         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
2328         (gst_ghost_pad_new_full):
2329         Make acceptcaps return TRUE when we don't have a target, just like
2330         setcaps does.
2331
2332 2006-10-27  Wim Taymans  <wim@fluendo.com>
2333
2334         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
2335         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
2336
2337 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
2338
2339         * gst/gststructure.c: (gst_structure_id_set_value):
2340           If someone tries to set a non-UTF8 string field on a structure,
2341           don't just print a warning, but also ignore the request and do
2342           not change/add that field to the structure.
2343
2344         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
2345           Test for the above.
2346
2347 2006-10-25  David Schleef  <ds@schleef.org>
2348
2349         * gst/gstinfo.c:
2350           g_hash_table_insert() needs a cast to a non-const pointer duh.
2351
2352 2006-10-25  David Schleef  <ds@schleef.org>
2353
2354         * gst/gstinfo.c:
2355         * gst/gstinfo.h:
2356           Change name parameter of _gst_debug_register_funcptr to const
2357           to reflect the constness of its use in the function as well
2358           as to quiet a gcc warning.
2359
2360 2006-10-25  Edward Hervey  <edward@fluendo.com>
2361
2362         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
2363         Don't push the buffer if it's empty.
2364         Closes #363095
2365
2366 2006-10-24  Wim Taymans  <wim@fluendo.com>
2367
2368         * gst/gstevent.h:
2369         Add small comment.
2370
2371         * libs/gst/base/gstbasetransform.c:
2372         (gst_base_transform_sink_eventfunc):
2373         Debug segment values *after* updating them as this is more
2374         interesting.
2375
2376 2006-10-23  Wim Taymans  <wim@fluendo.com>
2377
2378         * docs/design/part-events.txt:
2379         Update some docs.
2380
2381         * docs/design/part-block.txt:
2382         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
2383         (gst_pad_push_event):
2384         Revert BLOCKING patch, it tries to be smart without really having a
2385         clear idea what or how. So, now we discard all FLUSHING events again on
2386         a blocking pad. Should fix gnonlin again.
2387
2388 2006-10-23  Wim Taymans  <wim@fluendo.com>
2389
2390         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
2391
2392         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
2393         (gst_base_src_start), (gst_base_src_activate_push):
2394         Make sure size is always initialized. Fixes #364388.
2395
2396 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
2397
2398         * docs/random/ensonic/distributed.txt:
2399           add some ideas about doing distributed processing
2400
2401         * docs/random/ensonic/profiling.txt:
2402           get_rusage look promising
2403
2404 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
2405
2406         * docs/manual/basics-helloworld.xml:
2407           Add a cast in example to fix compile warning
2408
2409 2006-10-18  Wim Taymans  <wim@fluendo.com>
2410
2411         * gst/gstsegment.c: (gst_segment_set_last_stop),
2412         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
2413         Relax arg checking again, -1 is allowed.
2414
2415 2006-10-18  Wim Taymans  <wim@fluendo.com>
2416
2417         * gst/gstsegment.c: (gst_segment_set_last_stop),
2418         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
2419         _set_last_stop() must be with a value != -1
2420         A _TYPE_SET to -1 means seek to 0.
2421         Calc last_stop correctly for negative rates.
2422         Make sure we work with positive durations when updating a segment.
2423
2424 2006-10-18  Wim Taymans  <wim@fluendo.com>
2425
2426         * docs/design/part-live-source.txt:
2427         * gst/gstclock.h:
2428         Small docs fixes.
2429
2430 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
2431
2432         * gst/gstbuffer.h:
2433           Add an explicit cast to GstBuffer** to keep old code that added an
2434           explicit cast to GstMiniObject** for gst_mini_object_replace()
2435           compiling without warning.
2436
2437 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
2438
2439         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
2440           check for validity of dates
2441
2442 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
2443
2444         * docs/gst/gstreamer-sections.txt:
2445           Forgot this one, makes gtk-doc shut up.
2446
2447 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
2448
2449         Patch by: Peter Kjellerstedt <pkj at axis com>
2450
2451         * gst/gstobject.h:
2452           Don't define xmlNodePtr to gpointer if the core was built with
2453           --disable-loadsave and --disable-registry, this will break
2454           applications that want to use libxml2 but are buildling against a
2455           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
2456           instead so we don't have to mess with the libxml2 namespace
2457           (#361675).
2458
2459 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
2460
2461         * gst/gstbuffer.h:
2462           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
2463           type-punned pointer warnings.
2464
2465 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
2466
2467         * gst/gstelement.h:
2468           Add casts to the correct return type to state <=> state transition
2469           macros.
2470
2471 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
2472
2473         * docs/design/part-live-source.txt:
2474           describe howto handle latency
2475         
2476         * docs/random/ensonic/profiling.txt:
2477           more ideas
2478
2479         * tools/gst-plot-timeline.py:
2480           fix log parsing for solaris, remove unused function
2481
2482 2006-10-16  Wim Taymans  <wim@fluendo.com>
2483
2484         * docs/design/part-trickmodes.txt:
2485         * gst/gstevent.c:
2486         Update some docs regarding reverse playback.
2487
2488 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
2489
2490         Patch by: Marcus Granado  <mrc dot gran at gmail com>
2491
2492         * win32/vs8/grammar.vcproj:
2493           Error out with a warning if glib-genmarshal.exe is not in path,
2494           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
2495
2496 2006-10-13  Wim Taymans  <wim@fluendo.com>
2497
2498         * gst/gstsegment.c: (gst_segment_set_seek):
2499         When seeking to stop -1, set last_stop (current position) to the
2500         duration of the segment.
2501
2502 2006-10-13  Wim Taymans  <wim@fluendo.com>
2503
2504         * gst/gstelement.h:
2505         Clarify _NO_PREROLL a bit more.
2506
2507         * gst/gstevent.c:
2508         Fix docs.
2509
2510         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
2511         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
2512         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
2513         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
2514         due to wrong locking order. Fixes #361769.
2515         Remove some redundant/misplaced checks in pad_block.
2516
2517         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
2518         For negative rates, count backwards from the duration.
2519
2520 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
2521
2522         * gst/gsterror.c: (_gst_library_errors_init):
2523           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
2524           up with something better).
2525
2526 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
2527
2528         * win32/vs6/libgstreamer.dsp:
2529         * win32/vs7/libgstreamer.vcproj:
2530         * win32/vs8/libgstreamer.vcproj:
2531           Don't reference glib-compat.c which is currently not used and not
2532           disted; add gstquark.c which was recently added. Fixes #361730.
2533
2534 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
2535
2536         * win32/common/libgstbase.def:
2537         * win32/common/libgstcontroller.def:
2538         * win32/common/libgstreamer.def:
2539           Add gst_caps_merge() and a bunch of other recently-added functions.
2540           Fixes #361732.
2541
2542 2006-10-11  Wim Taymans  <wim@fluendo.com>
2543
2544         * docs/plugins/gstreamer-plugins.args:
2545         * docs/plugins/inspect/plugin-coreelements.xml:
2546         * docs/plugins/inspect/plugin-coreindexers.xml:
2547         Update element args.
2548
2549         * gst/gstsystemclock.c:
2550         Small comment update.
2551
2552         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
2553         (gst_tee_request_new_pad), (gst_tee_release_pad),
2554         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
2555         (gst_tee_sink_activate_pull):
2556         * plugins/elements/gsttee.h:
2557         Some tee loving:
2558         Add default property defines.
2559         Implement release pad function.
2560         Give properties better blubs etc.
2561         Activate pads before adding them to a running tee.
2562         Do simple buffer_alloc on the first requested pad.
2563         Post error when activation fails.
2564
2565 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
2566
2567         * gst/gst.c: (ensure_current_registry_forking):
2568           Check return value of write() to make compiler happy.
2569
2570 2006-10-11  Wim Taymans  <wim@fluendo.com>
2571
2572         Patch by: Sjoerd Simons <sjoerd at luon dot net>
2573
2574         * plugins/elements/gstqueue.c: (gst_queue_chain):
2575         Recheck queue filledness after signalling the overrun when we're about
2576         to leak downstream because we released the lock when emitting the signal
2577         and the queue could be empty again. Fixes #352345.
2578
2579 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
2580
2581         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
2582           Fix refcounting here too, just like we did for _new_valist() a few
2583           days ago (#357180) (thanks to René Stadler). Also remove all those
2584           'Since: 0.9' from the gtk-doc blobs.
2585
2586         * tests/check/libs/controller.c: (controller_refcount_new_list),
2587         (gst_controller_suite):
2588           Unit test for the above.
2589
2590 2006-10-10  Wim Taymans  <wim@fluendo.com>
2591
2592         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
2593
2594         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
2595         (gst_pad_save_thyself):
2596         Update some docs.
2597         Write pad direction in XML output. Fixes #345496.
2598
2599 2006-10-10  Wim Taymans  <wim@fluendo.com>
2600
2601         Patch by: René Stadler <mail at renestadler dot de>
2602
2603         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
2604         (gst_controller_new_list), (_gst_controller_dispose),
2605         (_gst_controller_finalize), (_gst_controller_class_init):
2606         Take ref to controlled object so that it cannot disappear. 
2607         Fixes #357432.
2608
2609 2006-10-10  Wim Taymans  <wim@fluendo.com>
2610
2611         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
2612         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
2613         (gst_check_teardown_sink_pad):
2614         Activate/deactivate pads in setup/teardown respectively.
2615
2616 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2617
2618         Patch by: Josep Torre Valles <josep@fluendo.com>
2619
2620         * gst/Makefile.am:
2621         Cast values when making gstenumtypes.h.  This pacifies Forte
2622         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
2623         in the enumeration.
2624
2625 2006-10-09  Wim Taymans  <wim@fluendo.com>
2626
2627         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
2628         Rename some more @cur to @start to fix docs. 
2629
2630         * gst/gstsegment.c: (gst_segment_set_seek):
2631         Fix typo.
2632         time and start must always stay in sync as defined in design doc.
2633
2634         * gst/gsttaglist.c: (gst_tag_list_is_empty):
2635         Rename param to fix docs.
2636
2637         * tests/check/gst/gstsegment.c: (GST_START_TEST):
2638         Check that start and time are in sync.
2639
2640         * tests/check/pipelines/parse-launch.c:
2641         (gst_parse_test_element_change_state):
2642         Activate pad before adding to the element.
2643
2644 2006-10-09  Wim Taymans  <wim@fluendo.com>
2645
2646         * docs/design/part-qos.txt:
2647         Fix typo.
2648
2649         * gst/gstevent.c:
2650         * gst/gstevent.h:
2651         Update seek event docs regarding negative rates.
2652         Rename @cur to @start. 
2653
2654         * gst/gstsegment.c: (gst_segment_set_seek):
2655         * gst/gstsegment.h:
2656         Update set_seek docs regarding negative rates.
2657         Correctly update last_stop to @stop when dealing with negative
2658         rates.
2659         Rename @cur to @start. 
2660
2661         * tests/check/gst/gstpad.c: (GST_START_TEST):
2662         Activate pads before trying to use them.
2663
2664         * tests/check/gst/gstsegment.c: (GST_START_TEST),
2665         (gst_segment_suite):
2666         Add simple check for segments and negative rates.
2667
2668 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
2669
2670         * gst/gsttaglist.c: (gst_tag_list_is_empty):
2671         * gst/gsttaglist.h:
2672         * docs/gst/gstreamer-sections.txt:
2673           API: add gst_tag_list_is_empty() (#360467).
2674
2675         * tests/check/gst/gsttag.c: (GST_START_TEST):
2676           And a test case.
2677
2678 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2679
2680         * gst/gstmessage.h:
2681         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
2682         a value that doesn't fit on enumeration.
2683
2684 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2685
2686         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
2687         Remove local debugging system and use Gstreamer's instead.
2688
2689 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2690
2691         Patch by: Josep Torre Valles <josep@fluendo.com>
2692
2693         * common/m4/gst-error.m4:
2694         Disable warning of statement not reached on Forte.
2695         * gst/gstmessage.h:
2696         Fix warning on Forte (value doesn't fit on enumeration).
2697         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
2698         Fix warning on Forte (value doesn't fit on enumeration).
2699         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
2700         DEBUG macro says it takes minimum of 2 args and so Forte
2701         complains about the use with just 1 arg.
2702         * plugins/elements/gstfdsink.c:
2703         * plugins/elements/gstfdsrc.c:
2704         * plugins/elements/gstfilesink.c:
2705         * plugins/elements/gstfilesrc.c:
2706         Use correct return type for the uri handler implementations.
2707
2708         All these fix warnings in Forte.  Fixes bug #360860.
2709
2710 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
2711
2712         * gst/gstelement.h:
2713           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
2714           format string, so don't use G_GNUC_PRINTF for those versions.
2715
2716 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
2717
2718         * gst/gsttaglist.c: (gst_is_tag_list):
2719         * gst/gsttaglist.h:
2720           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
2721
2722         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
2723           Small test for the above.
2724
2725 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
2726
2727         * gst/gsttaglist.h:
2728           Less tabs, more spaces.
2729
2730 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
2731
2732         * gst/gstinfo.h:
2733           Those two function declarations do actually belong there, revert
2734           commit from yesterday that turned them intro macros.
2735
2736 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2737
2738         Patch by: Josep Torre Valles <josep@fluendo.com>
2739
2740         * gst/gst.c: (gst_init_get_option_group):
2741         Fix empty declaration and type mismatch.
2742         * gst/gstbin.c: (gst_bin_change_state_func):
2743         Fix type mismatch.
2744         * gst/gstelement.c: (gst_element_continue_state),
2745         (gst_element_set_state_func), (gst_element_change_state),
2746         (gst_element_change_state_func):
2747         Fix type mismatches.
2748         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
2749         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
2750         Cast as appropriate.
2751         * gst/gstobject.c: (gst_class_signal_connect):
2752         Cast as appropriate.  The function pointer parameter really
2753         has the wrong type but would break API if we change it.
2754         * gst/gstquery.c:
2755         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
2756         order of including string.h.
2757         * gst/gstutils.c: (gst_element_state_get_name):
2758         Remove unreachable line.
2759         * gst/gstxml.c: (gst_xml_parse_doc):
2760         Fix type mismatch.
2761         All these caught by Forte.
2762
2763 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2764
2765         Patch by: Josep Torre Valles <josep@fluendo.com>
2766
2767         * common/m4/gst-error.m4:
2768         Fixed bug #360151.
2769         We need to disable warnings on Forte for empty declarations
2770         due to gst-indent adding ;s to lines that just use macros
2771         where the macro actually doesn't need a ; at end to end
2772         statement.
2773
2774 2006-10-06  Wim Taymans  <wim@fluendo.com>
2775
2776         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
2777         (gst_file_sink_close_file), (gst_file_sink_event),
2778         (gst_file_sink_render):
2779         Add some FIXME for the NEWSEGMENT handling.
2780
2781 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2782
2783         * gst/parse/grammar.y:
2784         Remove static function gst_parse_element_lock as all it does
2785         is return.  Looks like cruft from 0.8.
2786
2787 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2788
2789         Patch by: Josep Torre Valles <josep@fluendo.com>
2790
2791         * common/m4/gst-error.m4:
2792         * configure.ac:
2793         * libs/gst/net/Makefile.am:
2794         Fix a compilation issue with Forte on Solaris.  inet_aton is in
2795         libresolv.
2796
2797 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
2798
2799         * gst/gstpad.c: (pre_activate):
2800         * gst/gstregistry.c: (gst_registry_scan_path_level):
2801         * gst/gstregistryxml.c: (load_plugin):
2802         * libs/gst/controller/gstcontroller.c:
2803         (gst_controlled_property_set_interpolation_mode):
2804         * libs/gst/dataprotocol/dataprotocol.c:
2805         (gst_dp_packet_from_event_1_0):
2806         * libs/gst/net/gstnetclientclock.c:
2807         (gst_net_client_clock_observe_times):
2808         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
2809           Printf fixes.
2810
2811 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
2812
2813         * configure.ac:
2814         * docs/gst/gstreamer-sections.txt:
2815         * gst/gstconfig.h.in:
2816         * gst/gstelement.h:
2817         * gst/gstinfo.h:
2818           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
2819           whether we can use G_GNUC_PRINTF in other header files and at
2820           least check the printf format/arguments of debug messages and
2821           GST_ELEMENT_ERROR messages when the printf extension is not
2822           being used.
2823           Replace more tabs with spaces in gstinfo.h and remove two spurious
2824           function declarations in GST_DISABLE_DEBUG part with macros.
2825
2826 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
2827
2828         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
2829           More docs for the sync-message signal (mention that it is not
2830           emitted by default); log message structures of messages posted on
2831           the bus as well.
2832
2833 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
2834
2835         * gst/gst.c: (ensure_current_registry_forking):
2836         Use a pipe pair to receive status results from the forked child, and
2837         ignore the result from waitpid. Fixes #355499
2838
2839 2006-10-02  Wim Taymans  <wim@fluendo.com>
2840
2841         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
2842         (gst_ghost_pad_suite):
2843         Fix leak in check.
2844
2845 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
2846
2847         * gst/gstpad.c:
2848           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
2849
2850 2006-10-02  Edward Hervey  <edward@fluendo.com>
2851
2852         * docs/design/part-block.txt:
2853         Further explain the use of flushing on blocked pads.
2854         * docs/gst/gstreamer-sections.txt:
2855         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
2856         (gst_pad_push_event):
2857         * gst/gstpad.h:
2858         Added new GstPadFlag : GST_PAD_BLOCKING.
2859         Adds the notion of pads really blocking, which enables to properly
2860         handle FLUSH_START/FLUSH_STOP events on blocked pads.
2861         Fixes #358999
2862         API: gst_pad_is_blocking()
2863         API: GST_PAD_IS_BLOCKING() macro
2864         API: GST_PAD_BLOCKING GstPadFlag
2865         
2866 2006-10-02  Wim Taymans  <wim@fluendo.com>
2867
2868         Patch by: mrcgran <mrc.gran at gmail dot com>
2869
2870         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
2871         Filter the proxied caps against the padtemplate if we have one.
2872
2873         * gst/gstquery.c: (gst_query_new_segment):
2874         Add include for gstinfo.h so that compilation with
2875         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
2876
2877 2006-10-02  Wim Taymans  <wim@fluendo.com>
2878
2879         Patch by: Alessandro Decina  <alessandro at nnva org>
2880
2881         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
2882         (gst_file_sink_set_location), (gst_file_sink_open_file),
2883         (gst_file_sink_close_file), (gst_file_sink_event),
2884         (gst_file_sink_render):
2885         Set file to NULL when closing filesink so that we can set a new filename
2886         in READY. Fixes #358613.
2887
2888 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
2889
2890         Patch by: Alessandro Decina  <alessandro at nnva org>
2891
2892         * gst/gstevent.c: (_gst_event_copy):
2893           Fix gst_mini_object_make_writable() and gst_event_copy() for events
2894           with event structures by setting the parent refcount address of the
2895           copied structure to the address of the refcount member of the newly
2896           copied event rather than the address of the refcount member of the
2897           original event. Fixes #358737.
2898
2899         * tests/check/gst/gstevent.c: (GST_START_TEST):
2900           Unit test for the above.
2901
2902 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
2903
2904         * docs/design/Makefile.am:
2905           Dist some more files.
2906
2907 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
2908
2909         * tests/check/libs/controller.c: (GST_START_TEST),
2910         (gst_controller_suite):
2911           Add test for the previous fix; add some more tests
2912           for correct refcounting behaviour; fix a few leaks
2913           in test cases; call gst_controller_init() at start
2914           of all tests.
2915
2916 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
2917
2918         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
2919         (gst_controller_set_from_list):
2920           Don't g_return_val_if_fail() on timed values with invalid timestamps
2921           inside a critical section without unlocking the mutex. Spotted by
2922           René Stadler. (#357617)
2923           Also, fix up refcounting properly: when returning an existing
2924           controller, we should increase the reference only once and not
2925           once per property and when trying to control a property again
2926           we should also increase the refcount.
2927
2928 2006-09-29  Wim Taymans  <wim@fluendo.com>
2929
2930         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
2931         * libs/gst/net/gstnettimeprovider.c:
2932         (gst_net_time_provider_thread):
2933         Stop reading commands when EOF as well.
2934
2935         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
2936         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
2937         * plugins/elements/gstidentity.c: (gst_identity_class_init):
2938         Unify description of the dump property.
2939
2940 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
2941
2942         * tests/examples/manual/.cvsignore:
2943         OK, so it's actually cvsignore that needs changing. Stop laughing.
2944
2945 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
2946
2947         * tests/examples/manual/Makefile.am:
2948         Gah, declare vars *before* using them
2949
2950 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
2951
2952         * gst/gst.c: (init_pre), (scan_and_update_registry),
2953         (ensure_current_registry_nonforking),
2954         (ensure_current_registry_forking), (ensure_current_registry),
2955         (init_post), (gst_debug_help), (gst_deinit):
2956         * gst/gst_private.h:
2957         * gst/gstregistry.c: (gst_registry_finalize),
2958         (gst_registry_remove_features_for_plugin_unlocked),
2959         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
2960         (gst_registry_scan_path),
2961         (_priv_gst_registry_remove_cache_plugins),
2962         (_priv_gst_registry_cleanup):
2963         * gst/gstregistry.h:
2964         Re-commit the registry changes, along with an extra fix:
2965           When a cached plugin is encountered at a different file path,
2966           update the stored path in the registry cache so that the parent
2967           process knows where it actually is now when it re-reads the registry
2968           cache. Fixes the thing that broke distcheck with the previous commit.
2969
2970         * tests/check/Makefile.am:
2971         Clean up files named 'core' too when running make clean.
2972
2973         * tests/examples/manual/Makefile.am:
2974         Set up a registry path for running these tests, and clean it properly
2975         for distcheck.
2976
2977 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
2978
2979         * configure.ac:
2980         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
2981         want gmodule-no-export-2.0.pc instead so that we don't drag in
2982         --export-dynamic on every project that links to GStreamer.
2983
2984         Also, make our export regex only match the start of symbols, rather 
2985         than any symbol that contains '_gst' somewhere.
2986
2987         * libs/gst/check/Makefile.am:
2988         The libgstcheck we build does however need export-dynamic, as it
2989         produces some symbols that don't match our _gst... style regex.
2990         Fixes: #318031
2991
2992 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
2993
2994         * gst/gst.c: (init_pre), (scan_and_update_registry),
2995         (ensure_current_registry_nonforking),
2996         (ensure_current_registry_forking), (ensure_current_registry),
2997         (init_post), (gst_debug_help), (gst_deinit):
2998         * gst/gst_private.h:
2999         * gst/gstregistry.c: (gst_registry_finalize),
3000         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
3001         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
3002         (_gst_registry_cleanup):
3003         * gst/gstregistry.h:
3004           Revert previous change until I figure out why it breaks distcheck.
3005
3006 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
3007
3008         * gst/gst.c: (init_pre), (scan_and_update_registry),
3009         (ensure_current_registry_nonforking),
3010         (ensure_current_registry_forking), (ensure_current_registry),
3011         (init_post), (gst_debug_help), (gst_deinit):
3012
3013           Make init_pre and init_post take the full complement of GOptionFunc
3014           args so they can return useful GErrors. Make the registry updating
3015           functions do so.
3016
3017           Call _priv_gst_registry_remove_cache_plugins after scanning files to
3018           ensure that the registry we're about to write out doesn't contain
3019           stale information about old-deleted plugin files.
3020
3021           Make _priv_gst_registry_remove_cache_plugins return a boolean so
3022           that deletion of plugin files is considered a registry change.
3023
3024         * gst/gst_private.h:
3025         * gst/gstregistry.c: (gst_registry_finalize),
3026         (gst_registry_remove_features_for_plugin_unlocked),
3027         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
3028         (gst_registry_scan_path),
3029         (_priv_gst_registry_remove_cache_plugins),
3030         (_priv_gst_registry_cleanup):
3031         * gst/gstregistry.h:
3032         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
3033         by adding _priv prefix, so that they won't appear in the global
3034         symbol table. They still do atm though because of #318031. Move the
3035         prototypes to gst_private.h
3036
3037         When removing a plugin, remove all features for that plugin too. 
3038         Fixes #340878.
3039
3040 2006-09-27  Wim Taymans  <wim@fluendo.com>
3041
3042         * docs/random/moving-plugins:
3043         Make it clear that the "compiled-in descriptions" really mean
3044         the element details.
3045
3046         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3047         (gst_base_sink_wait_preroll):
3048         Update docs.
3049
3050         * docs/libs/gstreamer-libs-sections.txt:
3051         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
3052         (gst_base_src_get_range), (gst_base_src_activate_push):
3053         * libs/gst/base/gstbasesrc.h:
3054         Added function to block while waiting for PLAYING, this function
3055         is used by live sources that block on the clock.
3056         API: gst_base_src_wait_playing()
3057
3058 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
3059
3060         Patch by: Peter Kjellerstedt <pkj at axis com>
3061
3062         * Makefile.am:
3063           gst-element-check.m4 is generated and should therefore be
3064           copied from the build dir rather than the source dir (#357593).
3065           'make distcheck' hasn't noticed this because we were disting
3066           the file as well, so stop doing that.
3067
3068 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
3069
3070         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
3071           Add some tests for gst_caps_intersect().
3072
3073         * tools/gst-launch.c: (event_loop):
3074           Print all buffering percentages we get, even the 100% one.
3075
3076 2006-09-26  Wim Taymans  <wim@fluendo.com>
3077
3078         * tools/gst-inspect.c: (print_element_properties_info),
3079         (print_signal_info):
3080         Fix printing of flags to match the look of enums.
3081
3082 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
3083
3084         * gst/gstelementfactory.c:
3085           Fix typo in docs blurb.
3086
3087 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
3088
3089         * gst/gsturi.c: (search_by_entry):
3090           Don't assert/crash here if a uri handler doesn't return any
3091           supported protocols. The list of protocols could be generated
3092           dynamically at runtime or at plugin registration, and an error
3093           in the underlying library shouldn't be fatal (#353301).
3094
3095 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
3096
3097         * gst/gstinfo.c:
3098           Fix warning if HAVE_PRINTF_EXTENSION is undefined
3099           (spotted by Peter Kjellerstedt).
3100
3101 2006-09-23  Wim Taymans  <wim@fluendo.com>
3102
3103         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
3104
3105         * libs/gst/base/gstbasesrc.c:
3106         (gst_base_src_default_check_get_range), (gst_base_src_start),
3107         (gst_base_src_activate_push), (gst_base_src_activate_pull),
3108         (gst_base_src_change_state):
3109         Match _start/_stop calls in the activate functions. Remove redundant
3110         _stop call from the state change function. Fixes #356910.
3111         Turn failure DEBUG into ERROR. 
3112
3113 2006-09-22  Wim Taymans  <wim@fluendo.com>
3114
3115         * docs/design/part-buffering.txt:
3116         * gst/gstmessage.c: (gst_message_new_buffering),
3117         (gst_message_parse_buffering):
3118         Update docs about buffering.
3119
3120         * docs/design/part-trickmodes.txt:
3121         Fix typo.
3122
3123 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
3124
3125         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
3126         (gst_controller_new_list):
3127           Ref instances when returning them again (fixes #357180)
3128
3129 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
3130
3131         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
3132           Don't forget to release proxy lock when there's an error.
3133
3134 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
3135
3136         * gst/gstcaps.h:
3137           Add extra initialisers for Caps things, to fix some plugin warnings
3138           when using -Wextra
3139
3140 2006-09-18  Wim Taymans  <wim@fluendo.com>
3141
3142         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
3143           Also set template on the internal pad so that a getcaps from the 
3144           target pad returns the template caps.
3145
3146 2006-09-18  Wim Taymans  <wim@fluendo.com>
3147
3148         * gst/gstelement.c: (gst_element_post_message),
3149         (gst_element_dispose):
3150         Use _DEBUG_OBJECT some more.
3151
3152         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
3153         Avoid typechecks.
3154
3155         * tools/gst-launch.c: (main):
3156         If the toplevel element is not a GstPipeline, it must be put in a
3157         pipeline so that a bus and clock is selected.
3158
3159 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
3160
3161         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
3162           JITTER, RATE, and LATENCY query should be handled by the
3163           default case and not by the CONVERT query code.
3164
3165 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
3166
3167         * gst/gstformat.c: (gst_format_register):
3168           Fix locking order (must take lock before using n_values).
3169
3170         * gst/gstvalue.c: (gst_value_serialize_enum),
3171         (gst_value_deserialize_enum_iter_cmp),
3172         (gst_value_deserialize_enum):
3173           Fix serialisation/deserialisation of custom registered GstFormats.
3174
3175         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3176           Unit test for custom format serialisation/deserialisation.
3177
3178 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
3179
3180         * docs/pwg/building-boiler.xml:
3181         * plugins/elements/gstcapsfilter.c:
3182         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
3183         section.
3184
3185 2006-09-16  Edward Hervey  <edward@fluendo.com>
3186
3187         * libs/gst/base/gstbasetransform.c:
3188         (gst_base_transform_buffer_alloc):
3189         Check if requested caps are the same as the sinks caps IF
3190         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
3191         is FALSE.
3192         This fixes the renegotiation issues stated in #352827.
3193
3194 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3195
3196         * configure.ac:
3197         * docs/manual/advanced-autoplugging.xml:
3198         * tests/examples/Makefile.am:
3199         * tests/examples/manual/.cvsignore:
3200         * tests/examples/manual/Makefile.am:
3201         * tests/examples/manual/extract.pl:
3202           Extract the manual examples again like we used to do.
3203           Fix one of them.
3204
3205 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3206
3207         * win32/common/config.h:
3208           update for version
3209
3210 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
3211
3212         * gst/gsterror.c:
3213           Documents how to receive errors.
3214
3215 2006-09-15  Wim Taymans  <wim@fluendo.com>
3216
3217         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
3218         (event_loop), (main):
3219         Added some comments here and there.
3220         Post an application message when an interrupt is caught instead of doing
3221         an uncontrolled state change.
3222         Clean up the event loop.
3223         Handle buffering messages, pause/resume the pipeline.
3224         Make shutdown because of an interrupt more reliable.
3225
3226 2006-09-15  Wim Taymans  <wim@fluendo.com>
3227
3228         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3229         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
3230         (gst_base_sink_preroll_object):
3231         Make sure that our internal state is correct when we commit our state
3232         asynchronously. This solves a race where a state change to PLAYING
3233         could cause the sink to remain blocked in preroll in some situations.
3234
3235 2006-09-15  Wim Taymans  <wim@fluendo.com>
3236
3237         * tools/gst-inspect.c: (print_element_properties_info),
3238         (print_signal_info):
3239         List flags as hex so it's easier to deal with.
3240
3241 2006-09-15  Wim Taymans  <wim@fluendo.com>
3242
3243         * docs/libs/gstreamer-libs-sections.txt:
3244         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
3245         (gst_base_sink_do_sync):
3246         * libs/gst/base/gstbasesink.h:
3247         Expose logic to wait for preroll so that subclasses such as audiosink
3248         can also use this method.
3249         API: gst_base_sink_wait_preroll()
3250
3251 2006-09-15  Wim Taymans  <wim@fluendo.com>
3252
3253         * gst/gstobject.c: (gst_object_set_parent):
3254         * gst/gstpipeline.c: (do_pipeline_seek):
3255         Small cleanups in docs and code.
3256
3257         * gst/gstsegment.c: (gst_segment_clip):
3258         * tests/check/gst/gstsegment.c: (GST_START_TEST):
3259         if stop == start and start is in the segment, no clipping should be
3260         done. Also add a test for this.
3261
3262 2006-09-15  Wim Taymans  <wim@fluendo.com>
3263
3264         * docs/design/part-buffering.txt:
3265         * docs/gst/gstreamer-sections.txt:
3266         * gst/gstmessage.c: (gst_message_new_buffering),
3267         (gst_message_parse_buffering):
3268         * gst/gstmessage.h:
3269         Added methods to create and parse BUFFERING messages.
3270         Added preliminary docs about buffering.
3271         API: gst_message_new_buffering
3272         API: gst_message_parse_buffering
3273
3274 2006-09-06  Wim Taymans  <wim@fluendo.com>
3275
3276         * gst/gstbin.c:
3277         Update documentation.
3278
3279         * gst/gstelement.c: (gst_element_class_init),
3280         (gst_element_release_request_pad), (gst_element_set_clock),
3281         (gst_element_get_index), (gst_element_add_pad),
3282         (gst_element_remove_pad), (gst_element_get_random_pad),
3283         (gst_element_send_event), (gst_element_get_query_types),
3284         (gst_element_query), (gst_element_post_message),
3285         (gst_element_message_full), (gst_element_continue_state),
3286         (gst_element_lost_state), (gst_element_save_thyself),
3287         (gst_element_restore_thyself):
3288         Documentation updates.
3289         Rename last bit of the new-pad -> pad-added signal rename.
3290         Fix the case where an element query would only work if the source
3291         pad was linked.
3292         Avoid some useless type checking in message handling.
3293
3294         * gst/gstevent.c:
3295         * gst/gstevent.h:
3296         * gst/gstutils.c:
3297         Documentation updates.
3298
3299 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3300
3301         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
3302           add an INFO line for when we actually update the fd
3303
3304 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3305
3306         * configure.ac:
3307           back to TRUNK
3308
3309 === release 0.10.10 ===
3310
3311 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
3312
3313         * configure.ac:
3314           releasing 0.10.10, "Pais"
3315
3316 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
3317
3318         * docs/manual/advanced-position.xml:
3319           Fix typo in sample code.
3320
3321 2006-09-05  Wim Taymans  <wim@fluendo.com>
3322
3323         * libs/gst/net/gstnetclientclock.c: (inet_aton),
3324         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
3325         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
3326         * libs/gst/net/gstnetclientclock.h:
3327         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
3328         * libs/gst/net/gstnettimepacket.h:
3329         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
3330         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
3331         (gst_net_time_provider_thread), (gst_net_time_provider_new):
3332         * libs/gst/net/gstnettimeprovider.h:
3333         Make stuff compile on windows. Fixes #345295.
3334
3335 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
3336
3337         * gst/gst.c: (ensure_current_registry_forking):
3338           Print better details when child was terminated by signal.
3339
3340 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
3341
3342         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
3343           Print a warning rather than g_assert() if a plugin feature
3344           is a URI handler but returns no protocols (#353976).
3345
3346 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
3347
3348         * docs/random/moving-plugins:
3349         Fix two typos.         
3350
3351 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
3352
3353         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
3354           Fix locking order, handle NULL function values properly.
3355
3356         * gst/gstinfo.h:
3357           Fix docs.
3358
3359         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
3360           Initialise variable before using it and fix debug statement to
3361           print the address of the function rather than the address of the
3362           variable on the stack holding the address of the function.
3363
3364 2006-09-01  Wim Taymans  <wim@fluendo.com>
3365
3366         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
3367         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
3368         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
3369         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
3370         (gst_ghost_pad_parent_unset),
3371         (gst_ghost_pad_internal_do_activate_push),
3372         (gst_ghost_pad_internal_do_activate_pull),
3373         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
3374         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
3375         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
3376         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
3377         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
3378         (gst_ghost_pad_new_no_target_from_template),
3379         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
3380         More cleanups.
3381         Avoid needless typechecking in macros.
3382         Since the internal pad is always present and never changes, there is
3383         no need to locking or ref when retrieving it.
3384         Improve debugging a bit.
3385         Handle link errors when setting the target. Fixes #341029.
3386
3387 2006-09-01  Wim Taymans  <wim@fluendo.com>
3388
3389         * docs/libs/gstreamer-libs-sections.txt:
3390         * docs/plugins/gstreamer-plugins-sections.txt:
3391         Fix docs some more.
3392
3393         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
3394         (gst_collect_pads_event):
3395         * libs/gst/base/gstcollectpads.h:
3396         Documentation updates.
3397         Free queued buffer when removing a pad.
3398
3399 2006-08-31  Michael Smith  <msmith@fluendo.com>
3400
3401         * gst/gstutils.c: (gst_element_link_pads),
3402         (gst_element_link_pads_filtered):
3403           Ensure that we set a capsfilter to NULL if we failed to link it
3404           when doing filtered linking, to avoid criticals.
3405
3406           No need to check for unreffing srcpad, which is explicly NULLed
3407           above (a trivial code cleanup).
3408
3409 2006-08-31  Wim Taymans  <wim@fluendo.com>
3410
3411         * docs/design/part-gstghostpad.txt:
3412         Update ascii art in documentation.
3413
3414         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
3415         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
3416         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
3417         (gst_ghost_pad_internal_do_activate_push),
3418         (gst_ghost_pad_internal_do_activate_pull),
3419         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
3420         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
3421         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
3422         (gst_ghost_pad_set_target):
3423         Small cleanups and leak fixes.
3424         Remove some checks now that the internal pad is never NULL.
3425         Fix the case where linking pads without a target would create nasty
3426         criticals. Fixes #341029.
3427         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
3428         value of _set_target().
3429
3430         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
3431         (gst_ghost_pad_suite):
3432         Some more tests for creating and linking untargeted ghostpads.
3433
3434 2006-08-31  Edward Hervey  <edward@fluendo.com>
3435
3436         * docs/gst/gstreamer-sections.txt:
3437         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
3438         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
3439         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
3440         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
3441         (gst_ghost_pad_new_from_template),
3442         (gst_ghost_pad_new_no_target_from_template):
3443         * gst/gstghostpad.h:
3444         Refactored *_new() functions.
3445         Templates are now used as a g_object_new() parameter.
3446         Use template in _do_getcaps() if we don't have a target.
3447         Small documentation cleanups.
3448         Added two new constructors:
3449         gst_ghost_pad_new_from_template()
3450         gst_ghost_pad_new_no_target_from_template()
3451         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
3452         (gst_ghost_pad_suite):
3453         Added tests for new ghostpad instanciation functions.
3454
3455         API additions: gst_ghost_pad_new_from_template,
3456         gst_ghost_pad_new_no_target_from_template
3457
3458 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
3459
3460         * docs/random/ensonic/profiling.txt:
3461           Ideas about qos profiling.
3462
3463 2006-08-29  Wim Taymans  <wim@fluendo.com>
3464
3465         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
3466         Code cleanups.
3467         Fix memleak.
3468
3469 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
3470
3471         * gst/gstxml.c:
3472           Improve and detypofy docs.
3473
3474         * tests/check/Makefile.am:
3475         * tests/check/gst/.cvsignore:
3476         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
3477           Add a basic test suite for GstXML.
3478
3479 2006-08-29  Wim Taymans  <wim@fluendo.com>
3480
3481         * gst/gstelement.c: (activate_pads), (clear_caps),
3482         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
3483         Clear the pad caps when the element shut down all of the pads and
3484         is not streaming data that could modify the caps. 
3485         Fixes #352958.
3486
3487 2006-08-28  Michael Smith  <msmith@fluendo.com>
3488
3489         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3490           Revert previous change; I misunderstood single-segment mode.
3491
3492 2006-08-28  Michael Smith  <msmith@fluendo.com>
3493
3494         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3495           Unset DISCONT on buffers when using single-segment mode.
3496
3497 2006-08-28  Wim Taymans  <wim@fluendo.com>
3498
3499         * gst/gstcaps.c: (gst_caps_merge_structure):
3500         * gst/gstcaps.h:
3501         Fix docs and indentation again.
3502
3503         * tests/check/gst/gstquery.c: (GST_START_TEST):
3504         Fix leak in tests and add some more tests.
3505
3506 2006-08-28  Edward Hervey  <edward@fluendo.com>
3507
3508         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3509         Inform GstSegment of the last stop position in order for the current
3510         segment to have a proper duration if it doesn't have a specific stop
3511         position from which a duration could be calculated.
3512         This bug was noticeable when a non-flushing, non-update new segment was
3513         followed by another segment (all buffers from the new segment were being
3514         dropped).
3515
3516 2006-08-28  Wim Taymans  <wim@fluendo.com>
3517
3518         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
3519         Small comment update.
3520
3521         * plugins/elements/gstidentity.c: (gst_identity_class_init),
3522         (gst_identity_transform_ip):
3523         Drop-probability is broken, mention this in the code with a 
3524         FIXME and also in the property description.
3525         Make silent also be silent about the drop messages.
3526
3527 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
3528
3529         * docs/manual/appendix-win32.xml:
3530           Remove mention of popt, we don't depend on that any
3531           longer (#353136). Add some comments pointing out that
3532           this section is slightly outdated.
3533
3534 2006-08-28  Wim Taymans  <wim@fluendo.com>
3535
3536         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
3537
3538         * gst/gstquery.c: (gst_query_new_segment):
3539         * tests/check/gst/gstquery.c: (GST_START_TEST):
3540         Initialize variables when creating a new segment query.
3541         Fixes #353121.
3542
3543 2006-08-28  Wim Taymans  <wim@fluendo.com>
3544
3545         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
3546
3547         * gst/gstelement.c: (gst_element_get_bus):
3548         * tests/check/gst/gstelement.c: (GST_START_TEST):
3549         Check for NULL before _reffing the bus. Fixes #353122.
3550
3551 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
3552
3553         * docs/manual/basics-bus.xml:
3554           Docs update: fix wrong callback return value explanation; add
3555           some lines about the implicit relationship between main loop
3556           and main context; remove duplicate main loop variable declaration.
3557
3558 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
3559
3560         * tests/check/gst/gstcaps.c: (GST_START_TEST):
3561           Don't leak caps in unit test; add a few more simple
3562           checks. 
3563
3564 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
3565
3566         * docs/gst/gstreamer-sections.txt:
3567         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
3568         (gst_caps_structure_is_subset), (gst_caps_merge),
3569         (gst_caps_merge_structure):
3570         * gst/gstcaps.h:
3571         * libs/gst/base/gstbasetransform.c:
3572         (gst_base_transform_transform_caps):
3573         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
3574           implement caps merging (fixes #352580)
3575
3576 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
3577
3578         * tools/Makefile.am:
3579         * tools/gst-plot-timeline.py:
3580           add debug-log plotting developer tool (#340674)
3581
3582 2006-08-23  Wim Taymans  <wim@fluendo.com>
3583
3584         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
3585         (gst_pad_stop_task):
3586         Improve debugging for task functions.
3587
3588         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
3589         (gst_task_start), (gst_task_pause), (gst_task_join):
3590         Make sure that the task function started and finished after a 
3591         join(). 
3592         Don't try to push the task function on the threadpool multiple
3593         times.
3594         Improve the g_warning message with some useful suggestions
3595         about how to fix the problem. 
3596
3597 2006-08-23  Wim Taymans  <wim@fluendo.com>
3598
3599         * gst/gstutils.c: (gst_pad_proxy_getcaps):
3600         Handle RESYNC correctly in _proxy_getcaps.
3601
3602 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
3603
3604         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
3605         (gst_xml_parse_memory), (gst_xml_get_element):
3606           Chain up to parent class in dispose function and also
3607           unref the elements in the toplevel_elements GList.
3608           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
3609           Always return a reference in gst_xml_get_element() rather
3610           than only sometimes.
3611
3612         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
3613           Don't leak GstXml object.
3614
3615 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
3616
3617         * docs/gst/gstreamer-sections.txt:
3618         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
3619         (gst_caps_merge):
3620         * gst/gstcaps.h:
3621         * libs/gst/base/gstbasetransform.c:
3622         (gst_base_transform_transform_caps):
3623           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
3624           in a better way
3625
3626 2006-08-21  Edward Hervey  <edward@fluendo.com>
3627
3628         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
3629         Implement GObject::dispose virtual method in GstXML so we can free the
3630         top_elements GList.
3631
3632 2006-08-21  Wim Taymans  <wim@fluendo.com>
3633
3634         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
3635         (gst_buffer_create_sub):
3636         Copy duration/offset_end/caps when creating a subbuffer of the
3637         complete parent.
3638         Make the subbuffer read-only when we make the metadata writable for
3639         now. Fixes #351768.
3640
3641         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
3642         Added check for metadata copy when creating subbuffers.
3643
3644 2006-08-21  Edward Hervey  <edward@fluendo.com>
3645
3646         * libs/gst/base/gstbasetransform.c:
3647         (gst_base_transform_buffer_alloc):
3648         Only call downstream buffer_alloc if transform element is passthrough
3649         or always_in_place. Closes #350449.
3650
3651 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
3652
3653         * ChangeLog:
3654           ChangeLog surgery to add comments to previous changes
3655
3656 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
3657
3658         * gst/gst.c:
3659           Add comments
3660
3661         * gst/gstpad.c: (gst_pad_set_active):
3662           Be more verbose in the log
3663
3664         * libs/gst/base/gstbasetransform.c:
3665         (gst_base_transform_transform_caps):
3666           Simplify caps to get rid of duplicates, fixes #345444
3667
3668 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
3669
3670         * gst/gstvalue.c:
3671         * gst/gstvalue.h:
3672           Use these optimizations only internally.
3673
3674 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
3675
3676         * gst/gstvalue.c: (gst_value_compare_list),
3677         (gst_value_compare_fraction_range),
3678         (gst_value_intersect_fraction_fraction_range),
3679         (gst_value_intersect_fraction_range_fraction_range),
3680         (gst_value_subtract_fraction_fraction_range),
3681         (gst_value_subtract_fraction_range_fraction_range),
3682         (gst_value_get_compare_func), (gst_value_compare),
3683         (gst_value_compare_with_func):
3684         * gst/gstvalue.h:
3685           Saves the expensive lookup of the compare function in many cases
3686          (#345444)
3687
3688 2006-08-18  Edward Hervey  <edward@fluendo.com>
3689
3690         * tests/check/gst/gstinfo.c: (gst_info_suite):
3691         Disable test that require gstdebug if it wasn't built in core.
3692
3693 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
3694
3695         * docs/random/ensonic/logging.txt:
3696           update ideas
3697           
3698         * gst/gstinfo.c: (gst_debug_log_default):
3699           reorder fields, save some columns, add optional color codes for log
3700           levels
3701
3702 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
3703
3704         * docs/random/ensonic/logging.txt:
3705           add ideas about making the logs a bit more useful
3706
3707 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
3708
3709         * docs/pwg/advanced-events.xml:
3710         * docs/pwg/titlepage.xml:
3711           Update for 0.10 API (#340627). Add myself
3712           to authors list.
3713
3714 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
3715
3716         * docs/libs/gstreamer-libs-docs.sgml:
3717         * docs/libs/gstreamer-libs-sections.txt:
3718         * libs/gst/check/gstbufferstraw.c:
3719           Make gstcheck stuff show up in docs (still needs to
3720           be documented properly though).
3721
3722 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
3723
3724         * docs/gst/gstreamer-sections.txt:
3725         * gst/Makefile.am:
3726         * gst/gst.c: (init_post):
3727         * gst/gst_private.h:
3728         * gst/gstquark.c: (_priv_gst_quarks_initialize):
3729         * gst/gstquark.h:
3730         * gst/gstquery.c: (gst_query_new_position),
3731         (gst_query_set_position), (gst_query_parse_position),
3732         (gst_query_new_duration), (gst_query_set_duration),
3733         (gst_query_parse_duration), (gst_query_new_convert),
3734         (gst_query_set_convert), (gst_query_parse_convert),
3735         (gst_query_new_segment), (gst_query_set_segment),
3736         (gst_query_parse_segment), (gst_query_new_seeking),
3737         (gst_query_set_seeking), (gst_query_parse_seeking):
3738         Add internal helpers for pre-registering quarks from static strings
3739         and using the quark values directly instead of looking them up when
3740         creating and parsing queries. Can be used for event construction too.
3741         Closes #350432.
3742
3743 2006-08-16  Wim Taymans  <wim@fluendo.com>
3744
3745         * gst/gstbin.c:
3746         Fix bogus docs.
3747
3748 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
3749
3750         * gst/gstutils.c: (gst_util_set_value_from_string):
3751           Fix memleak (#351502).
3752
3753         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
3754           Add unit test for most of gst_util_set_value_from_string()
3755           (not that one would want to encourage use of this function).
3756
3757 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
3758
3759         * libs/gst/check/gstcheck.h:
3760           Use const gchar * variables in fail_unless_equals_string
3761           macro to avoid compiler warnings (and don't use tabs for
3762           indenting).
3763
3764 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
3765
3766         * tools/gst-launch.c: (print_tag):
3767           More space on the left for the tag names, to cater
3768           for the 'extended comment' tag (not touching the
3769           string for the first line since it's translated).
3770
3771 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
3772
3773         * libs/gst/check/gstcheck.h:
3774           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
3775           print something when they fail.
3776
3777 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
3778
3779         * docs/gst/gstreamer-sections.txt:
3780         * gst/gsttaglist.c: (_gst_tag_initialize):
3781         * gst/gsttaglist.h:
3782           API: add GST_TAG_EXTENDED_COMMENT (#350935).
3783           Also change merge function for GST_TAG_COMMENT to
3784           use_first.
3785
3786 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
3787
3788         * gst/gstinfo.c: (gst_debug_print_object):
3789           Make GST_PTR_FORMAT print messages as well.
3790
3791         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
3792         (GST_START_TEST), (gst_info_suite):
3793           More tests.
3794
3795 2006-08-14  Edward Hervey  <edward@fluendo.com>
3796
3797         * gst/gstelementfactory.c: (gst_element_register):
3798         If the GstElementClass doesn't have a GstElementDetails with all fields
3799         filled up correctly (longname, description AND author), then error out
3800         nicely instead of crashing.
3801
3802 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
3803
3804         * gst/gststructure.c:
3805           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
3806
3807         * gst/gstvalue.h:
3808           Expand on the difference between arrays and lists as we use them.
3809           
3810 2006-08-14  Wim Taymans  <wim@fluendo.com>
3811
3812         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
3813         If the parent state change function failed, don't assume we can safely
3814         stop the source, this will be done when the pads are deactivated.
3815
3816 2006-08-14  Wim Taymans  <wim@fluendo.com>
3817
3818         * gst/gstbuffer.c:
3819         * gst/gsttask.c: (gst_task_join):
3820         Small doc updates.
3821
3822         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
3823         (gst_pad_stop_task):
3824         When pad (de)activation failed for some reason, restore the old
3825         activation mode and set the pad to flushing instead of assuming the
3826         pad is deactivated.
3827         If the _task_join() failed, reinstall the task on the pad so that it can
3828         be stopped later and return an error.
3829
3830 2006-08-11  Andy Wingo  <wingo@pobox.com>
3831
3832         * configure.ac:
3833         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
3834         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
3835         is only for users of API that don't want to see deprecated
3836         functions in the headers; people that want to compile out
3837         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
3838         CFLAGS. Fixes the build of multifdsink, or will soon..
3839
3840 2006-08-11  Wim Taymans  <wim@fluendo.com>
3841
3842         * docs/gst/gstreamer-sections.txt:
3843         Add GstClockClass vmethod docs.
3844
3845         * gst/gstcaps.h:
3846         Mark #endif with comment for associated #if
3847
3848         * gst/gstclock.c: (gst_clock_id_wait):
3849         * gst/gstclock.h:
3850         Add vmethod wait_jitter to avoid an unneeded _get_time() for
3851         most clock implementations.
3852         Document vmethods.
3853         Flesh out docs about resolution methods.
3854         API: GstClockClass::wait_jitter
3855
3856         * gst/gstsystemclock.c: (gst_system_clock_class_init),
3857         (gst_system_clock_async_thread),
3858         (gst_system_clock_id_wait_jitter_unlocked),
3859         (gst_system_clock_id_wait_jitter):
3860         Use base class wait_jitter variant for improved performance
3861         due to less clock polling.
3862
3863 2006-08-11  Edward Hervey  <edward@fluendo.com>
3864
3865         * gst/gst.c: (gst_init_check), (init_post):
3866         Set gst as being initialized before scanning/updating the registry,
3867         since there might be my python plugin loader that calls gst_init() and
3868         we don't want to loop back in.
3869         Closes #350879
3870
3871 2006-08-11  Wim Taymans  <wim@fluendo.com>
3872
3873         * docs/design/part-qos.txt:
3874         Bring docs in line with the code. Mostly the sign of the jitter was
3875         wrong in the docs. Fixes #349943.
3876
3877         * gst/gstclock.c:
3878         Fix the docs for the jitter.
3879
3880         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
3881         (gst_event_parse_tag), (gst_event_new_buffer_size),
3882         (gst_event_parse_buffer_size), (gst_event_parse_qos),
3883         (gst_event_new_seek), (gst_event_parse_seek),
3884         (gst_event_new_navigation):
3885         Make sure the GstStructure has no parent when creating custom
3886         events.
3887         Add some more argument checking so that we avoid 0.0 rates.
3888         Flesh out the docs for the QoS event some more.
3889
3890 2006-08-11  Wim Taymans  <wim@fluendo.com>
3891
3892         * docs/gst/gstreamer-sections.txt:
3893         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
3894         (ensure_current_registry_forking), (ensure_current_registry),
3895         (parse_one_option), (parse_goption_arg), (gst_deinit),
3896         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
3897         * gst/gst.h:
3898         Doc updates.
3899         Added API and command line option to disable registry forking in
3900         addition to the environment variable.
3901         Constify some static arrays.
3902         Added some more debug.
3903         Don't deinit twice.
3904         API: gst_registry_fork_is_enabled()
3905         API: gst_registry_fork_set_enabled()
3906         API: --gst-disable-registry-fork command line option
3907         Fixes #348918.
3908
3909 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
3910
3911         * gst/gst.c: (gst_init):
3912           Fix typo in error message.
3913
3914 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
3915
3916         * libs/gst/controller/gstcontroller.h:
3917           fix ABI size-correction
3918
3919         * tests/check/libs/gdp.c: (gst_dp_suite):
3920           make tests that use deprecated API conditional
3921
3922 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
3923
3924         * docs/libs/gstreamer-libs-sections.txt:
3925         * libs/gst/controller/gstcontroller.c:
3926         (_gst_controller_get_property), (_gst_controller_set_property),
3927         (_gst_controller_init), (_gst_controller_class_init):
3928         * libs/gst/controller/gstcontroller.h:
3929         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
3930         (gst_object_set_control_rate):
3931           API: add gst_object_{s,g}et_control_rate(), add private data section,
3932           fix docs
3933
3934         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
3935         * libs/gst/dataprotocol/dataprotocol.h:
3936           add deprecation guards to make gtk-doc happy and allow disabling cruft
3937
3938 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
3939
3940         * tests/check/Makefile.am:
3941         * tests/check/gst/.cvsignore:
3942           Let's enable the new unit test as well.
3943
3944 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
3945
3946         * configure.ac:
3947         * docs/gst/gstreamer-sections.txt:
3948         * gst/gstconfig.h.in:
3949         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
3950         (_gst_info_printf_extension_ptr),
3951         (_gst_info_printf_extension_segment):
3952           API: add GST_SEGMENT_FORMAT, which is a printf extension we
3953           register that lets us easily dump GstSegments into debug
3954           logs (#350419).
3955
3956         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
3957         (info_segment_format_printf_extension), (gst_info_suite):
3958           Add simple unit test that logs a bunch of different segments (not
3959           valgrinded at the moment because of leaks in
3960           gst_debug_add_log_function).
3961
3962 2006-08-09  Edward Hervey  <edward@fluendo.com>
3963
3964         * libs/gst/base/gstbasetransform.c:
3965         (gst_base_transform_buffer_alloc):
3966         Even if we can't figure out the proper format to request downstream,
3967         call buffer_alloc() downstream with the input parameters without setting
3968         the caps on the srcpad. This will force negotiation in the chain
3969         function.
3970         Closes #350449
3971
3972 2006-08-08  Edward Hervey  <edward@fluendo.com>
3973
3974         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
3975         Unlinking from a pad without a target is now a perfectly valid case
3976         which should NOT raise an assertion.
3977         This case would happen if a linked ghostpad its target set to NULL after
3978         it was previously linked.
3979
3980 2006-08-08  Edward Hervey  <edward@fluendo.com>
3981
3982         * tests/check/libs/gdp.c:
3983         Also comment out the test (see below).
3984
3985 2006-08-08  Edward Hervey  <edward@fluendo.com>
3986
3987         * tests/check/libs/gdp.c: (gst_dp_suite):
3988         Use the architecture information from config.h and not gcc macros
3989         in order to properly disable a test that fails on PPC64.
3990
3991 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
3992
3993         * gst/gstelement.c: (gst_element_remove_pad):
3994           Don't crash printing the warning if the pad has no parent.
3995
3996 2006-08-02  Wim Taymans  <wim@fluendo.com>
3997
3998         * libs/gst/dataprotocol/dataprotocol.c:
3999         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
4000         (gst_dp_crc), (gst_dp_header_payload_length),
4001         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
4002         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
4003         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
4004         (gst_dp_event_from_packet), (gst_dp_validate_header),
4005         (gst_dp_validate_payload):
4006         Make debug category static
4007         Constify the crc table.
4008         Do some more arg checking in public functions.
4009         Fix some docs and do some small cleanups.
4010
4011         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
4012         Add some more checks to see if GDP deals with bogus input.
4013
4014 2006-07-31  Wim Taymans  <wim@fluendo.com>
4015
4016         * gst/gstvalue.c: (gst_value_compare_list):
4017         Fix GstValueList comparison code. Fixes #347293.
4018
4019         * tests/check/gst/gstvalue.c: (GST_START_TEST):
4020         Check to test GstValueList comparison.
4021
4022 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
4023
4024         * gst/gstelementfactory.c: (gst_element_factory_create):
4025         Remove unnecessary ref/unref pair
4026
4027         * gst/parse/grammar.y:
4028         Make sure to free the parse buffer on all code paths.
4029         Move a g_free up to the error handler where it's easier to see.
4030
4031         * tests/check/gst/gstevent.c: (test_event):
4032         Extending timeout for downstream travelling events to 10 seconds to
4033         hopefully avoid intermittent failure on the buildbots.
4034
4035         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
4036         Don't manually set the state of the src element - it will happen as a
4037         natural consequence of the pipeline changing state, and that way it
4038         will do it in the right order too.
4039
4040 2006-07-31  Wim Taymans  <wim@fluendo.com>
4041
4042         * libs/gst/base/gstbasetransform.c:
4043         (gst_base_transform_buffer_alloc):
4044         Use OBJECT_LOCK and refcounting to get the pad caps in the
4045         buffer_alloc function because the caps could change while we are
4046         busy with them. Fixes #349105
4047
4048 2006-07-31  Wim Taymans  <wim@fluendo.com>
4049
4050         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
4051         Protect _PAD_CAPS with OBJECT_LOCK.
4052
4053 2006-07-31  Wim Taymans  <wim@fluendo.com>
4054
4055         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
4056         (gst_pad_get_property), (gst_pad_activate_pull),
4057         (gst_pad_activate_push), (gst_pad_set_blocked_async),
4058         (gst_pad_set_activate_function),
4059         (gst_pad_set_activatepull_function),
4060         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
4061         (gst_pad_set_getrange_function),
4062         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
4063         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
4064         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
4065         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
4066         (gst_pad_set_acceptcaps_function),
4067         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
4068         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
4069         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
4070         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
4071         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
4072         (gst_pad_configure_sink), (gst_pad_configure_src),
4073         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
4074         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
4075         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
4076         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
4077         (gst_pad_send_event):
4078         Use _DEBUG_OBJECT when it makes sense.
4079         Protect GST_PAD_CAPS with the OBJECT_LOCK.
4080         Small cleanups and code reflows.
4081         Avoid caps refcounting in _accept_caps.
4082         Refactor alloc_buffer so that the code performed on the peer is in a
4083         separate function. Also if the pad does not implement a buffer alloc
4084         function, we should still check if the pad is flushing before falling
4085         back to the default allocator.
4086
4087 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
4088
4089         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
4090         Make all uses of identity and fakesink have silent=true to avoid
4091         serialising every passing data structure, which is breaking tests
4092         on FC4 for some unknown reason.
4093
4094 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
4095
4096         * gst/parse/Makefile.am:
4097         * gst/parse/grammar.y:
4098         * gst/parse/parse.l:
4099           Reverted previous patch as it required to bump the flex dependency to
4100           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
4101
4102 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
4103
4104         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
4105
4106         * gst/parse/Makefile.am:
4107         * gst/parse/grammar.y:
4108         * gst/parse/parse.l:
4109           push & pop the state of the lexer for reentrant use case
4110           Fixes #349180
4111
4112 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
4113
4114         * libs/gst/base/gstbasesrc.h:
4115           Note in the docs that the ::newsegment vfunc is not actually used by
4116           GstBaseSrc.
4117
4118 2006-07-28  Wim Taymans  <wim@fluendo.com>
4119
4120         * libs/gst/base/gstcollectpads.c:
4121         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
4122         (gst_collect_pads_clear), (gst_collect_pads_flush),
4123         (gst_collect_pads_event), (gst_collect_pads_chain):
4124         When flushing a pad, also clear the queued buffer so that we don't
4125         accidentally use it when we shouldn't.
4126         Fix leaks by inreffing incomming buffer.
4127         Flush out queued buffers in case of errors.
4128         Fixes #347452.
4129
4130 2006-07-28  Wim Taymans  <wim@fluendo.com>
4131
4132         * docs/random/phonon-gst:
4133         Random notes about a Phonon backend.
4134
4135 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
4136
4137         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
4138         Extra debug output
4139         * tests/check/libs/gdp.c: (gst_dp_suite):
4140         Take a whack at fixing the ppc compile using a different define to
4141         disable the broken test.
4142
4143         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
4144         Remove excess g_print()
4145
4146 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
4147
4148         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
4149         Oops, meant to uncomment this line too to dampen the noise a bit.
4150
4151 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
4152
4153         * gst/parse/grammar.y:
4154         * gst/parse/parse.l:
4155         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
4156         (GST_START_TEST), (parse_suite):
4157         Fix some of the leaks exposed by extending the parse-launch testsuite,
4158         and move the 3 I can't figure out into a separate test that won't run
4159         the pipelines unless the appropriate line is uncommented.
4160
4161 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
4162
4163         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
4164           Requesting 0 bytes before the end of the file should result in
4165           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
4166           unit test.
4167
4168 2006-07-27  Wim Taymans  <wim@fluendo.com>
4169
4170         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
4171         Fix useless assert, a uint is always positive.
4172
4173         * gst/gststructure.c: (gst_structure_nth_field_name),
4174         (gst_structure_foreach), (gst_structure_map_in_place):
4175         Check input arguments for public functions to avoid obvious crashes.
4176
4177         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
4178         * plugins/elements/gstfakesink.h:
4179         Do less useless typechecking.
4180
4181 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
4182
4183         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
4184           Do not use mmap() by default since there are a number of error
4185           conditions that we would like to handle in a non-fatal way that
4186           will result in a SIGBUS if we use mmap(). Examples: external
4187           devices (USB harddrive, portable music player) being unplugged
4188           while in use; file on mounted CD/DVD that can't be read because
4189           the medium is partly damaged. Fixes #348455 and #348475.
4190
4191 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
4192
4193         * gst/gstquery.h:
4194         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
4195         rates are a gdouble
4196
4197 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
4198
4199         * gst/gstregistry.c:
4200           Move big documentation comment into class section header, so that it
4201           appears in the API docs.
4202
4203 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
4204
4205         * docs/gst/gstreamer-sections.txt:
4206         Oops. Commit the docs additions too for new API.
4207         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
4208
4209 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
4210
4211         * gst/gststructure.c: (gst_structure_id_set),
4212         (gst_structure_id_set_valist):
4213         * gst/gststructure.h:
4214         Add API for setting values into structures without performing
4215         a quark lookup, if the appropriate quark is already known.
4216
4217         API: gst_structure_id_set
4218         API: gst_structure_id_set_valist
4219
4220         * gst/parse/grammar.y:
4221         * gst/parse/parse.l:
4222         Remove some dead code shown by the coverage information.
4223         Don't throw a critical g_warning when encountering a syntax error,
4224         just warn and let the normal error path handle it.
4225
4226         * plugins/elements/gstelements.c:
4227         Bump the rank of filesink up to PRIMARY so that it is preferred over
4228         gnomevfssink for file:// sink uri's
4229
4230         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
4231         (GST_START_TEST), (run_delayed_test),
4232         (gst_parse_test_element_base_init),
4233         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
4234         (gst_parse_test_element_change_state),
4235         (gst_register_parse_element), (parse_suite):
4236         Beef up the tests for parse syntax to check that more error cases
4237         fail as they are supposed to. Increases the test coverage a bit.
4238
4239 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
4240
4241         * docs/manual/basics-elements.xml:
4242           Fix gst_element_link() example.
4243
4244         * gst/gstutils.c:
4245           Mention in API docs that one should usually gst_bin_add()
4246           elements to a bin or pipeline before doing the linking.
4247           
4248 2006-07-26  Wim Taymans  <wim@fluendo.com>
4249
4250         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
4251         (gst_subbuffer_get_type), (gst_buffer_create_sub):
4252         Avoid function call for known types by keeping the buffer and
4253         subbuffer GType global.
4254
4255         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
4256         Random silly optimisations in read() path.
4257
4258 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
4259
4260         * tools/gst-launch.c: (main):
4261           If the top-level of the parse is a normal bin, it doesn't do the
4262           right logic to run as a top-level element, so place it inside a
4263           pipeline.
4264
4265 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
4266
4267         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
4268           Remove superfluous g_object_notify() calls, GObject does
4269           that for us automatically.
4270
4271 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
4272
4273         * gst/gstinfo.h:
4274           on Win32, use dllspec to export the debug category symbols
4275
4276 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
4277
4278         * gst/gsttaglist.c: (_gst_tag_initialize):
4279           Allow more than one GST_TAG_IMAGE per taglist.
4280
4281 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4282
4283         * gst/gstminiobject.c:
4284           update docs
4285         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
4286         (gst_fd_src_create):
4287           log recurring events at LOG level
4288           add more debug for when the fd gets set
4289
4290 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
4291
4292         * gst/gstparse.c: (gst_parse_launch):
4293           Also remove reentrance checks if flex is MT safe (#348179)
4294          Fix my empty ChangeLog entry below
4295
4296 2006-07-21  Andy Wingo  <wingo@pobox.com>
4297
4298         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
4299
4300         * libs/gst/check/Makefile.am
4301         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
4302         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
4303         * libs/gst/check/gstbufferstraw.h:
4304         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
4305         functions, thus proving I am still a GStreamer haxor. OK I wrote
4306         them a long time ago, but anyways.
4307
4308 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
4309
4310         * configure.ac:
4311         * gst/gstparse.c: (gst_parse_launch):
4312           Check for flex version and omit mutex if we have a MT save flex
4313           (fixes #348179)
4314
4315 2006-07-21  Wim Taymans  <wim@fluendo.com>
4316
4317         * gst/gstparse.c: (gst_parse_launch):
4318         Protect recursive calls to _parse with a recursive mutex
4319         and busy flag.
4320
4321 2006-07-21  Wim Taymans  <wim@fluendo.com>
4322
4323         * tests/check/gst/gstpad.c: (GST_START_TEST):
4324         Fix leak in test.
4325
4326 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
4327
4328         * gst/gstparse.c: (gst_parse_launch):
4329           Do not hang on recursive usage of gst_parse_launch()
4330
4331 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
4332
4333         * gst/gsttaglist.c:
4334           Add some more docs, comments and FIXME 0.11s here and there
4335           and also fix some typos.
4336
4337 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
4338
4339         * gst/gstsegment.h:
4340           Convert tabs to spaces for better readability. 
4341
4342 2006-07-20  Edward Hervey  <edward@fluendo.com>
4343
4344         * tests/check/libs/gdp.c: (gst_dp_suite):
4345         the test_buffer test fails at line 140 on ppc64 at the following
4346         check:
4347         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
4348                 GST_BUFFER_FLAG_IN_CAPS),
4349                 "GST_BUFFER_IN_CAPS flag should have been copied !");
4350         See bug #348114 for more details.
4351
4352 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
4353
4354         * docs/pwg/advanced-scheduling.xml:
4355         * gst/gstpad.c:
4356           Fix typos (#348000).
4357
4358 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
4359
4360         * docs/pwg/intro-basics.xml:
4361           Fix wrong links (#347927).
4362
4363 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
4364
4365         * gst/gstregistry.h:
4366         * gst/gstregistryxml.c: (load_feature),
4367         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
4368         * win32/common/config.h:
4369           make --disable-index work (#342564)
4370
4371 2006-07-18  Wim Taymans  <wim@fluendo.com>
4372
4373         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4374
4375         * gst/Makefile.am:
4376         * gst/gsttrace.h:
4377         The attached patch adds two missing defines to gsttrace.h when tracing
4378         is disabled.  It also corrects one existing define.
4379         Fixes #347756.
4380
4381 2006-07-17  Wim Taymans  <wim@fluendo.com>
4382
4383         * docs/gst/gstreamer-sections.txt:
4384         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
4385         * gst/gst.h:
4386         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
4387         Add two functions to check and change the SIGSEGV behaviour
4388         when loading plugins.
4389         Don't mess with the SIGSEGV handler when we were told not to.
4390         Fixes #347794.
4391         API: gst_segtrap_is_enabled
4392         API: gst_segtrap_set_enabled
4393
4394 2006-07-14  Wim Taymans  <wim@fluendo.com>
4395
4396         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
4397         * tests/check/elements/filesrc.c: (GST_START_TEST):
4398         Revert fix for regression in #347408 after release.
4399
4400 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
4401
4402         Patch by: Antoine Tremblay <hexa00 at gmail com>
4403
4404         * gst/gstutils.c: (gst_element_unlink):
4405           Free iterator when done (#347311).
4406
4407         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4408           And add a test case for this.
4409
4410 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
4411
4412         * configure.ac:
4413         Bump nano back to CVS
4414
4415 === release 0.10.9 ===
4416
4417 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
4418
4419         * configure.ac:
4420           releasing 0.10.9, "On the road again"
4421
4422 2006-07-13  Wim Taymans  <wim@fluendo.com>
4423
4424         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
4425         * tests/check/elements/filesrc.c: (GST_START_TEST):
4426         Revert pull-0 fix for release. Disable check. Fixes #347408.
4427
4428 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4429
4430         * libs/gst/dataprotocol/dataprotocol.c:
4431         (gst_dp_event_from_packet_1_0):
4432           Fixes #347337: failure to deserialize event packets with
4433           empty payload (only event type)
4434
4435 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4436
4437         * gst/Makefile.am:
4438           do not install a .c file in the header directory
4439
4440 2006-07-13  Edward Hervey  <edward@fluendo.com>
4441
4442         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
4443         GhostPad no longer implicitely use the padtemplates of the targets.
4444         Fixes #347384
4445
4446 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
4447
4448         * gst/gstvalue.c: (gst_value_compare_list),
4449         (gst_value_compare_array), (_gst_value_initialize):
4450         * tests/check/gst/gstvalue.c: (GST_START_TEST):
4451         Make GstValueArray comparison be order dependent as designed.
4452         Add checks for value lists and value array comparisons.
4453         Fixes #347221
4454
4455 2006-07-11  Edward Hervey  <edward@fluendo.com>
4456
4457         * gst/gstbin.c: (activate_pads),
4458         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
4459         (gst_bin_change_state_func):
4460         (de)activate src pads before calling state_change on the childs.
4461         This is to avoid the case where a src ghostpad is blocked (holding the
4462         stream lock), which would block the deactivation of the ghostpad's
4463         target pad.
4464         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
4465         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
4466         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
4467         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
4468         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
4469         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
4470         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
4471         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
4472         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
4473         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
4474         (gst_ghost_pad_class_init),
4475         (gst_ghost_pad_internal_do_activate_push),
4476         (gst_ghost_pad_internal_do_activate_pull),
4477         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
4478         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
4479         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
4480         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
4481         GhostPads now create their internal GstProxyPad at creation (and not
4482         when they're linked, as it was being done previously).
4483         The internal and target pads are linked straight away.
4484         The data will also travel through the other pad in order to make
4485         pad blocking and probes non-hackish (the probe/block now really happens
4486         on the GhostPad and not on the target).
4487         * gst/gstpad.c: (gst_pad_set_blocked_async),
4488         (gst_pad_link_prepare), (gst_pad_push_event):
4489         Remove previous ghostpad cruft.
4490         * gst/gstutils.c: (gst_pad_add_data_probe),
4491         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
4492         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
4493         (gst_pad_remove_buffer_probe):
4494         Remove previous ghost pad cruft.
4495         Added more detailed debug statements.
4496         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
4497         Fix the testsuite for refcounting changes.
4498         The comments about who has references were correct, but the refcount
4499         being checked wasn't the same (!?!).
4500
4501         Fixes #341029
4502
4503 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
4504
4505         * docs/gst/gstreamer-sections.txt:
4506         * gst/gstconfig.h.in:
4507         More docs for configuration options, add docs to gtk-doc.
4508
4509 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
4510
4511         * gst/Makefile.am:
4512         * gst/gstconfig.h.in:
4513         * win32/common/config.h:
4514         Fix build when disabling tracing (fixes #344016). Also start to document
4515         the defines that disable the sub-systems.
4516
4517 2006-07-10  Edward Hervey  <edward@fluendo.com>
4518
4519         * gst/gst.c: (ensure_current_registry_forking):
4520         let's make valgrind happy...
4521
4522 2006-07-09  Wim Taymans  <wim@fluendo.com>
4523
4524         * gst/gstelement.c: (activate_pads),
4525         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
4526         Better pad activation code: Reset the collect value too on resync.
4527         Add some comments.
4528
4529 2006-07-09  Wim Taymans  <wim@fluendo.com>
4530
4531         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
4532         (gst_pad_activate_push):
4533         Use some more macros where it makes sense.
4534         Allow pad mode switching instead of asserting. When a pad
4535         is activated in one mode and we activate it in another, 
4536         deactivate it first before activating it in a different mode.
4537         Fixes #329198.
4538
4539 2006-07-08  Andy Wingo  <wingo@pobox.com>
4540
4541         * tools/gst-launch.c (main): Handle err == NULL.
4542
4543         * gst/gst.c (init_post, ensure_current_registry)
4544         (ensure_current_registry_forking)
4545         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
4546         factoring out the registry scanning into separate functions. Don't
4547         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
4548         Better environment var name/interface suggestions accepted.
4549
4550 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
4551
4552         * gst/gstobject.c: (gst_object_set_name_default),
4553         (gst_object_set_name):
4554           Random micro-optimisation: don't use a hash table
4555           with strings as keys and the usual strdup/strcmp
4556           involved, but rather just use the GQuark of the
4557           type name as key, since it needs to be looked up
4558           anyway to get the type name string.
4559
4560         * tests/check/gst/gstobject.c: (GST_START_TEST):
4561           Fix various leaks.
4562
4563 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
4564
4565         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
4566         (gst_bin_iterate_all_by_interface):
4567           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
4568           GTypes are gulongs and thus the top 4 bytes might be cut
4569           off on some platforms when doing GPOINTER_TO_INT, leading
4570           to invalid GTypes and bad things happening (see RH bug #179654).
4571           Also add a check to make sure the type passed in is really
4572           an interface type.
4573
4574 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
4575
4576         * .cvsignore:
4577           Ignore more.
4578
4579 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
4580
4581         * Makefile.am:
4582         * configure.ac:
4583         * gst-element-check.m4:
4584         * gst-element-check.m4.in:
4585           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
4586           instead of the unversioned gst-inspect (#324176, #168659).
4587
4588 2006-07-06  Wim Taymans  <wim@fluendo.com>
4589
4590         * gst/gstmessage.h:
4591         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
4592         warnings.
4593
4594 2006-07-06  Wim Taymans  <wim@fluendo.com>
4595
4596         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4597         (gst_base_src_wait), (gst_base_src_update_length),
4598         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
4599         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
4600         (gst_base_src_loop), (gst_base_src_start),
4601         (gst_base_src_activate_pull):
4602         Update docs.
4603         blocksize == 0 now means the default blocksize when working in push
4604         based mode.
4605         Remove some pointless asserts in _wait function.
4606         Fix offset/length calculations and EOS handling. We can now pull 0
4607         bytes as well, which is allowed.
4608         use _check_get_range() to decide if we can operate in _pull based
4609         mode.
4610         Fix refcounting leak when check_get_range function was not 
4611         implemented.
4612         API GstBaseSrc::blocksize range can be 0 too now (default)
4613
4614         * tests/check/elements/filesrc.c: (GST_START_TEST),
4615         (filesrc_suite):
4616         Added check to test _get_range() behaviour.
4617
4618 2006-07-06  Wim Taymans  <wim@fluendo.com>
4619
4620         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
4621         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
4622         (gst_pad_pull_range):
4623         * gst/gstpad.h:
4624         Lots of comments and docs added to the pad functions.
4625         Flesh out the expected behaviour of the get_range() functions.
4626
4627 2006-07-06  Wim Taymans  <wim@fluendo.com>
4628
4629         * gst/gstbus.h:
4630         * gst/gstclock.h:
4631         * gst/gstevent.h:
4632         * gst/gstiterator.h:
4633         * gst/gstpad.h:
4634         * gst/gstplugin.h:
4635         * gst/gsttask.h:
4636         Remove comma at end of enumerator list. 
4637
4638 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
4639
4640         * win32/common/libgstbase.def:
4641         * win32/common/libgstdataprotocol.def:
4642         * win32/common/libsgtreamer.def:
4643         Add new exported functions.
4644
4645 2006-07-05  Wim Taymans  <wim@fluendo.com>
4646
4647         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
4648         Add some more docs here and there.
4649
4650 2006-07-05  Wim Taymans  <wim@fluendo.com>
4651
4652         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
4653         (gst_base_sink_loop), (gst_base_sink_get_position):
4654         When operating in pull mode update the offset so that we
4655         read sequentially.
4656
4657 2006-07-05  Wim Taymans  <wim@fluendo.com>
4658
4659         * gst/gstregistryxml.c: (read_string):
4660         Avoid strdup. (will happen in libxml, but hey!)
4661
4662         * gst/gsturi.c:
4663         Add some more docs.
4664
4665 2006-07-05  Wim Taymans  <wim@fluendo.com>
4666
4667         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
4668         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
4669         (gst_buffer_suite):
4670         No point in checking if the size of the subbuffer > 0, the
4671         code handles it correclty as demonstrated by unit test.
4672         Also add a unit test for the zero sized _new_and_alloc and
4673         _copy. Fixes #346663.
4674
4675 2006-07-05  Wim Taymans  <wim@fluendo.com>
4676
4677         * libs/gst/base/gstbasetransform.c:
4678         (gst_base_transform_prepare_output_buffer),
4679         (gst_base_transform_buffer_alloc),
4680         (gst_base_transform_handle_buffer):
4681         Make sure the buffer we pass to transform_ip has a refcount of
4682         1 and thus is writable. Fixes #343196
4683
4684 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
4685
4686         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
4687         (gst_file_src_init), (gst_file_src_set_property),
4688         (gst_file_src_get_property), (gst_file_src_map_region):
4689         * plugins/elements/gstfilesrc.h:
4690         Add "sequential" property, off by default, to use madvise and hint
4691         to the kernel that sequential access is desired.
4692         Touch all retrieved pages by default to ensure they are pulled
4693         into memory. (Closes #345720)
4694
4695 2006-07-03  Wim Taymans  <wim@fluendo.com>
4696
4697         * docs/design/part-block.txt:
4698         * docs/design/part-dynamic.txt:
4699         Small docs updates.
4700
4701 2006-07-03  Wim Taymans  <wim@fluendo.com>
4702
4703         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
4704         (gst_caps_unref), (gst_static_caps_get),
4705         (gst_caps_append_structure):
4706         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
4707         Use GSlice when the glib we build against is >= 2.10
4708
4709 2006-07-03  Wim Taymans  <wim@fluendo.com>
4710
4711         * gst/gstelement.c: (gst_element_pads_activate):
4712         Small cleanup in pad activation code.
4713
4714 2006-07-03  Wim Taymans  <wim@fluendo.com>
4715
4716         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4717
4718         * gst/gst-i18n-app.h:
4719         * gst/gst-i18n-lib.h:
4720         * tools/gst-inspect.c: (print_signal_info):
4721         The attached patch will make the inclusion of gettext.h unconditional in
4722         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
4723         libintl.h in tools/gst-inspect.c.
4724         This allows use of --disable-nls again and fixes #344642.
4725
4726 2006-07-03  Edward Hervey  <edward@fluendo.com>
4727
4728         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
4729         Implement pad blocking on events according to part-block.txt.
4730         More comments on behaviour.
4731         * tests/check/gst/gstevent.c: (test_event):
4732         Send event to peer pad of blocked pad (else it will block).
4733
4734 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4735
4736         * libs/gst/check/gstcheck.c: (gst_check_message_error),
4737         (gst_check_run_suite):
4738           if we get the wrong message, give us the types as string
4739         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
4740           Fix a translatable
4741         * tests/check/elements/filesrc.c: (GST_START_TEST):
4742           add a test for trying to open a non-existing file
4743
4744 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4745
4746         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
4747           add a test for adding self
4748
4749 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4750
4751         * libs/gst/check/gstcheck.h:
4752           add some assert_ as alias for fail_unless_*
4753         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
4754           increase test coverage
4755
4756 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4757
4758         * Makefile.am:
4759           include lcov.mak for lcov coverage generation
4760         * tools/Makefile.am:
4761           add to CLEANFILES
4762
4763 2006-07-02  Edward Hervey  <edward@fluendo.com>
4764
4765         * tests/check/elements/.cvsignore:
4766         moaping
4767
4768 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4769
4770         * configure.ac:
4771           don't set CFLAGS and friends for gcov, done from GST_GCOV now
4772         * tests/check/Makefile.am:
4773           clean up gcov files
4774
4775 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4776
4777         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
4778           remove gst_caps_simplify; it was not declared and not used
4779           and deprecated in 0.8
4780
4781 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4782
4783         * docs/faq/gst-uninstalled:
4784           don't put empty paths on PYTHONPATH
4785         * docs/gst/gstreamer-sections.txt:
4786           remove some symbols that are not there
4787
4788 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4789
4790         * gst/gstcaps.c: (gst_caps_compare_structures):
4791           whitespace fixes
4792         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
4793         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
4794           add more tests
4795
4796 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4797
4798         * libs/gst/dataprotocol/Makefile.am:
4799           build dataprotocol test by linking to the lib, instead of
4800           compiling the source, so we get coverage
4801         * tests/check/Makefile.am:
4802         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
4803         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
4804           add a test for filesrc
4805
4806 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4807
4808         * tests/check/gst/gststructure.c: (GST_START_TEST),
4809         (gst_structure_suite):
4810           Push coverage from 59.04% to 70.00%
4811
4812 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4813
4814         * tests/check/Makefile.am:
4815           gst-inspect every element; this makes sure that we also get
4816           coverage on element's get/set functions
4817
4818 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4819
4820         * configure.ac:
4821           set CFLAGS and friends to -O0 if gcov is being used
4822           add GCOV LIBS
4823         * gst/Makefile.am:
4824         * libs/gst/base/Makefile.am:
4825         * libs/gst/check/Makefile.am:
4826         * libs/gst/controller/Makefile.am:
4827         * libs/gst/dataprotocol/Makefile.am:
4828         * libs/gst/net/Makefile.am:
4829         * plugins/elements/Makefile.am:
4830         * plugins/indexers/Makefile.am:
4831           add makefile rules to generate gcov data and clean up
4832         * tests/check/Makefile.am:
4833           add a coverage target that generates an html overview
4834           of coverage data
4835
4836 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4837
4838         * tests/check/elements/fakesink.c:
4839         * tests/check/elements/fakesrc.c:
4840         * tests/check/elements/fdsrc.c:
4841         * tests/check/elements/identity.c:
4842         * tests/check/generic/sinks.c: (gst_sinks_suite):
4843         * tests/check/generic/states.c:
4844         * tests/check/gst/gst.c:
4845         * tests/check/gst/gstabi.c:
4846         * tests/check/gst/gstbin.c:
4847         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
4848         * tests/check/gst/gstbus.c: (gst_bus_suite):
4849         * tests/check/gst/gstcaps.c: (GST_START_TEST):
4850         * tests/check/gst/gstelement.c:
4851         * tests/check/gst/gstevent.c: (gst_event_suite):
4852         * tests/check/gst/gstghostpad.c:
4853         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
4854         * tests/check/gst/gstmessage.c: (gst_message_suite):
4855         * tests/check/gst/gstminiobject.c:
4856         * tests/check/gst/gstobject.c:
4857         * tests/check/gst/gstpad.c:
4858         * tests/check/gst/gstpipeline.c:
4859         * tests/check/gst/gstplugin.c:
4860         * tests/check/gst/gstquery.c: (gst_query_suite):
4861         * tests/check/gst/gstsegment.c: (gst_segment_suite):
4862         * tests/check/gst/gststructure.c:
4863         * tests/check/gst/gstsystemclock.c:
4864         * tests/check/gst/gsttag.c:
4865         * tests/check/gst/gsttask.c: (gst_task_suite):
4866         * tests/check/gst/gstutils.c:
4867         * tests/check/gst/gstvalue.c:
4868         * tests/check/libs/adapter.c:
4869         * tests/check/libs/basesrc.c:
4870         * tests/check/libs/collectpads.c:
4871         * tests/check/libs/controller.c:
4872         * tests/check/libs/gdp.c: (gst_dp_suite):
4873         * tests/check/libs/gstnetclientclock.c:
4874         * tests/check/libs/gstnettimeprovider.c:
4875         * tests/check/libs/libsabi.c: (libsabi_suite):
4876         * tests/check/libs/typefindhelper.c:
4877         * tests/check/pipelines/cleanup.c:
4878         * tests/check/pipelines/parse-launch.c:
4879         * tests/check/pipelines/simple-launch-lines.c:
4880         * tests/check/pipelines/stress.c: (stress_suite):
4881           use the new macro
4882
4883 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4884
4885         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
4886         * libs/gst/check/gstcheck.h:
4887           create a macro and function so that the simple unit test
4888           case can be just one macro to create main()
4889
4890 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
4891
4892         * gst/gstbin.c: (gst_bin_restore_thyself):
4893         * gst/gstxml.c: (gst_xml_make_element):
4894           Fix deserialisation from XML. Set parent manually
4895           instead of using gst_bin_add(), since gst_bin_add()
4896           will unlink all pads of the element being added.
4897           Fixes #341667.
4898
4899 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
4900
4901         Patch by: Peter Kjellerstedt <pkj at axis com>
4902
4903         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
4904           Fix missing g_strdup() and double free when using the
4905           --gst-plugin-load command line option (#346097).
4906
4907 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
4908
4909         * gst/gstinfo.c:
4910           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
4911
4912         * libs/gst/net/gstnetclientclock.c:
4913         * libs/gst/net/gstnettimeprovider.c:
4914           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
4915
4916 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
4917
4918         * docs/manual/advanced-dataaccess.xml:
4919           Fix buffer probe example compilation in
4920           ADM (#345708).
4921         
4922 2006-06-22  Edward Hervey  <edward@fluendo.com>
4923
4924         * gst/gstelement.c: (gst_element_pads_activate):
4925         We need to deactivate src pads first and then sink pads.
4926         The reason is the src pads might be blocking while holding the streaming
4927         lock, so we need to deactivate them first so that deactivating the sink
4928         pads doesn't block (since it will require the streaming lock).
4929
4930 2006-06-22  Wim Taymans  <wim@fluendo.com>
4931
4932         * libs/gst/base/gstbasetransform.c:
4933         (gst_base_transform_buffer_alloc):
4934         Forgot to remove two unneeded unrefs.
4935         Simplify a check _is_equal allready checks the obvious case.
4936
4937 2006-06-22  Wim Taymans  <wim@fluendo.com>
4938
4939         * docs/design/part-block.txt:
4940         Some docs about what pad_block should do.
4941
4942 2006-06-22  Wim Taymans  <wim@fluendo.com>
4943
4944         * gst/gstcaps.c: (gst_caps_replace):
4945         Fix crasher when passed NULL. Doc clarification.
4946         Optimize for the trivial case.
4947
4948         * gst/gstpipeline.c: (gst_pipeline_change_state):
4949         Small cleanups.
4950
4951         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
4952         Small documentation cleanup.
4953
4954         * libs/gst/base/gstbasetransform.c:
4955         (gst_base_transform_buffer_alloc):
4956         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
4957         is what we need and it avoids a whole lot of redundant 
4958         refcount operations.
4959
4960 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
4961
4962         Patch by: Philip Jägenstedt  <philip at lysator liu se>
4963
4964         * docs/manual/advanced-dataaccess.xml:
4965           Fix 'Embedding static elements' section to use
4966           GST_PLUGIN_DEFINE_STATIC (#345607).
4967
4968 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
4969
4970         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
4971           Attempt to 'fix' spuriously failing test case: it seems like the
4972           timeout of half a second is simply too small when the system is under
4973           load otherwise, and the timeout doesn't really seem to serve any
4974           particular purpose here. Give the pipeline a few seconds to preroll
4975           first, and then give it another half a second to go from PAUSED to
4976           PLAYING and marshal the message into the main thread.
4977
4978 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
4979
4980         * tools/gst-feedback-m.m:
4981           Don't only use unversioned tools, try versioned tools as well
4982           (#345086).
4983
4984 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
4985
4986         * gst/gstbus.c: (gst_bus_class_init):
4987           Fix some typos, make docs more explicit.
4988
4989 2006-06-20  Wim Taymans  <wim@fluendo.com>
4990
4991         * tests/check/gst/gstghostpad.c: (block_callback),
4992         (GST_START_TEST), (gst_ghost_pad_suite):
4993         Added some more ghostpad tests, mainly blocking
4994         and probes.
4995
4996 2006-06-16  Wim Taymans  <wim@fluendo.com>
4997
4998         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
4999         (gst_file_sink_close_file), (gst_file_sink_do_seek),
5000         (gst_file_sink_event), (gst_file_sink_render):
5001         * plugins/elements/gstfilesink.h:
5002         Check if we can seek in the file instead of assuming
5003         we always can. Post an error when we are asked to seek in a
5004         non-seekable file (like a fifo). Fixes #343312.
5005         Some cleanups.
5006
5007 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
5008
5009         * tools/gst-launch.1.in:
5010           Un-garble (fourcc) bit in filtered caps section.
5011
5012 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
5013
5014         * docs/manual/advanced-autoplugging.xml:
5015         * docs/manual/basics-helloworld.xml:
5016         * docs/manual/highlevel-components.xml:
5017           Don't leak bus reference in sample code.
5018
5019 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
5020
5021         * autogen.sh:
5022           Add default for new --enable-plugin-docs switch.
5023
5024         * configure.ac:
5025           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
5026           Fixes #344039.
5027
5028         * docs/Makefile.am:
5029           Use new ENABLE_PLUGIN_DOCS conditional.
5030
5031 2006-06-14  Wim Taymans  <wim@fluendo.com>
5032
5033         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
5034         Make it clear with a FIXME and a real define what the #if 0
5035         previously disabled.
5036
5037 2006-06-14  Wim Taymans  <wim@fluendo.com>
5038
5039         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
5040         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
5041         * libs/gst/base/gstbasetransform.c:
5042         (gst_base_transform_sink_eventfunc):
5043         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
5044         Don't randomly and silently reset a segment when the format 
5045         changes as this is a bug somewhere upstream. Fixes #330379.
5046
5047 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
5048
5049         Patch by: Wouter Paesen  <wouter at kangaroot net>
5050
5051         * libs/gst/controller/gstcontroller.c:
5052         (gst_controlled_property_new):
5053           Fix controlling of float properties (#344849).
5054
5055         * tests/check/libs/controller.c:
5056         (gst_test_mono_source_get_property),
5057         (gst_test_mono_source_set_property),
5058         (gst_test_mono_source_class_init), (GST_START_TEST):
5059           While we're at it, add some float stuff to unit test.
5060
5061 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5062
5063         * docs/README:
5064         * docs/images/gdp-header.svg:
5065           add a gdp image
5066         * docs/libs/Makefile.am:
5067         * docs/libs/gdp-header.png:
5068         * libs/gst/dataprotocol/dataprotocol.c:
5069           add it to the API docs
5070         * docs/manual/intro-motivation.xml:
5071           fix typo
5072
5073 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
5074
5075         * gst/gst.c: (scan_and_update_registry), (init_post):
5076           If the fork()'ed child process can't write the updated registry cache
5077           file to disk for some reason, make it exit with a failure exit code,
5078           so that the parent can then re-scan the plugins itself and update the
5079           registry structures in memory and work with that (rather than failing
5080           when creating elements because seemingly no plugins are available).
5081           Refactor registry scanning code into separate function for this and
5082           also separate fork() and non-fork() code paths. Fixes #344748.
5083
5084 2006-06-13  Wim Taymans  <wim@fluendo.com>
5085
5086         * docs/manual/advanced-dataaccess.xml:
5087         Fix wrong PluginDesc. Fixes #344755.
5088
5089 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
5090
5091         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
5092           Fix silly bug that prevented us from creating
5093           ~/.gstreamer-0.10 and writing the registry in one
5094           go (the first call to g_mkstemp() would overwrite the
5095           placeholder in the template string, so the second call
5096           to g_mkstemp() after creating the missing directory
5097           would then error out with 'invalid argument').
5098
5099 2006-06-13  Edward Hervey  <edward@fluendo.com>
5100
5101         * gst/gst.c: (init_post):
5102         Free string.
5103
5104 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5105
5106         * gst/glib-compat-private.h:
5107         * gst/glib-compat.c:
5108         * gst/glib-compat.h:
5109         * gst/gstvalue.c: (gst_value_serialize_flags):
5110           remove GLib 2.6 compatibility code
5111
5112 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
5113
5114         * gst/parse/Makefile.am:
5115           Fix build with 'make -j N' even more (#340016).
5116
5117 2006-06-12  Wim Taymans  <wim@fluendo.com>
5118
5119         * docs/gst/gstreamer-sections.txt:
5120         Fix docs.
5121
5122 2006-06-12  Wim Taymans  <wim@fluendo.com>
5123
5124         * gst/gstsegment.c: (gst_segment_set_duration),
5125         (gst_segment_set_last_stop), (gst_segment_set_seek),
5126         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
5127         (gst_segment_to_running_time), (gst_segment_clip):
5128         Use G_UNLIKELY to help the compiler a bit.
5129
5130 2006-06-12  Wim Taymans  <wim@fluendo.com>
5131
5132         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
5133
5134         * gst/gstevent.c: (gst_event_get_type):
5135         * gst/gstmessage.c:
5136         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
5137         (gst_pad_push):
5138         constify quark registration strings. Fixes #344115
5139         Avoid unneeded type checking is _pad_push() by internally
5140         calling gst_pad_chain_unchecked().
5141
5142 2006-06-12  Wim Taymans  <wim@fluendo.com>
5143
5144         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
5145         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
5146         (gst_subbuffer_finalize), (gst_buffer_create_sub),
5147         (gst_buffer_is_span_fast), (gst_buffer_span):
5148         Init _type for consistency.
5149         Use _FLAGS macro to avoid type check.
5150         Avoid unneeded type checks in subbufer code.
5151
5152 2006-06-12  Wim Taymans  <wim@fluendo.com>
5153
5154         * gst/gst.c: (gst_debug_help):
5155         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
5156         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
5157         (gst_plugin_feature_list_free):
5158         * gst/gstregistry.c: (gst_registry_add_plugin),
5159         (gst_registry_add_feature), (gst_registry_plugin_filter),
5160         (gst_registry_feature_filter), (gst_registry_find_plugin),
5161         (gst_registry_find_feature), (gst_registry_get_plugin_list),
5162         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
5163         * gst/gstregistryxml.c: (load_feature),
5164         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
5165         * gst/gstminiobject.c: (gst_mini_object_unref),
5166         (gst_mini_object_replace), (gst_value_mini_object_free),
5167         (gst_value_mini_object_copy):
5168         Use _CAST macros to avoid unneeded type checking.
5169         Added some more G_UNLIKELY.
5170
5171 2006-06-12  Wim Taymans  <wim@fluendo.com>
5172
5173         * gst/gstbuffer.h:
5174         Avoid unneeded type checking.
5175         API: GST_BUFFER_IS_DISCONT
5176
5177         * gst/gstminiobject.h:
5178         Avoid type check in flag accessor.
5179
5180         * gst/gstelementfactory.h:
5181         * gst/gstplugin.h:
5182         * gst/gstpluginfeature.h:
5183         Add _CAST macros.
5184         API: GST_ELEMENT_FACTORY_CAST
5185         API: GST_PLUGIN_CAST
5186         API: GST_PLUGIN_FEATURE_CAST
5187
5188 2006-06-12  Wim Taymans  <wim@fluendo.com>
5189
5190         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
5191         (gst_object_unref):
5192         Add G_UNLIKELY in type registration.
5193         Avoid type check in _ref/_unref since that is also
5194         done in glib.
5195
5196 2006-06-12  Wim Taymans  <wim@fluendo.com>
5197
5198         * gst/gsterror.c: (gst_g_error_get_type):
5199         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
5200         (gst_static_pad_template_get_type):
5201         * gst/gsttaglist.c: (gst_tag_list_get_type):
5202         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
5203         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
5204         * gst/gsturi.c: (gst_uri_handler_get_type):
5205         * gst/gstvalue.c: (gst_date_get_type):
5206         * gst/gstxml.c: (gst_xml_get_type):
5207         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
5208         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
5209         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
5210         Add G_UNLIKELY in type registration.
5211
5212 2006-06-12  Wim Taymans  <wim@fluendo.com>
5213
5214         * tools/gst-inspect.c: (print_signal_info):
5215         Properly print enum values.
5216
5217 2006-06-12  Wim Taymans  <wim@fluendo.com>
5218
5219         * gst/gstinfo.c: (gst_debug_set_active),
5220         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
5221         * gst/gstinfo.h:
5222         Add some G_[UN]LIKELY.
5223         Maintain __gst_debug_min to avoid formatting the arguments of
5224         debug messages that will be dropped anyway to avoid a lot of 
5225         overhead from the debugging system.
5226
5227 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
5228
5229         * po/POTFILES.in:
5230         * po/POTFILES.skip:
5231           add missing files containing translatable strings, tell intltool about
5232           one exception
5233
5234 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
5235
5236         * tests/check/libs/.cvsignore:
5237         add test-binary to ignore list
5238
5239 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
5240
5241         * docs/libs/gstreamer-libs-docs.sgml:
5242         reorder (put dp into a chapter) and indent
5243
5244 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5245
5246         * configure.ac:
5247           back to HEAD
5248
5249 === release 0.10.8 ===
5250
5251 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
5252
5253         * configure.ac:
5254           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
5255
5256 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5257
5258         * gst/gst.c: (init_post):
5259           move pid declaration to declaration block
5260
5261 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5262
5263         * gst/gst.c: (init_post):
5264           use _exit() instead of exit() in our forked child; this ensures
5265           that none of the registered exit handlers from whatever is using
5266           GStreamer get executed.  This fixes gnome-mixer-applet failing
5267           to load, because ORBit would shut down.
5268           Spotted by: Edward Hervey  <edward@fluendo.com>
5269           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
5270           Fixes #344474
5271
5272 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5273
5274         * configure.ac:
5275           back to TRUNK
5276
5277 === release 0.10.7 ===
5278
5279 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
5280
5281         * configure.ac:
5282           releasing 0.10.7, "Soepeke, ik zie ou"
5283
5284 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5285
5286         * configure.ac:
5287         * po/af.po:
5288         * po/az.po:
5289         * po/bg.po:
5290         * po/ca.po:
5291         * po/cs.po:
5292         * po/de.po:
5293         * po/en_GB.po:
5294         * po/fr.po:
5295         * po/it.po:
5296         * po/nb.po:
5297         * po/nl.po:
5298         * po/ru.po:
5299         * po/sq.po:
5300         * po/sr.po:
5301         * po/sv.po:
5302         * po/tr.po:
5303         * po/uk.po:
5304         * po/vi.po:
5305         * po/zh_CN.po:
5306         * po/zh_TW.po:
5307         * win32/common/config.h:
5308           0.10.6.2 prerelease
5309
5310 2006-06-07  Wim Taymans  <wim@fluendo.com>
5311
5312         * gst/gstindex.c: (gst_index_gtype_resolver):
5313         * tools/gst-xmlinspect.c: (print_plugin_info):
5314         Fix leak spotted by coverity checker. Fixes #343827
5315         Fix another other leak found by paolo borelli.
5316
5317 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5318
5319         * libs/gst/dataprotocol/dataprotocol.c:
5320         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
5321         (gst_dp_version_get_type), (gst_dp_init),
5322         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
5323         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
5324         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
5325         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
5326         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
5327         (gst_dp_packetizer_free):
5328         * libs/gst/dataprotocol/dataprotocol.h:
5329           API: add a GstDPPacketizer object, and create/free functions
5330           API: add GstDPVersion enum
5331           Add 1.0 event function that uses the string serialization
5332           Serialize more useful buffer flags
5333           Fixes #343988
5334
5335 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5336
5337         * tests/check/Makefile.am:
5338         * tests/check/gst/gstabi.c:
5339         * tests/check/gst/struct_ppc64.h:
5340         * tests/check/libs/libsabi.c:
5341         * tests/check/libs/struct_ppc64.h:
5342           add ppc64 structure sizes
5343
5344 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5345
5346         * tests/check/Makefile.am:
5347         * tests/check/gst/gstabi.c:
5348         * tests/check/gst/struct_x86_64.h:
5349         * tests/check/libs/libsabi.c:
5350         * tests/check/libs/struct_x86_64.h:
5351           generate and add structure size lists for x86_64
5352
5353 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5354
5355         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
5356         * libs/gst/check/gstcheck.h:
5357           factor out the method from tests that checks size of structures,
5358           and add code to generate the header containing these sizes
5359         * tests/check/gst/gstabi.c: (GST_START_TEST):
5360         * tests/check/gst/struct_i386.h:
5361         * tests/check/libs/libsabi.c: (GST_START_TEST):
5362         * tests/check/libs/struct_i386.h:
5363           use it
5364
5365 2006-06-06  Michael Smith  <msmith@fluendo.com>
5366
5367         * gst/gstsegment.h:
5368           Don't use c++-style comments, fixes #343929
5369
5370 2006-06-05  Edward Hervey  <edward@fluendo.com>
5371
5372         * gst/gst.c:
5373         plugin_paths is not used if we build without registry support.
5374
5375         * gst/gstsegment.c: (gst_segment_copy): 
5376         _copy() was always returning NULL...
5377
5378 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5379
5380         * libs/gst/dataprotocol/dataprotocol.c:
5381         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5382         (gst_dp_packet_from_event):
5383           factor out CRC code
5384
5385 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5386
5387         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
5388           make sure we unset caps
5389
5390 2006-06-02  Michael Smith  <msmith@fluendo.com>
5391
5392         * libs/gst/check/gstcheck.c: (gst_check_init),
5393         (gst_check_chain_func):
5394         * libs/gst/check/gstcheck.h:
5395           Add a cond/mutex to the check support lib, signal this whenever we
5396           add to the buffers list. This will allow tests to not busy-wait on
5397           the buffer-list.
5398
5399 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5400
5401         * libs/gst/dataprotocol/dataprotocol.c:
5402         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5403         (gst_dp_packet_from_event):
5404           factor out some common header init code
5405
5406 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5407
5408         * docs/libs/gstreamer-libs-sections.txt:
5409         * docs/libs/tmpl/gstdataprotocol.sgml:
5410         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
5411         * libs/gst/dataprotocol/dataprotocol.h:
5412           API: make gst_dp_crc() public
5413
5414 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
5415
5416         * plugins/indexers/gstindexers.c: (plugin_init):
5417         conditionally register fileindexer (fixes #343598)
5418
5419 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
5420
5421         * gst/gsttagsetter.h:
5422         Can't cast ifaces to a class
5423
5424         * libs/gst/net/gstnetclientclock.h:
5425         * libs/gst/net/gstnettimeprovider.h:
5426         * plugins/elements/gstfakesink.h:
5427         * plugins/elements/gstfakesrc.h:
5428         * plugins/elements/gstfdsink.h:
5429         * plugins/elements/gstfdsrc.h:
5430         * plugins/elements/gstfilesink.h:
5431         * plugins/elements/gstfilesrc.h:
5432         * plugins/elements/gstidentity.h:
5433         * plugins/elements/gstqueue.h:
5434         * plugins/elements/gsttee.h:
5435         * plugins/indexers/gstfileindex.c:
5436         * plugins/indexers/gstmemindex.c:
5437         * tests/old/examples/plugins/example.h:
5438         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
5439
5440 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5441
5442         * libs/gst/dataprotocol/dataprotocol.c:
5443         (gst_dp_header_from_buffer):
5444           make sure we zero the whole ABI-compatible area
5445
5446 2006-06-01  Wim Taymans  <wim@fluendo.com>
5447
5448         Patch by: Alessandro Decina <alessandro at nnva dot org>
5449
5450         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
5451         Make sure the EOS flag is cleared from pads after a flush
5452         or stop. Fixes #343538.
5453
5454         * tests/check/libs/collectpads.c: (GST_START_TEST),
5455         (gst_collect_pads_suite):
5456         Added test for collectpads reusage after EOS.
5457
5458 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
5459
5460         * gst/gst.c:
5461          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
5462         * win32/common/libgstbase.def:
5463          export gst_collect_pads_set_flushing
5464         * win32/common/libgstreamer.def:
5465          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
5466          gst_value_fraction_multiply
5467         * win32/vs6/gst_inspect.dsp:
5468          add a link to intl.lib
5469
5470 2006-05-30  Wim Taymans  <wim@fluendo.com>
5471
5472         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
5473         (gst_collect_pads_chain):
5474         Handle the case where a pad is removed from the collection
5475         that could cause the other pads to become collectable.
5476
5477 2006-05-30  Wim Taymans  <wim@fluendo.com>
5478
5479         * gst/gstelement.c:
5480         Clarify the use of _release_request_pad() and
5481         _get_request_pad() a bit better.
5482
5483         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
5484         (gst_adapter_take_buffer):
5485         Fix some doc and comment typos.
5486
5487 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5488
5489         * docs/gst/gstreamer-sections.txt:
5490         * docs/libs/gstreamer-libs-sections.txt:
5491           add declared symbols
5492
5493 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
5494
5495         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
5496         Add debug that can be enabled using a #define at the top of the file,
5497         for dumping stats about how late/early we were when waking up from
5498         waiting on the clock.
5499
5500 2006-05-30  Wim Taymans  <wim@fluendo.com>
5501
5502         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
5503         When rebuilding the pad list, don't leak the previous list.
5504
5505 2006-05-30  Wim Taymans  <wim@fluendo.com>
5506
5507         Patch by: Lutz Mueller <lutz at topfrose dot de>
5508
5509         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5510         (gst_base_src_get_query_types), (gst_base_src_update_length):
5511         Publish supported query types.
5512         Update last_stop field in get_range mode so the position
5513         query works. Fixes #342321.
5514
5515 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
5516
5517         * docs/gst/gstreamer-sections.txt:
5518         * gst/gsttaglist.c: (_gst_tag_initialize):
5519         * gst/gsttaglist.h:
5520           API: add GST_TAG_PREVIEW_IMAGE (#343341).
5521
5522 2006-05-30  Wim Taymans  <wim@fluendo.com>
5523
5524         Patch by: Alessandro Decina <alessandro at nnva dot org>
5525
5526         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
5527         Unlock mutex when removing an unknown pad.
5528         Fixes #343334.
5529
5530         * tests/check/Makefile.am:
5531         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
5532         (push_event), (setup), (teardown), (GST_START_TEST),
5533         (gst_collect_pads_suite), (main):
5534         Added collecpads check, disabled for now as check crashes for
5535         some reason.
5536
5537 2006-05-29  Wim Taymans  <wim@fluendo.com>
5538
5539         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
5540         Don't leak pads lists.
5541
5542 2006-05-29  Wim Taymans  <wim@fluendo.com>
5543
5544         * docs/libs/gstreamer-libs-sections.txt:
5545         * libs/gst/base/gstcollectpads.c:
5546         (gst_collect_pads_set_flushing_unlocked),
5547         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
5548         (gst_collect_pads_stop):
5549         * libs/gst/base/gstcollectpads.h:
5550         API: gst_collect_pads_set_flushing()
5551         Added api to set the pads to flushing, useful for seeking
5552         code in elements using collectpads.
5553         Clear segment when receiving a flush.
5554
5555 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
5556
5557         * gst/gst.c: (add_path_func), (init_post):
5558           Don't scan registry paths passed via --gst-plugin-path immediately
5559           (will crash, because absolutely nothing is set up and no types are
5560           registered etc.); do this later in init_post(). Fixes #343057.
5561
5562 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5563
5564         * gst/gst.c: (init_post):
5565           if we have fork, fork while reading/rebuilding the registry
5566           so the parent doesn't take the hit of having all plugins loaded
5567           in memory.  Fixes #342777.
5568         * configure.ac:
5569           Check if we have fork()
5570         * win32/common/config.h.in:
5571           no fork() on win32
5572
5573 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
5574
5575         * plugins/elements/gstelements.c:
5576         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
5577         (gst_file_src_init), (gst_file_src_set_property),
5578         (gst_file_src_get_property), (gst_file_src_start):
5579         * plugins/elements/gstfilesrc.h:
5580           API: GstFileSrc::use-mmap
5581
5582         Add a use-mmap property to enable easier testing of all code paths.
5583         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
5584         in the absence of gnomevfssrc. (Closes #340501)
5585
5586 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5587
5588         * tools/gst-inspect.c:
5589         Add missing include, removes warning of ngettext not being defined on
5590         some arches.
5591
5592 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
5593
5594         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5595         Handle NULL input and output pointers silently as a failed conversion,
5596         rather than g_warnings.
5597
5598 2006-05-25  Wim Taymans  <wim@fluendo.com>
5599
5600         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
5601         Initialize variable before using. Fixes #342820.
5602
5603 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
5604
5605         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
5606           Fix off-by-one bug that would only allow peeks of N-1 bytes
5607           from the start even if the buffer to typefind on contains
5608           in fact N bytes of data (makes vorbis typefinding from a
5609           vorbis identification header buffer work).
5610
5611         * tests/check/Makefile.am:
5612         * tests/check/libs/.cvsignore:
5613         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
5614         (gst_typefindhelper_suite), (main), (foobar_typefind),
5615         (plugin_init):
5616           Add very basic unit test for gst_type_find_helper_for_buffer()
5617           that checks for the problem fixed above.
5618
5619 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5620
5621         * tools/gst-inspect.c: (print_interfaces),
5622         (print_element_properties_info), (print_element_list), (main):
5623           add more translatable strings
5624
5625 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
5626
5627         Patch by: Julien Moutte  <julien at moutte net>
5628
5629         * docs/gst/gstreamer-sections.txt:
5630           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
5631           
5632         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
5633         (gst_fake_sink_preroll):
5634         * plugins/elements/gstfakesink.h:
5635           API: Add new GstFakeSink::preroll-handoff signal (#337100).
5636
5637 2006-05-23  Wim Taymans  <wim@fluendo.com>
5638
5639         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
5640         * gst/gstpad.h:
5641         Added _CUSTOM error and success GstFlowReturn that can be
5642         used be elements internally. 
5643         Added macro to check for SUCCESS flowreturns.
5644         API: GST_FLOW_CUSTOM_SUCCESS
5645         API: GST_FLOW_CUSTOM_ERROR
5646         API: GST_FLOW_IS_SUCCESS
5647
5648         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
5649         Added check for GstFlowReturn sanity.
5650
5651 2006-05-23  Wim Taymans  <wim@fluendo.com>
5652
5653         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
5654
5655         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
5656         (gst_collect_pads_event):
5657         clear/reset segment info in FLUSH_STOP.
5658         Fixes #336929.
5659
5660 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
5661
5662         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
5663         (gst_collect_pads_check_collected):
5664         Flush queued buffer on _stop(), fixes playing again (#342454)
5665
5666 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5667
5668         * tests/check/gst/gststructure.c: (GST_START_TEST),
5669         (gst_structure_suite):
5670           add a test for a complete structure
5671
5672 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
5673
5674         * docs/faq/developing.xml:
5675         * docs/faq/faq.xml:
5676         * docs/faq/troubleshooting.xml:
5677         * docs/faq/using.xml:
5678           Some minor FAQ updates that won't change the fact that
5679           our FAQ is badly structured, full of information hardly
5680           anyone new to GStreamer needs to know and lacking lots
5681           of information people constantly ask for.
5682           
5683 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
5684
5685         * gst/gstpad.c: (gst_pad_set_caps):
5686           Short-circuit gst_pad_set_caps if setting the existing
5687           caps pointer again, and avoid printing debug and 
5688           reffing/unreffing the caps.
5689
5690         * plugins/elements/gstqueue.c: (gst_queue_push_one):
5691           There's actually no need to set the caps before pushing -
5692           the acceptcaps method will handle it anyway.
5693
5694 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
5695
5696         * docs/gst/gstreamer-sections.txt:
5697         * win32/common/libgstreamer.def:
5698         * gst/gstutils.c: (gst_element_seek_simple):
5699         * gst/gstutils.h:
5700           API: add gst_element_seek_simple() (#342238).
5701
5702 2006-05-18  Edward Hervey  <edward@fluendo.com>
5703
5704         * gst/gsttypefind.c: (gst_type_find_get_type):
5705         * gst/gsttypefind.h:
5706         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
5707         registered for GstTypeFind pointers. This allows wrapping the structure
5708         in bindings (i.e. gst-python).
5709
5710 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
5711
5712         * gst/gsttagsetter.c:
5713           Docs additions and fixes (see #339918).
5714
5715 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
5716
5717         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
5718         The caps intersection algorithm can produce multiple copies of the
5719         caps. Until that is fixed, we need to simplify the result to be
5720         sure whether the allowed caps are fixed or not.
5721
5722         * plugins/elements/gstqueue.c: (gst_queue_init),
5723         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
5724         (gst_queue_push_one):
5725         Proxied buffer alloc should not set the caps on the source pad.
5726         When pushing buffers, we always accept the caps change that triggers.
5727         This prevents negotiation errors caused by caps changing mid-stream 
5728         and then being refused on our source pad (because upstream is now
5729         refusing those caps).
5730
5731 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
5732
5733         * tests/examples/helloworld/helloworld.c: (main):
5734           Must plug audioconvert and audioresample between decoder
5735           and audio sink.
5736
5737 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
5738
5739         * gst/gstregistryxml.c: (read_string), (load_pad_template),
5740         (load_feature), (load_plugin):
5741         Allow empty strings for some of the plugin fields so we don't 
5742         drop valid plugin entries that were written out correctly
5743         (Fixes #341479)
5744
5745 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
5746         
5747         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
5748           Use g_remove and g_rename instead of remove and rename that don't 
5749           handle utf8 characters. rename was failing for users who had specific
5750           characters in their name then the registry was built at each 
5751           gstreamer init.
5752         * win32/vs6/gst_inspect.dsp:
5753         * win32/vs6/gst_launch.dsp:
5754         * win32/vs6/libgstbase.dsp:
5755         * win32/vs6/libgstcoreelements.dsp:
5756         * win32/vs6/libgstreamer.dsp:
5757           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
5758           build of libgstreamer and clean unused libraries in projects link 
5759           settings.
5760
5761 2006-05-17  Edward Hervey  <edward@fluendo.com>
5762
5763         * plugins/elements/gstqueue.c: (gst_queue_push_one):
5764         The queue is not responsible for pushing an EOS when receiving a fatal
5765         flow error. It's up to the real element driving the pipeline to do that.
5766
5767 2006-05-16  Edward Hervey  <edward@fluendo.com>
5768
5769         * plugins/elements/gstqueue.c: (gst_queue_push_one):
5770         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
5771         buffer returned a fatal error. It should just send an EOS and stop
5772         its task.
5773         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
5774         when pushing buffers on the queue and will be able to handle the event.
5775
5776 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
5777
5778         * docs/manual/basics-bins.xml:
5779         * docs/manual/basics-init.xml:
5780           Fix typos and minor errors in sample code (#341856).
5781
5782 2006-05-16  Wim Taymans  <wim@fluendo.com>
5783
5784         * docs/design/part-qos.txt:
5785         Fix indexes in formulas to make more sense.
5786
5787 2006-05-15  Wim Taymans  <wim@fluendo.com>
5788
5789         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
5790         Don't report POSITION based on clock time if sync is
5791         disabled in a sink.
5792
5793 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
5794
5795         * gst/gstobject.h:
5796           Add cast to make compiler happy - refcount variable was a gint
5797           in GstObject but is a guint in GObject and g_atomic_int_get()
5798           wants a gint *.
5799
5800 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5801
5802         * gst/parse/Makefile.am:
5803           chain commands using &&, which also makes parallel make work
5804
5805 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
5806
5807         * docs/gst/gstreamer-sections.txt:
5808         * gst/gstevent.c:
5809         * gst/gstevent.h:
5810         * gst/gstmessage.h:
5811           Minor docs fixes.
5812
5813 === release 0.10.6 ===
5814
5815 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
5816
5817         * configure.ac:
5818           releasing 0.10.6, "Take the cannoli"
5819
5820 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
5821
5822         * tools/gst-launch.c: (print_tag):
5823           Fix use of uninitialized variable in the hypothetical
5824           case that some broken plugin creates a GST_TAG_IMAGE
5825           tag containing a NULL buffer (#341667).
5826
5827 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
5828
5829         * tools/gst-launch.c: (print_tag):
5830           Print something more intelligible for image tags when
5831           using the -t switch (#341556).
5832
5833 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5834
5835         * Makefile.am:
5836           updates for win32
5837         * configure.ac:
5838           define GST_MAJORMINOR so we have it available in win32/common/config.h
5839           Possibly remove it from our Makefile.am files later
5840         * win32/common/config.h:
5841         * win32/common/config.h.in:
5842           added GST_MAJORMINOR
5843         * win32/common/gstenumtypes.c: (register_gst_resource_error):
5844         * win32/common/gstversion.h:
5845           updated
5846
5847 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
5848
5849         * win32/MANIFEST:
5850           Update win32 files listing.
5851         * win32/common/gstversion.h:
5852           Add GST_MAJORMINOR definition.
5853         * win32/common/libgstreamer.def:
5854           Add new exported functions.
5855           
5856 2006-05-12  Michael Smith  <msmith@fluendo.com>
5857
5858         * gst/gstplugin.c: (gst_plugin_load_file):
5859           If an so file has no plugin entry point, unload the module.
5860
5861 2006-05-11  Wim Taymans  <wim@fluendo.com>
5862
5863         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
5864         (gst_queue_set_property):
5865         Don't forget to signal the _chain or _loop function 
5866         when the queue size or thresholds change since that might
5867         cause them to make progres again.
5868
5869 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
5870
5871         * gst/gstclock.c: (gst_clock_class_init):
5872         * gst/gstindex.c: (gst_index_class_init):
5873         * gst/gstobject.c: (gst_object_class_init):
5874         * gst/gstpad.c: (gst_pad_class_init):
5875         * gst/gstpipeline.c: (gst_pipeline_class_init):
5876         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
5877         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
5878         * libs/gst/base/gstbasetransform.c:
5879         (gst_base_transform_class_init):
5880         * libs/gst/net/gstnetclientclock.c:
5881         (gst_net_client_clock_class_init):
5882         * libs/gst/net/gstnettimeprovider.c:
5883         (gst_net_time_provider_class_init):
5884         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
5885         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
5886         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
5887         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
5888         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
5889         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
5890         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
5891         * plugins/elements/gstidentity.c: (gst_identity_class_init):
5892         * plugins/elements/gsttee.c: (gst_tee_class_init):
5893         * tests/old/examples/plugins/example.c: (gst_example_class_init):
5894         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
5895           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
5896
5897 2006-05-11  Wim Taymans  <wim@fluendo.com>
5898
5899         * gst/gstbuffer.c: (_gst_buffer_initialize):
5900         Register subbufer along with the buffer type so that
5901         it does not accidentally gets registered from N
5902         different streaming threads in a non threadsafe way.
5903
5904 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
5905
5906         * gst/gstbuffer.h:
5907         * gst/gstevent.h:
5908         * gst/gstmessage.h:
5909           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
5910           gst_event_ref() and gst_message_ref() functions again
5911           (ugly hack, please do fix if there's a better way besides
5912           overrides.txt, which doesn't seem to work).
5913
5914 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5915
5916         * libs/gst/check/gstcheck.h:
5917           add an assert for setting state to avoid lots of repetitive code
5918           in the future
5919
5920 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5921
5922         * gst/gstvalue.c: (gst_value_serialize_flags):
5923           fix a leak if no flags are set
5924         * tests/check/gst/gstvalue.c: (GST_START_TEST):
5925           fix leak in tests
5926
5927 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
5928
5929         * docs/manual/basics-pads.xml:
5930           Expand a bit on caps and filtered links and update
5931           examples that were still using the no longer existing
5932           gst_pad_link_filtered() (#338206).
5933
5934 2006-05-10  Wim Taymans  <wim@fluendo.com>
5935
5936         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
5937         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
5938         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
5939         (gst_collect_pads_stop):
5940         * libs/gst/base/gstcollectpads.h:
5941         No need to call _stop in _finalize.
5942         Iterate the main pad list in _finalize.
5943         Added some more debug.
5944         Free lists and data in the right order.
5945         Also free data whem doing _remove_pad when stopped for
5946         backward compatibility protect ::started with PAD_LOCK as
5947         well.
5948
5949 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5950
5951         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
5952         (gst_structure_parse_value):
5953           add some comments
5954           rename a method so that it actually says what it does better
5955
5956 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5957
5958         * gst/gstevent.c: (_gst_event_initialize):
5959         * gst/gstformat.c: (_gst_format_initialize):
5960           make sure some essential types used by events are registered
5961           as part of gst_init()
5962         * gst/gstvalue.c: (gst_value_serialize_flags):
5963           if no flags are set, serialize them to a value that represents NONE
5964           so that deserializing them works
5965         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
5966           add tests for serialization and deserialization of flags
5967
5968 2006-05-10  Wim Taymans  <wim@fluendo.com>
5969
5970         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
5971         (gst_collect_pads_collect_range), (gst_collect_pads_available),
5972         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
5973         (gst_collect_pads_event), (gst_collect_pads_chain):
5974         Update docs.
5975         Better debug info.
5976         Catch and return errors from the collect function
5977         Refuse data on eos pads.
5978
5979 2006-05-10  Edward Hervey  <edward@fluendo.com>
5980
5981         * gst/gstinterface.h:
5982         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
5983         GInterface type checking.
5984         They were previously using non-defined macros.
5985
5986 2006-05-09  Wim Taymans  <wim@fluendo.com>
5987
5988         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
5989         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
5990         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
5991         (gst_collect_pads_start), (gst_collect_pads_stop),
5992         (gst_collect_pads_peek), (gst_collect_pads_pop),
5993         (gst_collect_pads_available), (gst_collect_pads_read),
5994         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
5995         (gst_collect_pads_is_collected), (gst_collect_pads_event),
5996         (gst_collect_pads_chain):
5997         * libs/gst/base/gstcollectpads.h:
5998         Clean up the mess that is collectpads, add comments and
5999         FIXMEs where needed.
6000         Maintain a separate pad list so we can add pads while
6001         collecting the other ones. For this we need a new separate 
6002         lock (see comics).
6003         Fix memory leak in finalize.
6004         Refactor some weird code to set/unset pad flushing flags, mark
6005         with comments.
6006         Don't crash in _available, _read, _flush when we're EOS.
6007
6008         * tests/check/libs/.cvsignore:
6009         Ignore adapter check binary.
6010
6011 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
6012
6013         * gst/gstindex.c: (gst_index_resolver_get_type):
6014         * plugins/elements/gstfakesink.c:
6015         (gst_fake_sink_state_error_get_type):
6016         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
6017         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
6018         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
6019           Const-ify GEnumValue arrays.
6020
6021 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
6022
6023         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
6024           Add test case for flags + gst_buffer_make_metadata_writable().
6025
6026 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
6027
6028         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
6029           gst_buffer_make_metadata_writable() should maintain the
6030           buffer flags (those that make sense at least) (see #340859).
6031
6032 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
6033
6034         * tools/gst-inspect.c:
6035         * tools/gst-launch.c:
6036         * tools/gst-typefind.c:
6037         * tools/gst-xmlinspect.c:
6038         * tools/tools.h:
6039           Fix up includes: need to include stdlib.h in tools.h for exit().
6040
6041 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
6042
6043         * gst/gsttaglist.c: (_gst_tag_initialize):
6044         * gst/gsttaglist.h:
6045           API: add GST_TAG_IMAGE tag (#340721).
6046
6047 2006-05-08  Wim Taymans  <wim@fluendo.com>
6048
6049         * gst/gstquery.c:
6050         Added some docs for the segment query.
6051
6052 2006-05-08  Wim Taymans  <wim@fluendo.com>
6053
6054         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
6055         (gst_base_src_loop), (gst_base_src_change_state):
6056         Always push non-flushing serialized events in the streaming 
6057         thread.
6058
6059 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6060
6061         * gst/gsterror.c: (_gst_stream_errors_init):
6062           Add a missing error string.
6063
6064 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
6065
6066         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
6067         Add applied_rate to the debug
6068
6069         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
6070         Copy applied_rate into the outgoing NEWSEGMENT event
6071
6072 2006-05-08  Wim Taymans  <wim@fluendo.com>
6073
6074         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
6075
6076         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
6077         (gst_base_sink_change_state):
6078         call ::unlock before taking the PREROLL_LOCK so we can safely
6079         handle elements that lock in ::render.
6080         Fixes #340174.
6081
6082 2006-05-08  Edward Hervey  <edward@fluendo.com>
6083
6084         * autogen.sh: (CONFIGURE_DEF_OPT): 
6085         Darwin's libtoolize is in fact called glibtoolize.
6086         Adding glibtoolize to the list of accepted names for libtoolize.
6087
6088 2006-05-08  Wim Taymans  <wim@fluendo.com>
6089
6090         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
6091         Unify error handling, don't post an error message
6092         when a push() returns EOS but perform our normal EOS
6093         handling code. Fixes #340772.
6094
6095 2006-05-08  Wim Taymans  <wim@fluendo.com>
6096
6097         * docs/design/part-overview.txt:
6098         Make upsteam/downstream concepts more clear.
6099         Give an example of serialized/non-serialized events.
6100
6101         * docs/design/part-events.txt:
6102         * docs/design/part-streams.txt:
6103         Mention applied_rate.
6104
6105         * docs/design/part-trickmodes.txt:
6106         Mention applied rate, flesh out some more use cases.
6107
6108         * gst/gstevent.c: (gst_event_new_new_segment),
6109         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
6110         (gst_event_parse_new_segment_full), (gst_event_new_tag),
6111         (gst_event_parse_tag), (gst_event_new_buffer_size),
6112         (gst_event_parse_buffer_size), (gst_event_new_qos),
6113         (gst_event_parse_qos), (gst_event_parse_seek),
6114         (gst_event_new_navigation):
6115         * gst/gstevent.h:
6116         Add applied_rate field to NEWSEGMENT event.
6117         API: gst_event_new_new_segment_full()
6118         API: gst_event_parse_new_segment_full()
6119
6120         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
6121         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
6122         (gst_segment_to_stream_time), (gst_segment_to_running_time):
6123         * gst/gstsegment.h:
6124         Add applied_rate to GstSegment structure.
6125         Make calculation of stream_time and running_time more correct
6126         wrt rate/applied_rate.
6127         Add some more docs.
6128         API: GstSegment::applied_rate field
6129         API: gst_segment_set_newsegment_full();
6130
6131         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
6132         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
6133         * libs/gst/base/gstbasetransform.c:
6134         (gst_base_transform_sink_eventfunc),
6135         (gst_base_transform_handle_buffer):
6136         Parse and use applied_rate in the GstSegment field.
6137
6138         * tests/check/gst/gstevent.c: (GST_START_TEST):
6139         Add check for applied_rate field.
6140
6141         * tests/check/gst/gstsegment.c: (GST_START_TEST),
6142         (gstsegments_suite):
6143         Add more checks for various GstSegment operations.
6144
6145 2006-05-08  Wim Taymans  <wim@fluendo.com>
6146
6147         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
6148         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
6149         (gst_base_sink_get_position), (gst_base_sink_change_state):
6150         Store the sync time of the buffer end position separatly in a
6151         new variable eos_rtime so we can properly sync the EOS event.
6152         Fixes #340697.
6153         Fix the docs for gst_base_sink_set_qos_enabled().
6154         Don't set segment start to invalid value when we receive a 
6155         non TIME newsegment.
6156         get closer to handling position reporting for negative rates 
6157         correctly.
6158
6159 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
6160
6161         * gst/gstcaps.c:
6162         Docs about how to print caps for debug purposes.
6163
6164         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
6165         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
6166
6167 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
6168
6169         * gst/gstelement.c:
6170           use full enum names and preprend a '%' in docs strings to make recent 
6171           gtk-doc turn that into a link
6172
6173 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6174
6175         * docs/manual/basics-bins.xml:
6176         * docs/manual/basics-bus.xml:
6177         * docs/manual/basics-pads.xml:
6178           Some typo fixes, some additions, some clarifications. 
6179
6180 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6181
6182         * tools/gst-inspect.c: (main):
6183         * tools/gst-launch.c: (main):
6184         * tools/gst-run.c: (main):
6185         * tools/gst-typefind.c: (main):
6186         * tools/gst-xmlinspect.c: (main):
6187           Use the string passed to g_option_context_new() for
6188           what it's intended for - the program name is already
6189           printed elsewhere.
6190
6191 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6192
6193         * tools/Makefile.am:
6194         * tools/gst-inspect.c: (main):
6195         * tools/gst-launch.c: (main):
6196         * tools/gst-xmlinspect.c: (main):
6197         * tools/tools.h:
6198           Add back --version command line option (#340460).
6199
6200         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
6201           Add --version option and use GOption for argument parsing; refactor a
6202           bit; accept directories as arguments and recurse into them; lastly,
6203           print a decent error message when things go wrong.
6204
6205 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
6206
6207         * docs/manual/basics-bins.xml:
6208         Don't mention GstThread (#340611)
6209         * docs/manual/basics-elements.xml:
6210         Update link to GObject tutorial (#340607)
6211         
6212 2006-05-05  Wim Taymans  <wim@fluendo.com>
6213
6214         * gst/gstbuffer.h:
6215         * gst/gstminiobject.c:
6216         Add note about refcounting and miniobject/buffer writeability
6217         to docs. Fixes #340604
6218
6219         * gst/gstelementfactory.h:
6220         Added some explanation about @klass.
6221
6222 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
6223
6224         * docs/manual/intro-motivation.xml:
6225         * docs/manual/manual.xml:
6226         Avoid CORBA & Bonobo references (#340598)
6227
6228 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
6229
6230         * docs/manual/basics-bus.xml:
6231         * docs/manual/basics-pads.xml:
6232         Fix up some inaccuracies and omissions (#340609)
6233         
6234 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
6235
6236         * gst/gstghostpad.c:
6237           Small typo in docs (#340625)
6238
6239 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6240
6241         * gst/parse/Makefile.am:
6242           Make 'make -j' proof (see #340698).
6243
6244 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6245
6246         * configure.ac:
6247           Require GLib-2.8 here as well.
6248
6249 2006-05-05  Wim Taymans  <wim@fluendo.com>
6250
6251         * gst/glib-compat.c:
6252         * gst/gst.c: (init_pre):
6253         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
6254         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
6255         (gst_object_dispatch_properties_changed):
6256         * gst/gstobject.h:
6257         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
6258         * gst/gststructure.c: (gst_structure_set_valist):
6259         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
6260         Remove pre glib2.8 compatibility, fixes #340508
6261
6262 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
6263
6264         * gst/gsttaglist.h:
6265           Mention type of tags in doc blurbs.
6266
6267 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
6268
6269         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
6270         (gst_pad_configure_src), (gst_pad_push):
6271         Restore acceptcaps checking behaviour now that good plugins have
6272         been released.
6273
6274 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
6275
6276         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
6277
6278         * gst/gst.c:
6279         * gst/gstbus.c:
6280         * gst/gstclock.c:
6281         * gst/gstevent.c:
6282         * gst/gstformat.c:
6283         * gst/gstmessage.c:
6284         * gst/gstparse.c:
6285         * gst/gstquery.c:
6286         * gst/gstutils.c:
6287         * gst/parse/Makefile.am:
6288         * libs/gst/base/gstadapter.c:
6289         * libs/gst/base/gstbasesrc.c:
6290         * libs/gst/base/gstpushsrc.c:
6291         * libs/gst/base/gsttypefindhelper.c:
6292         * plugins/elements/gstfakesrc.c:
6293         * plugins/elements/gstidentity.c:
6294           Make sure gstprivate.h and/or config.h are
6295           always included first, otherwise some of our
6296           defines (like _FILE_OFFSET_BITS) might be
6297           redefined in the system headers. Fixes build
6298           on opensolaris (#340016).
6299
6300 2006-05-04  Wim Taymans  <wim@fluendo.com>
6301
6302         * docs/libs/gstreamer-libs-sections.txt:
6303         API: addition: gst_adapter_take_buffer()
6304         
6305         * libs/gst/base/gstadapter.c: (gst_adapter_push),
6306         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
6307         (gst_adapter_available_fast):
6308         * libs/gst/base/gstadapter.h:
6309         Prepare for optimizing the hell out of this hugely inefficient
6310         piece of code. 
6311         Added gst_adapter_take_buffer() so we can at least start thinking
6312         about subbuffering and merging.
6313         Added some comments.
6314
6315         * tests/check/Makefile.am:
6316         * tests/check/libs/adapter.c: (GST_START_TEST),
6317         (gst_adapter_suite), (main):
6318         Added GstAdapter check.
6319
6320 2006-05-04  Wim Taymans  <wim@fluendo.com>
6321
6322         * docs/design/part-overview.txt:
6323         Fix some typos, add blurb about buffer flags.
6324
6325 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6326
6327         * docs/libs/gstreamer-libs-sections.txt:
6328           make sure GstBaseTransformClass shows up in the docs
6329         * libs/gst/base/gstbasetransform.c:
6330         * libs/gst/base/gstbasetransform.h:
6331           move docs so gtk-doc picks it up now
6332
6333 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
6334
6335         * docs/libs/gstreamer-libs-sections.txt:
6336           add missing symbols to docs
6337
6338 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
6339
6340         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
6341           back out the newsegment handling change, see #340060 for ongoing
6342           discussion
6343
6344 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
6345
6346         * tools/gst-run.c: (get_candidates), (main):
6347           Fix wrong g_file_test() usage (see glib docs for why it doesn't
6348           work); fix typo in error message. Fixes #340079.
6349
6350 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6351
6352         * common/Makefile.am:
6353         * docs/Makefile.am:
6354         * docs/faq/Makefile.am:
6355         * docs/gst/Makefile.am:
6356         * docs/libs/Makefile.am:
6357         * docs/manual/Makefile.am:
6358         * docs/plugins/Makefile.am:
6359         * docs/pwg/Makefile.am:
6360         * docs/slides/Makefile.am:
6361         * docs/upload.mak:
6362         * common/upload.mak:
6363           move upload.mak to common
6364
6365 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6366
6367         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
6368           add more asserts on refcounts
6369           do more cleanup at end of tests
6370           fix test leaks showing in FC5
6371
6372 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
6373
6374         * plugins/elements/gsttypefindelement.c:
6375         (gst_type_find_element_handle_event):
6376         reverted wrong change and reflowed code to avoid others falling into
6377         this trap
6378
6379 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6380
6381         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
6382           fix changelog entry about last collectpads change,
6383           add notes about proper fix
6384
6385 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6386
6387         * gst/gst.c:
6388         * gst/gstregistry.c: (gst_registry_scan_path_level),
6389         (gst_registry_scan_path):
6390         * gst/gstregistry.h:
6391           only write out registry if it has changed, fixes #338339
6392
6393 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6394
6395         * gst/gstbin.c:
6396         * gst/gstpipeline.c:
6397         * plugins/elements/gstcapsfilter.c:
6398         * plugins/elements/gstfakesink.c:
6399         * plugins/elements/gstfakesrc.c:
6400         * plugins/elements/gstfdsink.c:
6401         * plugins/elements/gstfdsrc.c:
6402         * plugins/elements/gstfilesink.c:
6403         * plugins/elements/gstfilesrc.c:
6404         * plugins/elements/gstidentity.c:
6405         * plugins/elements/gstqueue.c:
6406         * plugins/elements/gsttee.c:
6407         * plugins/elements/gsttypefindelement.c:
6408         (gst_type_find_element_handle_event):
6409           make GstElementDetails const
6410
6411 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6412
6413         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
6414         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
6415         (gst_collect_pads_is_collected), (gst_collect_pads_event):
6416           more detailed debug and formatting cleanup,
6417           forward newsegments to src-pad (so that e.g. adder not eats them)
6418
6419 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6420
6421         * gst/gstutils.c: (gst_element_link_pads):
6422           cleanup double code
6423
6424 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6425
6426         * libs/gst/controller/gstcontroller.c:
6427         (gst_controller_sync_values):
6428           some little tuning
6429         * tests/check/libs/controller.c: (GST_START_TEST),
6430         (gst_controller_suite):
6431           a new test for live value handling
6432
6433 2006-04-28  Wim Taymans  <wim@fluendo.com>
6434
6435         * gst/gstutils.c: (push_and_ref):
6436         Added some more docs.
6437         Fix refcount issue whith gst_element_found_tags() helper 
6438         function. Fixes #338335
6439
6440         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6441         Added testsuite for gst_element_found_tags().
6442
6443 2006-04-28  Michael Smith  <msmith@fluendo.com>
6444
6445         * gst/gstvalue.c: (gst_value_serialize_flags):
6446           Avoid NULL dereference when trying to serialize flags containing
6447           invalid values.
6448
6449 2006-04-28  Michael Smith  <msmith@fluendo.com>
6450
6451         * plugins/elements/gsttypefindelement.c:
6452         (gst_type_find_element_handle_event):
6453           If we get EOS before any data is accumulated, don't use
6454           uninitialised local variables.
6455
6456 2006-04-28  Michael Smith  <msmith@fluendo.com>
6457
6458         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
6459         (gst_dp_event_from_packet):
6460           Fixes in reading/writing events over GDP (not currently used?) - 
6461           dereferencing NULL events for unknown/invalid event types, memory
6462           leak, and change g_warning to GST_WARNING.
6463
6464 2006-04-28  Wim Taymans  <wim@fluendo.com>
6465
6466         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
6467         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
6468         (gst_base_sink_get_position), (gst_base_sink_change_state):
6469         When frame dropping is enabled, we should not ignore frames
6470         without a duration.
6471         Update some documentation.
6472
6473 2006-04-28  Wim Taymans  <wim@fluendo.com>
6474
6475         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
6476         (gst_base_src_send_event), (gst_base_src_change_state):
6477         Documentation updates.
6478
6479 2006-04-28  Wim Taymans  <wim@fluendo.com>
6480
6481         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
6482         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
6483         handle EAGAIN, EINTR and short writes correctly. Also clean
6484         up some error cases, avoid a deadlock on bad file descriptors and
6485         use GST_DEBUG_OBJECT.
6486         Fixes #339843
6487
6488 2006-04-28  Wim Taymans  <wim@fluendo.com>
6489
6490         * gst/gstvalue.c: (gst_value_serialize_buffer),
6491         (gst_value_deserialize_buffer):
6492         Don't try to serialize a GValue with a NULL buffer. 
6493         Fixes #339821.
6494
6495         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6496         Added check for serialisation of NULL buffers.
6497
6498 2006-04-28  Wim Taymans  <wim@fluendo.com>
6499
6500         * gst/gstminiobject.c: (gst_value_take_mini_object):
6501         Taking a NULL miniobject is valid, fix the case where
6502         we try to unref the NULL miniobject.
6503
6504 2006-04-28  Wim Taymans  <wim@fluendo.com>
6505
6506         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
6507
6508         * gst/gstbin.c: (gst_bin_handle_message_func):
6509         Update docs.
6510         Don't leak bin refcount when a state recalc is
6511         in progress and we delay another one #339808.
6512
6513 2006-04-28  Wim Taymans  <wim@fluendo.com>
6514
6515         * docs/design/part-TODO.txt:
6516         Mention QoS as an ongoing work item.
6517
6518         * docs/design/part-buffering.txt:
6519         New doc about buffering that needs to be fleshed out
6520         at some point.
6521
6522         * docs/design/part-qos.txt:
6523         More QoS policy for decoders/demuxers/transforms
6524
6525         * docs/design/part-trickmodes.txt:
6526         Small update.
6527
6528 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6529
6530         * configure.ac:
6531           back to HEAD
6532
6533 === release 0.10.5 ===
6534
6535 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
6536
6537         * configure.ac:
6538           releasing 0.10.5, "Fogo"
6539
6540 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6541
6542         patch by: Wim Taymans
6543
6544         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
6545         (gst_pad_configure_src), (gst_pad_push):
6546         * gst/gstpipeline.c: (gst_pipeline_init):
6547           Fix internal data flow errors.  Fixes #338711.
6548
6549 2006-04-12  Wim Taymans  <wim@fluendo.com>
6550
6551         * tests/check/gst/gstelement.c: (GST_START_TEST):
6552         Don't leak the factory.
6553
6554 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6555
6556         * configure.ac:
6557         * win32/common/config.h:
6558           prerelease
6559
6560 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
6561
6562         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
6563         (gst_controller_unset_all):
6564           Free allocated GstTimedValues when freeing list nodes.
6565           Should fix leaks 'make check-valgrind' complains about.
6566
6567         * win32/common/libgstcontroller.def:
6568           Add gst_controller_unset_all.
6569
6570 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
6571
6572         * docs/libs/gstreamer-libs-sections.txt:
6573         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
6574         (gst_controller_unset_all):
6575         * libs/gst/controller/gstcontroller.h:
6576         API: Added new method gst_controller_unset_all()
6577         fixed gst_controller_unset()
6578         * tests/check/libs/controller.c: (GST_START_TEST),
6579         (gst_controller_suite):
6580         Added two testcases for new and fixed method
6581
6582 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
6583
6584         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
6585           MSG_DONTWAIT is not defined on Cygwin, so work
6586           around that (fixes #317048).
6587           
6588 2006-04-11  Wim Taymans  <wim@fluendo.com>
6589
6590         * gst/gstelementfactory.c: (gst_element_register),
6591         (gst_element_factory_create), (gst_element_factory_make):
6592         Some cleanups.
6593         Fixed a FIXME.
6594         Updated docs (Fixes #131079)
6595
6596         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
6597         Small cleanups.
6598
6599         * tests/check/gst/gstelement.c: (GST_START_TEST),
6600         (gst_element_suite):
6601         Added testcase for elementfactory class field.
6602
6603 2006-04-10  Wim Taymans  <wim@fluendo.com>
6604
6605         * gst/gstsegment.c:
6606         Added some more docs.
6607
6608         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
6609         (gst_base_sink_reset_qos):
6610         Calculate more accurate rate values.
6611
6612 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
6613
6614         * gst/gst_private.h:
6615           add a new #ifdef to use __declspec(dllimport) only for
6616           other modules and not for gstreamer core
6617         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
6618           use gst_guint64_to_gdouble for conversion
6619         * win32/common/libgstreamer.def:
6620           add new exported functions
6621         * win32/vs6/gst_inspect.dsp:
6622         * win32/vs6/gst_launch.dsp:
6623         * win32/vs6/libgstbase.dsp:
6624         * win32/vs6/libgstcontroller.dsp:
6625         * win32/vs6/libgstcoreelements.dsp:
6626         * win32/vs6/libgstdataprotocol.dsp:
6627         * win32/vs6/libgstnet.dsp:
6628           update project files
6629
6630 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
6631
6632         * gst/gstbuffer.c: (gst_subbuffer_class_init):
6633         * gst/gstclock.c: (gst_clock_class_init):
6634         * gst/gstelement.c: (gst_element_class_init):
6635         * gst/gstindex.c: (gst_index_class_init):
6636         * gst/gstindexfactory.c: (gst_index_factory_class_init):
6637         * gst/gstobject.c: (gst_object_class_init),
6638         (gst_signal_object_class_init):
6639         * gst/gstpad.c: (gst_pad_class_init):
6640         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
6641         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
6642         * gst/gstregistry.c: (gst_registry_class_init):
6643         * gst/gstsystemclock.c: (gst_system_clock_class_init):
6644         * gst/gsttask.c: (gst_task_class_init):
6645         * gst/gstxml.c: (gst_xml_class_init):
6646         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
6647         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6648         (gst_base_src_loop):
6649         * libs/gst/controller/gstcontroller.c:/
6650         (_gst_controller_class_init):
6651         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
6652         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
6653         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
6654         * tests/old/examples/plugins/example.c: (gst_example_class_init):
6655         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
6656         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
6657
6658 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
6659
6660         * gst/gstpad.c: (gst_pad_link):
6661           Must set peer pads before calling the link function, otherwise
6662           a task started from a link function might get a flow-not-linked
6663           result when trying to push because the other thread where the
6664           linking happens hasn't had a chance to set the peers yet. This
6665           might happen for example when a queue gets linked to a downstream
6666           element, as queue starts a streaming task when its source pad
6667           gets linked. Happens in real life when playing back flac/musepack
6668           files in playbin (#332390).
6669           
6670 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
6671
6672         * gst/gstindex.h:
6673         * gst/gstxml.h:
6674         * libs/gst/base/gstadapter.h:
6675         * libs/gst/base/gstbasesink.h:
6676         * libs/gst/base/gstbasesrc.h:
6677         * libs/gst/base/gstbasetransform.h:
6678         * libs/gst/base/gstcollectpads.h:
6679         * libs/gst/base/gstpushsrc.h:
6680         Fix broken GObject macros
6681
6682 2006-04-07  Wim Taymans  <wim@fluendo.com>
6683
6684         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
6685         Initialize start and stop times, thanks valgrind.
6686
6687 2006-04-07  Wim Taymans  <wim@fluendo.com>
6688
6689         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
6690         Be a bit nicer to badly behaving upstream elements that expect
6691         us to deal with non TIME segments and timestamps (such as fakesrc
6692         in the testsuite).
6693
6694 2006-04-07  Wim Taymans  <wim@fluendo.com>
6695
6696         * gst/gstbus.c:
6697         Small documentation clarification about the signal watch.
6698
6699         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
6700         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
6701         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
6702         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
6703         (gst_base_sink_get_position_last),
6704         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
6705         Convert and store timestamps in stream time and running time, the
6706         raw timestamps are not useful, also document this better.
6707         Use different window sizes for good and bad QoS observations so
6708         we react to badness a little quicker.
6709         Keep track of the amount of rendered and dropped buffers.
6710         Send QoS timestamps in running time.
6711
6712         * libs/gst/base/gstbasetransform.c:
6713         (gst_base_transform_sink_eventfunc),
6714         (gst_base_transform_handle_buffer):
6715         Compare QoS timestamps against running time.
6716
6717 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
6718
6719         * gst/gstpad.c:
6720           Typo fixes in docs.
6721
6722 2006-04-06  Michael Smith  <msmith@fluendo.com>
6723
6724         * gst/gstpad.c: (gst_pad_set_property):
6725           Use g_value_get_object() instead of g_value_dup_gst_object(),
6726           to avoid double-reffing the pad template (which we then sink,
6727           so this worked previously if (and only if) the pad template
6728           was floating.
6729
6730         * gst/gstpadtemplate.c: (gst_pad_template_init),
6731         (gst_pad_template_pad_created):
6732           Never return floating references to pad templates, create
6733           them as initially-sunken.
6734
6735           Document an extra function (and make this stop sinking our
6736           pad template, since that is now guaranteed to do nothing,
6737           since we created it sunken).
6738
6739         * gst/gstghostpad.c:
6740           Fix docs typo.
6741
6742 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
6743
6744         * gst/gstinfo.c: (__gst_in_valgrind):
6745           Add some newlines.
6746
6747         * plugins/elements/gsttypefindelement.c:
6748         (gst_type_find_element_chain):
6749           Don't leak buffer caps.
6750
6751 2006-04-06  Michael Smith  <msmith@fluendo.com>
6752
6753         * gst/parse/grammar.y:
6754           Fix a leak in parse-launch for any source-or-sink named element 
6755           references used.
6756
6757         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
6758           Unref the pipeline if it exists after we've failed parsing.
6759
6760 2006-04-05  Michael Smith  <msmith@fluendo.com>
6761
6762         * gst/gstpipeline.c: (gst_pipeline_init):
6763           When we create a pipeline bus, initially create it in flushing mode.
6764           Fixes leaks in at least one test, and makes a new pipeline work the
6765           same as one that has gone to READY and then back to NULL.
6766
6767         * gst/gstelement.c:
6768           Typo fix in docs.
6769
6770 2006-04-05  Michael Smith  <msmith@fluendo.com>
6771
6772         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
6773           Unref a pad we reffed.
6774         * tests/check/gst/gstutils.c: (GST_START_TEST):
6775           Unref bins
6776
6777 2006-04-05  Michael Smith  <msmith@fluendo.com>
6778
6779         * gst/gstquery.c: (gst_query_set_formats),
6780         (gst_query_set_formatsv):
6781           Fix leaking GValues in queries, as shown by valgrind/testsuite.
6782
6783 2006-04-05  Michael Smith  <msmith@fluendo.com>
6784
6785         * tests/check/generic/sinks.c: (GST_START_TEST):
6786           Fix a variety of memleaks in sinks check, which are only sometimes 
6787           shown by running the tests under valgrind (weird?).
6788
6789 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
6790
6791         * docs/version.entities.in:
6792           Fix the substituted entity name after thomas' changes on the
6793           weekend.
6794
6795 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6796
6797         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
6798         VALGRIND_PRINTF
6799         
6800 2006-04-05  Andy Wingo  <wingo@pobox.com>
6801
6802         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
6803
6804         * libs/gst/base/gstbasetransform.c
6805         (gst_base_transform_sink_eventfunc): When resetting our segment on
6806         FLUSH_STOP, also update the flag saying we haven't seen a
6807         newsegment.
6808
6809 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
6810
6811         Patch by: Paolo Borelli  <pborelli at katamail dot com>
6812
6813         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
6814         (gst_plugin_check_license):
6815           minor clean-ups: G_DEFINE_TYPE already takes care of the
6816           parent_class stuff, no need to do it twice. Mark array of
6817           license strings as constant. (#337103)
6818           
6819 2006-04-04  Michael Smith  <msmith@fluendo.com>
6820
6821         * tools/gst-inspect.c: (print_element_list):
6822           Free the right plugin list; fixes a memory leak.
6823
6824 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
6825
6826         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
6827
6828         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
6829           Don't error out on empty buffers (#336945).
6830           
6831 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
6832
6833         * docs/libs/gstreamer-libs-sections.txt:
6834         * gst/gsttaglist.c:
6835         * libs/gst/base/gstbasesink.c:
6836         * libs/gst/base/gstbasesink.h:
6837         * libs/gst/base/gstbasesrc.c:
6838         * libs/gst/base/gstbasesrc.h:
6839           Documentation updates. Make BaseSink and BaseSrc docs contain the
6840           class structure so that people can actually see the prototypes for
6841           virtual functions they're supposed to be overriding.
6842
6843 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
6844
6845         * plugins/elements/gsttypefindelement.c:
6846         (gst_type_find_element_chain):
6847           More debug info; when skipping typefinding, send cached
6848           events in all cases.
6849
6850 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
6851
6852         * configure.ac:
6853           use new AS_VERSION and AS_NANO macros
6854         * gst/gst-i18n-lib.h:
6855         * gst/gst.c:
6856         * gst/gsterror.c:
6857         * gst/gstversion.h.in:
6858         * win32/common/config.h:
6859         * win32/common/config.h.in:
6860           update accordingly
6861
6862 2006-03-31  Michael Smith  <msmith@fluendo.com>
6863
6864         * plugins/elements/gsttypefindelement.c:
6865         (gst_type_find_element_chain):
6866           Do not typefind content if the buffers already have caps.
6867           Neccesary for icydemux (#333657), and the right thing to do anyway.
6868
6869 2006-03-30  Wim Taymans  <wim@fluendo.com>
6870
6871         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
6872         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
6873         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
6874         (gst_base_sink_record_qos_observation),
6875         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
6876         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
6877         (gst_base_sink_change_state):
6878         More QoS measurements as described in the design doc.
6879         Get rid of ringbuffer with observations, running average is
6880         more simple and equally good.
6881         Calculates valid proportion now.
6882         Added beginning of flood measurement.
6883
6884 2006-03-29  Wim Taymans  <wim@fluendo.com>
6885
6886         * docs/design/part-qos.txt:
6887         * gst/gstclock.c:
6888         Small documentation updates and additions.
6889
6890 2006-03-29  Wim Taymans  <wim@fluendo.com>
6891
6892         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
6893         (gst_base_src_send_event), (gst_base_src_loop),
6894         (gst_base_src_change_state):
6895         Perform the EOS logic when we reach the segment stop position.
6896         Fix compilation on gcc4.1
6897
6898 2006-03-29  Wim Taymans  <wim@fluendo.com>
6899
6900         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
6901
6902         * plugins/elements/gstqueue.c: (gst_queue_init),
6903         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
6904         (gst_queue_set_property):
6905         * plugins/elements/gstqueue.h:
6906         In queue, when EOS is received, if minimum threshold > max_size -
6907         current_level, there is chance that queue blocks forever in conditional
6908         item del wait. This is because the queue is not emptied completely due
6909         to minimum threshold.  Here is another approach. Instead of setting
6910         cur_levels to max in EOS, just zero all minimum threshold levels. This
6911         should make sure that queue gives out all data. When going to READY
6912         (stop) state, just reset the original minimum threshold levels.
6913         Fixes #336336.
6914
6915 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
6916
6917         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
6918         (gst_type_find_element_handle_event),
6919         (gst_type_find_element_send_cached_events),
6920         (gst_type_find_element_change_state):
6921         * plugins/elements/gsttypefindelement.h:
6922           When typefinding is done in push mode, we should cache
6923           events we receive during typefinding instead of just
6924           dropping them (e.g. newsegment, custom events from
6925           dvdreadsrc etc.) and then send them out once we've
6926           determined the type of the stream (and decodebin
6927           has had a chance to plug in a decoder/demuxer).
6928           
6929 2006-03-27  Wim Taymans  <wim@fluendo.com>
6930
6931         * docs/design/part-qos.txt:
6932         First QoS ideas.
6933
6934 2006-03-27  Wim Taymans  <wim@fluendo.com>
6935
6936         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
6937
6938         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
6939         (gst_base_src_send_event), (gst_base_src_change_state):
6940         Handle element seek correctly when we are streaming.
6941         Fixes #326998.
6942
6943 2006-03-24  Michael Smith  <msmith@fluendo.com>
6944
6945         * docs/faq/gst-uninstalled:
6946           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
6947           allow you to correctly run intalled applications built against old 
6948           core, using plugins that require updated core (e.g. running
6949           installed totem against a full uninstalled gstreamer stack)
6950
6951 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
6952
6953         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
6954         more debug details
6955
6956 2006-03-24  Wim Taymans  <wim@fluendo.com>
6957
6958         * docs/gst/gstreamer-sections.txt:
6959         Rearrange the order of the methods so that related methods
6960         are grouped together in sections.
6961
6962 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
6963
6964         * gst/gstelement.c:
6965           Little clarification in the docs
6966
6967 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
6968
6969         * docs/README:
6970         formatting fix
6971         * plugins/elements/gstidentity.c:
6972         * plugins/elements/gstqueue.c:
6973         * plugins/elements/gsttee.c:
6974         * plugins/elements/gsttypefindelement.c:
6975         GST_ELEMENT_DETAILS formatting
6976
6977 2006-03-24  Wim Taymans  <wim@fluendo.com>
6978
6979         * libs/gst/base/gstbasesink.h:
6980         Only add fields, not insert or we break ABI.
6981
6982 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
6983
6984         * win32/common/libgstbase.def:
6985         * win32/common/libgstreamer.def:
6986           Update, add recently added functions.
6987
6988 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
6989
6990         * docs/gst/gstreamer-sections.txt:
6991         * gst/gstutils.c: (gst_pad_query_peer_position),
6992         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
6993         * gst/gstutils.h:
6994           API: add some new utility functions:
6995            - gst_pad_query_peer_position()
6996            - gst_pad_query_peer_duration()
6997            - gst_pad_query_peer_convert()
6998           
6999 2006-03-23  Wim Taymans  <wim@fluendo.com>
7000
7001         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
7002         (gst_base_sink_init), (gst_base_sink_finalize),
7003         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
7004         (gst_base_sink_set_property), (gst_base_sink_get_property),
7005         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
7006         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
7007         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
7008         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
7009         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
7010         (gst_base_sink_preroll_object), (gst_base_sink_event),
7011         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
7012         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
7013         (gst_base_sink_query), (gst_base_sink_change_state):
7014         Decouple max-lateness and the fact that QoS messages are generated
7015         with a new property (qos).
7016         added API: GstBaseSink::async_play()
7017         Add vmethod so subclasses can be notified of ASYNC playing
7018         state changes.
7019         Collect timestamp start and stop to report better current
7020         position in EOS/PLAYING/PAUSED/READY/NULL.
7021         Refactor QoS/frame dropping and other measurements.
7022         API: GstBaseSrc::qos
7023         Fixes #326311
7024
7025         * libs/gst/base/gstbasesink.h:
7026         Added Private struct.
7027         API: gst_base_sink_set_qos_enabled()
7028         API: gst_base_sink_is_qos_enabled()
7029
7030 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
7031
7032         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
7033           If compiling against GLib-2.8 or newer, try to read the
7034           registry file using GMappedFile first before falling back
7035           to fopen() + fread() (#332151).
7036
7037 2006-03-22  Wim Taymans  <wim@fluendo.com>
7038
7039         * gst/gstinfo.c: (gst_debug_set_active),
7040         (gst_debug_category_set_threshold):
7041         Disable debugging unless explicitly activated.
7042         Fixes #335480.
7043
7044 2006-03-22  Wim Taymans  <wim@fluendo.com>
7045
7046         * gst/gstelement.c: (gst_element_set_locked_state),
7047         (gst_element_dispose):
7048         Cleanup the error case.
7049
7050         * gst/gstobject.c: (gst_object_dispose):
7051         print a critical when some object was disposed with
7052         a parent, also revive the object since it might
7053         crash the parent.
7054
7055 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
7056
7057         * tools/gst-launch.1.in:
7058           Fix another typo.
7059
7060 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7061
7062         * configure.ac:
7063         * tests/check/Makefile.am:
7064           disable some tests when we don't have a registry
7065         * tests/check/gst/gstutils.c: (gst_utils_suite):
7066           don't build the part that needs parsing
7067
7068 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7069
7070         * gst/Makefile.am
7071         * tests/examples/Makefile.am:
7072           fix --disable-parse build
7073
7074 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
7075
7076         * tools/gst-feedback.1.in:
7077           Fix typo: s/feeback/feedback/ (#133494).
7078
7079 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
7080
7081         * tools/Makefile.am:
7082         * tools/gst-launch.1.in:
7083           Add FILES section and correct entry about GST_REGISTRY_PATH
7084           environment variable (#133495; #133494).
7085
7086 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
7087
7088         * tools/Makefile.am:
7089         * tools/gst-md5sum.1.in:
7090         * tools/gst-md5sum.c:
7091           Remove gst-md5sum and man page (the md5sink element
7092           required was removed ages ago)
7093
7094 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
7095
7096         * gst/gststructure.c: (gst_structure_id_set_value):
7097           Make sure that string fields in structures/taglists
7098           contain valid UTF-8 - we don't want to pass rubbish to
7099           applications because of a buggy plugin (cp. #334167).
7100
7101 2006-03-21  Edward Hervey  <edward@fluendo.com>
7102
7103         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
7104         (gst_bin_handle_message_func):
7105         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
7106         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
7107         (gst_element_set_bus_func):
7108         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
7109         * gst/gstminiobject.c: (gst_value_set_mini_object),
7110         (gst_value_take_mini_object):
7111         * gst/gstpad.c: (gst_pad_set_pad_template):
7112         * gst/gstpipeline.c: (gst_pipeline_dispose),
7113         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
7114         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
7115         (gst_collect_pads_chain):
7116         * libs/gst/net/gstnettimeprovider.c:
7117         (gst_net_time_provider_set_property):
7118         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
7119         It's in fact all issues with gst_*object_replace().
7120
7121 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
7122
7123         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
7124         
7125         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7126         * pkgconfig/gstreamer-check.pc.in:
7127           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
7128
7129 2006-03-21  Edward Hervey  <edward@fluendo.com>
7130
7131         * gst/gstbuffer.h:
7132         * gst/gstevent.h:
7133         * gst/gstmessage.h:
7134         gst_[buffer|event|message]_ref() macros are replaced by a static
7135         inline functions because gcc-4.1 will about if the return value
7136         isn't used.
7137         * tests/check/gst/gstevent.c: (event_probe):
7138         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
7139
7140 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
7141
7142         * gst/gstutils.h:
7143         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
7144         the type' case. (Closes: #335195 for now). In the future, when we
7145         depend on GLib 2.10, we could also intern the type name using
7146         g_intern_static_string()
7147
7148 2006-03-20  Wim Taymans  <wim@fluendo.com>
7149
7150         * gst/gstbin.c: (gst_bin_handle_message_func),
7151         (bin_query_max_init), (bin_query_position_fold),
7152         (bin_query_position_done), (gst_bin_query):
7153         Position query should also take max of all streams.
7154
7155 2006-03-20  Wim Taymans  <wim@fluendo.com>
7156
7157         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
7158         (gst_fake_src_finalize):
7159         Fix leaks in fakesrc.
7160
7161         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
7162         Fix leaks in the testcase.
7163
7164 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
7165
7166         * gst/gst_private.h:
7167           add win32 specific import decoration(__declspec(dllimport)) 
7168           for all extern GstDebugCategory * variables
7169         * win32/common/libgstbase.def:
7170         * win32/common/libgstcontroller.def:
7171         * win32/common/libgstreamer.def:
7172           Add some exports, remove empty lines
7173         * win32/common/libgstdataprotocol.def:
7174         * win32/common/libgstdataprotocol.dsp:
7175         * win32/common/libgstnet.def:
7176         * win32/common/libgstnet.dsp:
7177           new project files and exportation files added
7178         
7179 2006-03-19  Wim Taymans  <wim@fluendo.com>
7180
7181         * tests/check/libs/basesrc.c: (eos_event_counter):
7182         Use proper return value for probe.
7183
7184 2006-03-17  Wim Taymans  <wim@fluendo.com>
7185
7186         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
7187         (gst_pad_push):
7188         Don't leak buffers, caps and pads on negotiation errors.
7189
7190 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
7191
7192         * docs/faq/cvs.xml:
7193         * docs/faq/dependencies.xml:
7194         * docs/faq/developing.xml:
7195         * docs/faq/faq.xml:
7196         * docs/faq/general.xml:
7197         * docs/faq/getting.xml:
7198         * docs/faq/legal.xml:
7199         * docs/faq/troubleshooting.xml:
7200         * docs/faq/using.xml:
7201         Faq review and update.
7202
7203 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
7204
7205         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
7206         (gst_pad_push):
7207         Don't pound the cpu to pieces by checking get_caps when accept_caps
7208         is called with the same caps as the pad already has.
7209         Use GST_DEBUG_OBJECT when outputting caps change information.
7210
7211 2006-03-15  Wim Taymans  <wim@fluendo.com>
7212
7213         * gst/gstclock.c: (gst_clock_class_init):
7214         Fix docs.
7215
7216 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
7217
7218         * gst/gstbuffer.h:
7219         Documentation fix.
7220
7221         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
7222         (gst_pad_accept_caps), (gst_pad_configure_sink),
7223         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
7224         Make the default acceptcaps behaviour be to check the requested 
7225         caps against the gst_pad_get_caps output. 
7226
7227         Ensure that gst_pad_accept_caps is used to check caps when a pad
7228         doesn't have a setcaps function, so that pads automatically refuse 
7229         caps that they don't allow in their pad template. (Fixes #332986)
7230
7231         When a buffer with attached caps is pushed, ensure that the source 
7232         pad receives those caps even if the element didn't call
7233         gst_pad_set_caps first.
7234
7235 2006-03-15  Wim Taymans  <wim@fluendo.com>
7236
7237         * libs/gst/base/gstadapter.c:
7238         Add some docs.
7239
7240 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
7241
7242         * win32/common/libgstbase.def:
7243         * win32/common/libgstcontroller.def:
7244         * win32/common/libgstreamer.def:
7245           Add a whole bunch of missing functions (#334434).
7246
7247 2006-03-14  Wim Taymans  <wim@fluendo.com>
7248
7249         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
7250         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
7251         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
7252         Better debug info when we receive a segment event.
7253         Reorganize a bit so we can pass the get_times() results around.
7254         Use the segment format when calculating the running time.
7255         Don't do QoS is sync is disabled or we have no clock or the
7256         element does not want us to sync to the clock.
7257         Don't drop buffers if QoS is disabled for now.
7258
7259 2006-03-14  Wim Taymans  <wim@fluendo.com>
7260
7261         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
7262         Marked the stats property as unimplemented so people don't get
7263         wild ideas.
7264         Add debug message when regression goes wrong.
7265         Added some more docs.
7266
7267 2006-03-14  Wim Taymans  <wim@fluendo.com>
7268
7269         * gst/gstsegment.c: (gst_segment_to_stream_time):
7270         Return correct return type in case of errors.
7271
7272 2006-03-14  Wim Taymans  <wim@fluendo.com>
7273
7274         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
7275           Don't segfault on invalid formats.
7276
7277 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
7278
7279         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
7280           Can't use gst_segment_to_running_time() when the segment
7281           is not in GST_TIME_FORMAT (like with filesink, for example).
7282           Stops flac encoding pipelines from spewing critical warnings
7283           at EOS (#331248).
7284           
7285 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
7286
7287         * gst/gstpipeline.c: (gst_pipeline_class_init):
7288           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
7289
7290         * plugins/elements/gsttypefindelement.c:
7291         (gst_type_find_element_handle_event):
7292           Don't try to typefind empty streams.
7293
7294 2006-03-14  Wim Taymans  <wim@fluendo.com>
7295
7296         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
7297         (gst_base_sink_do_qos):
7298         Separate QoS calculation.
7299         Only drop buffers when lateness is bigger than the 
7300         duration of the buffer.
7301
7302 2006-03-13  Wim Taymans  <wim@fluendo.com>
7303
7304         * gst/gstpipeline.c: (gst_pipeline_set_property),
7305         (gst_pipeline_get_property), (do_pipeline_seek),
7306         (gst_pipeline_change_state), (gst_pipeline_set_delay),
7307         (gst_pipeline_get_delay):
7308         Don't deadlock when reading properties.
7309
7310 2006-03-13  Wim Taymans  <wim@fluendo.com>
7311
7312         * libs/gst/base/gstbasetransform.c:
7313         (gst_base_transform_class_init), (gst_base_transform_init),
7314         (gst_base_transform_sink_event),
7315         (gst_base_transform_sink_eventfunc),
7316         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
7317         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
7318         (gst_base_transform_set_property),
7319         (gst_base_transform_get_property),
7320         (gst_base_transform_change_state), (gst_base_transform_update_qos),
7321         (gst_base_transform_set_qos_enabled),
7322         (gst_base_transform_is_qos_enabled):
7323         * libs/gst/base/gstbasetransform.h:
7324         Make basetransform virtual method for src events too.
7325         Handle QOS in basetransform.
7326         API: gst_base_transform_update_qos()
7327         API: gst_base_transform_set_qos_enabled()
7328         API: gst_base_transform_is_qos_enabled()
7329
7330 2006-03-13  Wim Taymans  <wim@fluendo.com>
7331
7332         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
7333         (gst_base_sink_do_sync):
7334         Small cleanups.
7335         Use QOS debug category.
7336
7337 2006-03-13  Wim Taymans  <wim@fluendo.com>
7338
7339         * plugins/elements/gstqueue.c:
7340         Very small doc update.
7341
7342 2006-03-13  Wim Taymans  <wim@fluendo.com>
7343
7344         * gst/gst_private.h:
7345         * gst/gstinfo.c: (_gst_debug_init):
7346         Added QOS debug category
7347
7348 2006-03-13  Wim Taymans  <wim@fluendo.com>
7349
7350         * docs/gst/gstreamer-sections.txt:
7351         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
7352         * gst/gstbin.h:
7353         * gst/gstbus.c: (gst_bus_class_init):
7354         * gst/gstbus.h:
7355         * gst/gstclock.c:
7356         * gst/gstelement.c: (gst_element_set_locked_state):
7357         * gst/gstsegment.c:
7358         Documentation updates.
7359
7360         * gst/gstpipeline.c: (gst_pipeline_get_type),
7361         (gst_pipeline_class_init), (gst_pipeline_init),
7362         (gst_pipeline_dispose), (gst_pipeline_set_property),
7363         (gst_pipeline_get_property), (do_pipeline_seek),
7364         (gst_pipeline_send_event), (gst_pipeline_change_state),
7365         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
7366         (gst_pipeline_get_delay):
7367         * gst/gstpipeline.h:
7368         Added methods for setting the delay.
7369         API: gst_pipeline_set_delay()
7370         API: gst_pipeline_get_delay()
7371         Add pipeline debug category
7372         Various cleanups.
7373         Updated docs.
7374         Don't reset stream time when seek failed.
7375
7376 2006-03-13  Wim Taymans  <wim@fluendo.com>
7377
7378         * docs/design/draft-klass.txt:
7379         * docs/design/part-clocks.txt:
7380         * docs/design/part-events.txt:
7381         * docs/design/part-gstbin.txt:
7382         * docs/design/part-gstpipeline.txt:
7383         * docs/design/part-messages.txt:
7384         * docs/design/part-negotiation.txt:
7385         * docs/design/part-overview.txt:
7386         * docs/design/part-preroll.txt:
7387         * docs/design/part-seeking.txt:
7388         * docs/design/part-states.txt:
7389         * docs/design/part-streams.txt:
7390         Documentation updates.
7391
7392 2006-03-12  Julien MOUTTE  <julien@moutte.net>
7393
7394         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
7395         us to leak strings...
7396
7397 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7398
7399         * libs/gst/net/gstnettimeprovider.c:
7400           fix docs
7401         * win32/common/config.h:
7402           update
7403
7404 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
7405
7406         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
7407
7408         * configure.ac:
7409           Don't check for libgnomeui (leftover from old examples
7410           that aren't built or disted any longer) (#334303).
7411           
7412 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
7413
7414         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
7415         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
7416           Emit RESOURCE_NO_SPACE_LEFT error here as well when
7417           there's no space left on the device.
7418
7419 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
7420
7421         * gst/gstclock.h:
7422           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
7423           to cast the input to GstClockTime before comparing with
7424           another GstClockTime value.
7425
7426 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7427
7428         * configure.ac:
7429           back to trunk
7430
7431 === release 0.10.4 ===
7432
7433 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
7434
7435         * configure.ac:
7436           releasing 0.10.4, "Light"
7437
7438 2006-03-10  Michael Smith  <msmith@fluendo.com>
7439
7440         * libs/gst/dataprotocol/dataprotocol.c:
7441           Fix docs for dataprocotol to not get the return types completely
7442           wrong for a few functions.
7443
7444 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
7445
7446         * docs/gst/gstreamer-sections.txt:
7447         * gst/gstpipeline.c: (gst_pipeline_class_init),
7448         (gst_pipeline_init), (gst_pipeline_set_property),
7449         (gst_pipeline_get_property), (gst_pipeline_change_state),
7450         (gst_pipeline_set_auto_flush_bus),
7451         (gst_pipeline_get_auto_flush_bus):
7452         * gst/gstpipeline.h:
7453           Add new API: gst_pipeline_set_auto_flush_bus() and
7454           gst_pipeline_get_auto_flush_bus() to disable automatic
7455           flushing of the pipeline's GstBus when going from READY
7456           to NULL state (#332045).
7457
7458 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
7459
7460         * docs/gst/gstreamer-sections.txt:
7461         * gst/gsturi.c: (gst_uri_has_protocol):
7462         * gst/gsturi.h:
7463            Add new API: gst_uri_has_protocol() (#333779).
7464
7465 2006-03-09  Wim Taymans  <wim@fluendo.com>
7466
7467         * gst/gstclock.c: (gst_clock_entry_new),
7468         (gst_clock_id_compare_func), (gst_clock_id_wait),
7469         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
7470         (gst_clock_init), (gst_clock_get_internal_time),
7471         (gst_clock_set_master), (do_linear_regression),
7472         (gst_clock_add_observation), (gst_clock_set_property):
7473         * gst/gstclock.h:
7474         Review docs.
7475         Small cleanups.
7476         Fix a possible segfault when the window-size is made smaller.
7477         Calculate jitter before performing the clock wait. Ideally
7478         the clock implementation should calculate jitter but we need
7479         API breakage for that.
7480
7481         * gst/gstsystemclock.c: (gst_system_clock_init):
7482         Docs review.
7483         
7484         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7485         Remove leftover else
7486
7487         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
7488         (gst_systemclock_suite):
7489         Added check to test GST_CLOCK_DIFF.
7490
7491 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
7492
7493         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
7494         (gst_type_find_helper_get_range):
7495           If we are provided with the size, we should implement
7496           GstTypeFind::get_length, so that typefind functions who
7497           want to can actually peek at the middle of a file.
7498
7499 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
7500
7501         * docs/manual/advanced-dataaccess.xml:
7502           Add some very very basic error checking.
7503
7504         * docs/pwg/appendix-checklist.xml:
7505           Some updates to the list of things to check when writing an element.
7506
7507 2006-03-08  Wim Taymans  <wim@fluendo.com>
7508
7509         * docs/design/part-element-transform.txt:
7510         Added some docs about the design of tranform elements.
7511
7512         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
7513         (gst_base_src_loop), (gst_base_src_change_state):
7514         Mark buffers with the DISCONT flag.
7515
7516 2006-03-08  Michael Smith  <msmith@fluendo.com>
7517
7518         * gst/gstregistry.h:
7519         * gst/gstregistryxml.c: (gst_registry_save),
7520         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
7521         (gst_registry_xml_save_pad_template),
7522         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
7523         (gst_registry_xml_write_cache):
7524           Rewrite registry-saving to avoid race conditions and check for
7525           failed writes.
7526
7527 2006-03-08  Wim Taymans  <wim@fluendo.com>
7528
7529         * libs/gst/base/gstbasetransform.c:
7530         (gst_base_transform_transform_caps),
7531         (gst_base_transform_transform_size),
7532         (gst_base_transform_prepare_output_buffer),
7533         (gst_base_transform_get_unit_size),
7534         (gst_base_transform_buffer_alloc),
7535         (gst_base_transform_handle_buffer),
7536         (gst_base_transform_change_state):
7537         Cleanups, separate normal flow from errors, add sensible
7538         DEBUG lines.
7539         Don't try to renegotiate when allocating an output buffer.
7540         Also copy DISCONT buffer flag when copying a buffer.
7541         Reset the transform after we finish streaming, not during.
7542
7543 2006-03-08  Wim Taymans  <wim@fluendo.com>
7544
7545         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7546         Use last buffer timestamp in qos message.
7547
7548 2006-03-07  Wim Taymans  <wim@fluendo.com>
7549
7550         Patch by: Christophe Fergeau
7551
7552         * docs/pwg/advanced-tagging.xml:
7553         * docs/pwg/building-pads.xml:
7554           fixes #333416
7555
7556 2006-03-07  Wim Taymans  <wim@fluendo.com>
7557
7558         * docs/libs/gstreamer-libs-sections.txt:
7559         Added basesink new methods.
7560
7561         * gst/gstevent.c:
7562         * gst/gstevent.h:
7563         Docs updates. Flesh out the QoS docs.
7564
7565         * libs/gst/base/gstadapter.c:
7566         Small doc clarification about ownership and flushing.
7567
7568         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
7569         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
7570         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
7571         (gst_base_sink_get_property), (gst_base_sink_do_sync):
7572         * libs/gst/base/gstbasesink.h:
7573         API additions: 
7574         Added new methods to allow subclass to control max-lateness 
7575         and sync.
7576         Generate very basic QoS events based on last sync observation.
7577         Updated docs, fix typo, added some QoS blurb.
7578
7579         * libs/gst/base/gstbasesrc.c:
7580         Remove obsolete _get_state() calls from docs.
7581
7582 2006-03-07  Wim Taymans  <wim@fluendo.com>
7583
7584         * docs/libs/gstreamer-libs-sections.txt:
7585         * libs/gst/base/gstbasetransform.h:
7586         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
7587         Fix docs for GstBaseSrc.
7588
7589 2006-03-07  Wim Taymans  <wim@fluendo.com>
7590
7591         * docs/gst/gstreamer-sections.txt:
7592         * gst/gstbuffer.h:
7593         * gst/gstvalue.c:
7594         * libs/gst/base/gstbasetransform.h:
7595         Small documentation fixes.
7596
7597 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
7598
7599         * gst/gstvalue.c:
7600           Document thread-unsafety of gst_value_register_foo_func()
7601           when used at the same time as gst_value_foo() (#322628).
7602
7603 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
7604
7605         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
7606         (gst_push_src_check_get_range):
7607           Push sources don't support pull mode by default.
7608
7609 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
7610
7611         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
7612         (gst_base_src_init), (gst_base_src_pad_check_get_range),
7613         (gst_base_src_default_check_get_range):
7614         * libs/gst/base/gstbasesrc.h:
7615           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
7616           provide default implementation, and rename
7617           gst_base_src_check_get_range() to
7618           gst_base_src_pad_check_get_range() for clarity.
7619
7620 2006-03-06  Wim Taymans  <wim@fluendo.com>
7621
7622         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
7623         Make property overridable.
7624
7625 2006-03-06  Wim Taymans  <wim@fluendo.com>
7626
7627         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
7628         (gst_base_sink_init), (gst_base_sink_set_property),
7629         (gst_base_sink_get_property), (gst_base_sink_do_sync):
7630         * libs/gst/base/gstbasesink.h:
7631         API addition: Make max-lateness a property.
7632
7633 2006-03-06  Wim Taymans  <wim@fluendo.com>
7634
7635         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
7636         (gst_base_sink_do_sync), (gst_base_sink_render_object):
7637         Don't ever draw a frame that is >10ms late.
7638
7639 2006-03-06  Michael Smith  <msmith@fluendo.com>
7640
7641         * gst/gstmessage.c: (_gst_message_copy):
7642           When copying a message, set the parent_refcount of the enclosed
7643           structure to point at the copy, not the original message.
7644
7645 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
7646
7647         Patch by: Christophe Fergeau
7648
7649         * gst/gstutils.h:
7650           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
7651           usable in c++ code (#333417)
7652
7653 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7654
7655         * gst/gstclock.h:
7656           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
7657
7658 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
7659
7660         * libs/gst/base/gstbasetransform.c:
7661         (gst_base_transform_transform_caps):
7662           Make sure caps are writable before passing them to
7663           gst_caps_append().
7664
7665 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
7666
7667         * gst/gsterror.h:
7668           Fix some minor docs errors.
7669
7670 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
7671
7672           Patch by: Ross Burton <ross at burtonini dot com>
7673
7674         * gst/gsterror.c: (_gst_resource_errors_init):
7675         * gst/gsterror.h:
7676           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
7677
7678 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
7679
7680         * gst/gst.c:
7681         Add a check and output a g_warning when GStreamer is built
7682         against GLib 2.6 but running against 2.8 or higher, and vice 
7683         versa. (Closes: #323542)
7684
7685 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
7686
7687         * gst/parse/parse.l:
7688           Commit patch for parse_launch syntax from #331255. Removes 
7689           support for quoted strings and mimetypes when writing filtered 
7690           caps. See the bug report for more details - I'm pretty sure this
7691           obscure feature is not in use by _anyone_ anywhere.
7692
7693           With this simple change, the size of the gstreamer.so here 
7694           drops from 2193KB to 1565KB.
7695
7696 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
7697
7698         * plugins/elements/gsttypefindelement.h:
7699         * plugins/elements/gsttypefindelement.c:
7700         (gst_type_find_element_src_event), (start_typefinding),
7701         (stop_typefinding), (gst_type_find_element_handle_event),
7702         (gst_type_find_element_chain),
7703         (gst_type_find_element_chain_do_typefinding):
7704           Use gst_type_find_helper_for_buffer() for chain-based
7705           typefinding.
7706
7707 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
7708
7709         * plugins/elements/gsttypefindelement.c:
7710         (gst_type_find_element_class_init),
7711         (gst_type_find_element_set_property),
7712         (gst_type_find_element_get_property):
7713           Deprecate "maximum" property (not only was it only taken into
7714           account for typefinding in push-mode anyway, it also was never
7715           actually possible to set it in the first place because the
7716           property was registered with the numeric property ID for the
7717           "minimum" property). Register "maximum" property correctly,
7718           for the sake of future copy'n'pasters. Remove some cruft
7719           from property get/set functions.
7720
7721 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
7722
7723         * plugins/elements/gsttypefindelement.c:
7724         (gst_type_find_element_activate):
7725           Use gst_type_find_helper_get_range() here, so we
7726           can honour the "minimum" property and also emit
7727           the signal with the correct probability of the found caps.
7728
7729 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
7730
7731         * docs/libs/gstreamer-libs-sections.txt:
7732         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
7733         (helper_find_suggest), (gst_type_find_helper_get_range),
7734         (gst_type_find_helper):
7735         * libs/gst/base/gsttypefindhelper.h:
7736           New API: gst_type_find_helper_get_range() (#333042).
7737
7738 2006-03-02  Michael Smith  <msmith@fluendo.com>
7739
7740         * gst/gstregistryxml.c: (load_feature):
7741           Asserting on a failure to read part of the registry is Not Cool.
7742           Just log a warning and return NULL (which is already handled)
7743
7744 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
7745
7746         * win32/common/libgstbase.def:
7747           added export of gst_type_find_helper_for_buffer
7748         * win32/common/libgstbase.def:
7749           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
7750           gst_ghost_pad_get_target
7751
7752 2006-02-28  Wim Taymans  <wim@fluendo.com>
7753
7754         * docs/design/draft-klass.txt:
7755         We use Filter now.
7756         Added Connector to mark elements that are only used to
7757         allow pipeline connections.
7758         Moved Debug to extra feature since most of them are 
7759         functionally something else.
7760
7761 2006-02-28  Wim Taymans  <wim@fluendo.com>
7762
7763         * docs/design/draft-klass.txt:
7764         Some updates and clarifications.
7765
7766 2006-02-28  Wim Taymans  <wim@fluendo.com>
7767
7768         * docs/design/draft-klass.txt:
7769         Proposal for klass field values.
7770
7771         * docs/design/part-streams.txt:
7772         Start of a doc describing stream anatomy.
7773
7774 2006-02-28  Wim Taymans  <wim@fluendo.com>
7775
7776         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
7777         Help the compiler a bit with type registration.
7778         Use existing forward cod path instead of duplicating it when 
7779         handling a message.
7780         
7781         * gst/gstbus.c: (gst_bus_get_type):
7782         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
7783         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
7784         * gst/gstclock.c: (gst_clock_get_type):
7785         * gst/gstelement.c: (gst_element_get_type),
7786         * gst/gstelementfactory.c: (gst_element_factory_get_type):
7787         * gst/gstindexfactory.c: (gst_index_factory_get_type):
7788         * gst/gstminiobject.c: (gst_mini_object_get_type):
7789         * gst/gstpad.c: (gst_pad_get_type):
7790         * gst/gstsegment.c: (gst_segment_get_type):
7791         * gst/gststructure.c: (gst_structure_get_type):
7792         * gst/gstsystemclock.c: (gst_system_clock_get_type):
7793         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
7794         * gst/gstvalue.c:
7795         Help compiler with type registration.
7796
7797         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
7798         Small doc update.
7799
7800 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
7801
7802         * plugins/elements/gsttypefindelement.c:
7803         (gst_type_find_element_handle_event):
7804           When we get an EOS event and have not found a type yet
7805           (most likely because we had not yet accumulated
7806           TYPE_FIND_MIN_SIZE of data yet), try to determine the
7807           type given the data we have so far. Fixes typefinding
7808           for very short streams again, most notably quicktime
7809           redirections as used on Apple's trailer site (#331701).
7810
7811 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
7812
7813         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
7814         (gst_type_find_helper):
7815           Try typefinding factories with the highest rank first.
7816
7817 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
7818
7819         * docs/libs/gstreamer-libs-docs.sgml:
7820         * docs/libs/gstreamer-libs-sections.txt:
7821         * libs/gst/base/gsttypefindhelper.c:
7822           Add section for typefind helper and add documentation
7823           for the old and the new function.
7824
7825 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
7826
7827         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
7828         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
7829         (gst_type_find_helper_for_buffer):
7830         * libs/gst/base/gsttypefindhelper.h:
7831           New API: gst_type_find_helper_for_buffer() (#332723).
7832           
7833 2006-02-27  Michael Smith  <msmith@fluendo.com>
7834
7835         Patch by: Loïc Minier
7836
7837         * configure.ac:
7838         * docs/Makefile.am:
7839         * docs/slides/Makefile.am:
7840           prevent CVS directories getting disted.
7841
7842 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
7843
7844         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
7845           Use the REFCOUNTING category for caps refcounting.
7846           
7847 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
7848
7849         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
7850           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
7851
7852 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
7853
7854         * plugins/elements/gsttypefindelement.c:
7855         (gst_type_find_element_activate):
7856           Use gst_pad_check_pull_range() before _activate_pull()
7857           to avoid unnecessary open/close (see #331690).
7858
7859 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
7860
7861         * gst/gstutils.c:
7862           Docs enhancement: make it crystal clear what the
7863           gst_pad_add_*_probe() callbacks should look like.
7864
7865 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
7866
7867         * libs/gst/base/gstbasesrc.c:
7868           Document how applications can stop recording from
7869           live sources (see #330996).
7870
7871 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
7872
7873         * tests/check/Makefile.am:
7874         * tests/check/libs/basesrc.c: (eos_event_counter),
7875         (basesrc_eos_events_pull), (basesrc_eos_events_push),
7876         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
7877         (gst_basesrc_suite), (main):
7878           ... and add some tests for the base source EOS stuff.
7879
7880 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
7881
7882         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
7883           Test case originally showed the problem fixed below,
7884           but was then amended. Add checks back at the place
7885           where they used to be.
7886
7887 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
7888
7889         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
7890         (gst_base_src_init), (gst_base_src_loop),
7891         (gst_base_src_activate_push), (gst_base_src_activate_pull),
7892         (gst_base_src_change_state):
7893         * libs/gst/base/gstbasesrc.h:
7894           Don't unconditionally send EOS when going from PAUSED to
7895           READY state, esp. make sure we don't send two EOS events
7896           in some cases (e.g. one when reaching EOS and one when
7897           going from PAUSED to READY). Also, we don't want to send
7898           EOS events when operating in pull mode. However, we do
7899           want to send an EOS event when shutting down a live
7900           source explicitly, for example (fixes #330996).
7901           
7902 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
7903
7904         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
7905           Update src->read_position after a seek when not using mmap.
7906           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
7907
7908 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
7909
7910         * gst/Makefile.am:
7911         * gst/gstparse.h:
7912         * gst/gstutils.c:
7913         * gst/gstutils.h:
7914         Make things work with --disable-parse as they do with 
7915         --disable-load-save - the symbols involved disappear, but the
7916         header is still installed and GST_DISABLE_PARSE is included via
7917         gstconfig.h
7918
7919 2006-02-20  Julien MOUTTE  <julien@moutte.net>
7920
7921         * libs/gst/base/gstbasetransform.c:
7922         (gst_base_transform_change_state): Fix a stupid bug. I was 
7923         sure I compiled that.
7924
7925 2006-02-20  Julien MOUTTE  <julien@moutte.net>
7926
7927         * gst/gstpad.c: (gst_pad_set_blocked_async):
7928         * gst/gstutils.c: (gst_pad_add_data_probe),
7929         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
7930         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
7931         (gst_pad_remove_buffer_probe): Make those function act on the
7932         ghostpad target when it's a ghostpad. (Closes #331727)
7933
7934 2006-02-20  Julien MOUTTE  <julien@moutte.net>
7935
7936         * libs/gst/base/gstbasetransform.c:
7937         (gst_base_transform_change_state): Make basetransform reusable.
7938         (Closes #331898)
7939
7940 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
7941
7942         * docs/random/release:
7943         Move the current documentation of how to do a release to the top
7944         of the file.
7945
7946         * gst/gstbin.c: (gst_bin_class_init),
7947         (gst_bin_handle_message_func):
7948         Allow multiple state-recalculation threads. (Closes #328873)
7949
7950 2006-02-19  Julien MOUTTE  <julien@moutte.net>
7951
7952         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
7953         * gst/gstpad.c: (gst_pad_set_event_function),
7954         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
7955         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
7956         2 strings. You can't use the STR_NULL macro on that.
7957
7958 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
7959
7960         * gst/gstpad.c: (gst_pad_set_event_function),
7961         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
7962         (gst_pad_set_getcaps_function)
7963         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
7964           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
7965           So now, we can use --gst-debug-level=5 on Windows
7966         * win32/common/libgstcontroller.def:
7967           Added export of gst_controller_init
7968         * win32/vs6/libgstcontroller.dsp:
7969           Fixed Release post build configuration
7970
7971 2006-02-17  Wim Taymans  <wim@fluendo.com>
7972
7973         * tests/check/gst/gstquery.c: (GST_START_TEST):
7974         Added another check.
7975
7976 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
7977
7978         * plugins/elements/gsttypefindelement.c: (find_peek):
7979           We can do peeks at non-zero offsets, as long as they
7980           fall within the buffer we have.
7981
7982 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
7983
7984         * tests/check/Makefile.am:
7985         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
7986         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
7987         (parse_suite), (main):
7988           Add testsuite for parse launch syntax
7989
7990 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
7991
7992         * plugins/elements/gsttypefindelement.c:
7993         (gst_type_find_element_chain):
7994           When typefinding is unsuccessful in the chain function, don't
7995           error out immediately. Only error out with NO_CAPS_FOUND if
7996           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
7997           otherwise simply wait for more data so we can try typefinding
7998           again with more data later. Also, don't attempt to typefind
7999           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
8000           this should improve typefinding from network sources where the
8001           size of the first buffer can be somewhat random.
8002
8003 2006-02-14  Wim Taymans  <wim@fluendo.com>
8004
8005         * docs/gst/gstreamer-sections.txt:
8006         * gst/gstpadtemplate.c:
8007         * gst/gstpadtemplate.h:
8008         Fix padtemplate docs, fixes #328805.
8009
8010 2006-02-14  Wim Taymans  <wim@fluendo.com>
8011
8012         * tools/gst-launch.c: (main):
8013         NO_PREROLL is not an ERROR so don't send confusing messages
8014         to the user.
8015
8016 2006-02-14  Wim Taymans  <wim@fluendo.com>
8017
8018         Patch by: Torsten Schoenfeld
8019
8020         * gst/gstregistry.c: (gst_registry_get_default),
8021         (_gst_registry_cleanup):
8022         Protect default registry with lock and ref/sink it.
8023         Fixes #324818
8024
8025 2006-02-14  Wim Taymans  <wim@fluendo.com>
8026
8027         * gst/gstbuffer.c:
8028         * gst/gstquery.c: (gst_query_list_add_format),
8029         (gst_query_set_formatsv), (gst_query_parse_formats_length),
8030         (gst_query_parse_formats_nth):
8031         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
8032         Docs fixes.
8033
8034 2006-02-14  Wim Taymans  <wim@fluendo.com>
8035
8036         * docs/gst/gstreamer-sections.txt:
8037         Reworked query docs.
8038
8039         * gst/gstquery.c: (gst_query_new_formats),
8040         (gst_query_list_add_format), (gst_query_set_formats),
8041         (gst_query_set_formatsv), (gst_query_parse_formats_length),
8042         (gst_query_parse_formats_nth):
8043         * gst/gstquery.h:
8044         Flesh out formats query, added some new methods.
8045         Fix part of #324398.
8046
8047         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
8048         Added query creation tests.
8049
8050 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
8051
8052         * gst/gstpad.c: (fixate_value):
8053         Add a default fixation for fraction lists.
8054
8055 2006-02-13  Wim Taymans  <wim@fluendo.com>
8056
8057         * gst/gsttask.c: (gst_task_init), (gst_task_func),
8058         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
8059         (gst_task_join):
8060         * gst/gsttask.h:
8061         Detect and warn for obvious deadlocks. fixes #320340
8062         Fix error case where lock was not released.
8063
8064         * tests/check/Makefile.am:
8065         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
8066         (task_func), (gst_element_suite), (main):
8067         Add task check.
8068
8069 2006-02-13  Wim Taymans  <wim@fluendo.com>
8070
8071         * docs/gst/gstreamer-sections.txt:
8072         * gst/gstbus.c:
8073         Add new functions to docs.
8074
8075 2006-02-13  Wim Taymans  <wim@fluendo.com>
8076
8077         * docs/design/part-TODO.txt:
8078         Updated TODO list, basesrc supports seeking to non-bytes
8079         formats.
8080
8081         * docs/design/part-element-sink.txt:
8082         Update docs.
8083
8084         * gst/gstbin.c: (bin_replace_message),
8085         (gst_bin_handle_message_func):
8086         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
8087         * gst/gstevent.c: (gst_event_finalize):
8088         * gst/gstpad.c: (gst_pad_event_default_dispatch),
8089         (gst_pad_send_event):
8090         Use shiny new _TYPE_NAME macros.
8091
8092         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
8093         Move debug statement up.
8094
8095         * gst/gstelement.c: (gst_element_set_locked_state):
8096         Add some debugging.
8097
8098 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
8099
8100         * docs/gst/gstreamer-sections.txt:
8101         * gst/gstmessage.h:
8102         * gst/gstquery.h:
8103           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
8104           macros (#330906). Also, document the already existing
8105           GST_QUERY_TYPE macro.
8106
8107 2006-02-13  Wim Taymans  <wim@fluendo.com>
8108
8109         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
8110         (event_probe), (GST_START_TEST):
8111         Only events up to the pipeline EOS are counted, there are
8112         some more when going to NULL currently which we don't care
8113         about for now.
8114
8115 2006-02-13  Wim Taymans  <wim@fluendo.com>
8116
8117         * gst/gstpad.c: (gst_pad_send_event):
8118         Correctly check flushing and emit probes. fixes #330125
8119
8120 2006-02-10  Andy Wingo  <wingo@pobox.com>
8121
8122         * gst/gstbus.c (gst_bus_class_init): Declare our private data
8123         structure.
8124         (gst_bus_init): Cache the location of the private data in the
8125         instance structure.
8126         (gst_bus_enable_sync_message_emission) 
8127         (gst_bus_disable_sync_message_emission): Implement new public
8128         functions.
8129         (gst_bus_post): Emit the sync-message signal if the user asked for
8130         it. Fixes #330684.
8131
8132         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
8133         location of the bus-private structure.
8134         (gst_bus_enable_sync_message_emission)
8135         (gst_bus_disable_sync_message_emission): API addition
8136
8137 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
8138
8139         Patch by: Vincent Torri
8140
8141         * docs/pwg/building-boiler.xml:
8142         PWG patch from #326800
8143
8144 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
8145
8146         * configure.ac:
8147         * docs/Makefile.am:
8148         * docs/design/Makefile.am:
8149           Dist design docs.
8150
8151 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
8152
8153         * configure.ac:
8154           back to CVS
8155
8156 === release 0.10.3 ===
8157
8158 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
8159
8160         * configure.ac:
8161           releasing 0.10.3, "Like a virgin"
8162
8163 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
8164
8165         * configure.ac:
8166           2nd prerelease of 0.10.3
8167           Bump libtool versioning.
8168
8169 2006-02-07  Andy Wingo  <wingo@pobox.com>
8170
8171         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
8172         update last_stop if we're in TIME format and the timestamp is
8173         valid.
8174
8175         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
8176         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
8177         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
8178         If we get a new newsegment with a different format, adapt
8179         accordingly.
8180
8181         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
8182         of 0. Not a problem, really.
8183
8184         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
8185         warn if sync=true.
8186
8187 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
8188
8189         * configure.ac:
8190           Prelease of 0.10.3
8191
8192 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
8193
8194         * win32/vs7:
8195           project files updated to the default vs7 configuration
8196         * win32/common/libgstbase.def:
8197         * win32/common/libgstreamer.def:
8198           added new symbols,
8199           removed empty lines,
8200           sorted all exported symbols alphabetically
8201         * win32/common/dirent.c:
8202         * win32/common/dirent.h:
8203         * win32/common/gchar.h:
8204           use windows line end.
8205           
8206 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
8207
8208         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
8209           Send EOS event when stopping.
8210
8211 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
8212
8213         * docs/README:
8214           Tell folks what to do if the plugin-foobar.xml file
8215           hasn't been generated for a newly-added plugin.
8216
8217 2006-02-05  Julien MOUTTE  <julien@moutte.net>
8218
8219         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
8220         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
8221         (gst_collect_pads_start), (gst_collect_pads_stop),
8222         (gst_collect_pads_event): Collectpads now holds a reference
8223         to the GstPad that was added. Indeed we don't want to look
8224         at pads that might just go away with no warning...
8225
8226 2006-02-05  Julien MOUTTE  <julien@moutte.net>
8227
8228         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
8229         (gst_collect_pads_start), (gst_collect_pads_stop),
8230         (gst_collect_pads_event), (gst_collect_pads_chain):
8231         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
8232         Mark Nauwelaerts's patch on bug #328491.
8233
8234 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
8235
8236         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
8237         (gst_utils_suite):
8238           Add some simple tests for gst_parse_bin_from_description() and
8239           gst_bin_find_unconnected_pad() (#329069).
8240
8241 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
8242
8243         * tools/gst-launch.c: (event_loop), (main):
8244           Catch errors during preroll (#320084).
8245
8246 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
8247
8248         * plugins/elements/gsttypefindelement.c:
8249         (gst_type_find_element_activate):
8250           Post TYPE_NOT_FOUND error message when typefinding
8251           is unsuccessful in the activate function as well.
8252
8253 2006-02-02  Wim Taymans  <wim@fluendo.com>
8254
8255         * docs/design/part-element-sink.txt:
8256         Updated doc.
8257
8258 2006-02-02  Wim Taymans  <wim@fluendo.com>
8259
8260         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
8261         (gst_base_sink_render_object),
8262         (gst_base_sink_queue_object_unlocked):
8263         Only keep track of prerollable items when we are 
8264         prerolling.
8265         Before rendering after preroll, always check if we
8266         have queued items.
8267         Added some more debugging.
8268
8269 2006-02-02  Wim Taymans  <wim@fluendo.com>
8270
8271         * gst/gstelement.c: (gst_element_continue_state),
8272         (gst_element_set_state_func), (gst_element_change_state):
8273         Fixed #326576, been running this for quite some time with
8274         no regressions at all.
8275
8276 2006-02-02  Wim Taymans  <wim@fluendo.com>
8277
8278         * common/gst.supp:
8279         Added more suppressions
8280
8281 2006-02-02  Wim Taymans  <wim@fluendo.com>
8282
8283         * docs/design/part-element-sink.txt:
8284         Updated document.
8285
8286         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
8287         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
8288         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
8289         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
8290         (gst_base_sink_do_sync), (gst_base_sink_render_object),
8291         (gst_base_sink_preroll_object),
8292         (gst_base_sink_queue_object_unlocked),
8293         (gst_base_sink_queue_object), (gst_base_sink_event),
8294         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
8295         (gst_base_sink_loop), (gst_base_sink_activate_pull),
8296         (gst_base_sink_get_position), (gst_base_sink_change_state):
8297         * libs/gst/base/gstbasesink.h:
8298         Totally refactored matching the design doc.
8299         Use two segments, one to clip incomming buffers and another to
8300         perform sync.
8301         Handle queueing correctly, bypass the queue when playing.
8302         Make EOS cancelable.
8303         Handle errors correctly when operating in pull based mode.
8304
8305         * tests/check/elements/fakesink.c: (GST_START_TEST),
8306         (fakesink_suite):
8307         Added new check for sinks.
8308
8309 2006-02-02  Wim Taymans  <wim@fluendo.com>
8310
8311         * gst/gstsegment.c: (gst_segment_clip):
8312         No reason to refuse to clip when start == -1
8313
8314 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
8315
8316         * docs/README:
8317         * docs/manual/intro-basics.xml:
8318         * docs/manual/intro-preface.xml:
8319         * docs/manual/manual.xml:
8320         * docs/pwg/advanced-dparams.xml:
8321         * docs/pwg/intro-basics.xml:
8322         * docs/pwg/intro-preface.xml:
8323         * docs/pwg/pwg.xml:
8324           describe dparams (controller) for plugins
8325           unify docs a little more
8326
8327 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
8328
8329         * docs/gst/gstreamer-sections.txt:
8330         * gst/gstutils.c: (element_find_unconnected_pad),
8331         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
8332         * gst/gstutils.h:
8333           Add new API: gst_parse_bin_from_description() and
8334           gst_bin_find_unconnected_pad() (#329069).
8335
8336 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
8337
8338         * docs/manual/README:
8339           uncover a nasty detail of the docs build
8340
8341 2006-01-31  Wim Taymans  <wim@fluendo.com>
8342
8343         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
8344         Don't cache duration messages if we're not going to use or
8345         free them.
8346
8347 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
8348
8349         * docs/manual/advanced-dparams.xml:
8350         * docs/pwg/advanced-dparams.xml:
8351           more dparam docs
8352         * gst/gstindex.c:
8353           fix docs
8354         * libs/gst/controller/lib.c: (gst_controller_init):
8355           init just once
8356
8357 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
8358
8359         * gst/gstelement.c: (gst_element_message_full):
8360           also show file/line/func if no additional debug was given
8361
8362 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
8363         
8364         * win32/vs7/grammar.vcproj:
8365           activate copy of autogenerated files for Release mode
8366
8367 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
8368         
8369         * win32/common/libgstreamer.def:
8370           export gst_value_compare
8371
8372 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
8373
8374         * plugins/elements/Makefile.am:
8375         * plugins/elements/gstelements.c:
8376         * plugins/elements/gstfdsink.c: (_do_init),
8377         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
8378         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
8379         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
8380         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
8381         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
8382         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
8383         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
8384         * plugins/elements/gstfdsink.h:
8385         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
8386
8387 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
8388
8389         * docs/manual/advanced-dparams.xml:
8390           describe controller
8391         * docs/manual/advanced-position.xml:
8392         * docs/manual/basics-init.xml:
8393         * docs/manual/manual.xml:
8394         * docs/manual/titlepage.xml:
8395         * docs/pwg/pwg.xml:
8396         * docs/pwg/titlepage.xml:
8397           cleanup xml (more to come)
8398         * libs/gst/controller/gstcontroller.c:
8399           fix typo
8400
8401 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
8402         
8403         * win32/vs6/grammar.dsp:
8404           add autogen of gstmarshal.c,h for Release mode
8405                 
8406 2006-01-30  Wim Taymans  <wim@fluendo.com>
8407
8408         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
8409         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
8410         (gst_base_sink_handle_object), (gst_base_sink_event),
8411         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
8412         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
8413         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
8414         (gst_base_sink_deactivate), (gst_base_sink_activate),
8415         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
8416         (gst_base_sink_query), (gst_base_sink_change_state):
8417         Basesink cleanups, remove some old code.
8418         Handle the case where a subclass can preroll in the render
8419         method (mostly audiosinks).
8420         Handle more events.
8421         Remove some locks around variables that are now protected
8422         with the PREROLL_LOCK (clock_id, flushing, ..).
8423         Optimize position query some more, do correct locking.
8424         Remove old code to push queue in state change, this is not
8425         needed anymore since preroll blocks on all prerollable items 
8426         now.
8427         Almost implemented as described in design doc.
8428
8429 2006-01-30  Wim Taymans  <wim@fluendo.com>
8430
8431         * tests/check/gst/gstbin.c: (GST_START_TEST):
8432         Wait for refcount to settle down before checking.
8433
8434 2006-01-30  Wim Taymans  <wim@fluendo.com>
8435
8436         * docs/design/part-element-sink.txt:
8437         Pseudo code overview of desired sink behaviour regarding
8438         preroll.
8439
8440 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
8441         * win32/vs6/grammar.dsp:
8442           fix some bugs in Release mode for autogenerated files
8443                 
8444 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
8445         * win32/common/libgstbase.def:
8446         * win32/common/libgstreamer.def:
8447           export some new symbols: gst_base_src_set_format,
8448           gst_iterator_next, gst_structure_set_valist
8449
8450 2006-01-29  Julien MOUTTE  <julien@moutte.net>
8451
8452         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
8453         Set pad functions unconditionally. Fixes #329105.
8454
8455 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
8456         * win32/vs8:
8457           add vs8 project files created by Sergey Scobich
8458
8459 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
8460
8461         * gst/gstutils.c: (gst_element_unlink_pads):
8462         Don't leak pad references.
8463
8464         * tests/check/elements/fakesink.c: (GST_START_TEST):
8465         * tests/check/generic/sinks.c: (GST_START_TEST):
8466         * tests/check/generic/states.c: (GST_START_TEST):
8467         * tests/check/gst/gstbin.c: (GST_START_TEST):
8468         * tests/check/gst/gstcaps.c: (GST_START_TEST):
8469         * tests/check/gst/gstelement.c: (GST_START_TEST):
8470         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
8471         * tests/check/gst/gstiterator.c: (GST_START_TEST):
8472         * tests/check/gst/gstvalue.c: (GST_START_TEST):
8473         Fix a bunch of leaks. Make generic/sinks.c
8474         use a bit less cpu by slowing the buffer rate
8475         between fakesrc and fakesink.
8476         
8477 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
8478         * gst/gstcaps.c:
8479         * gst/gstelement.c: (gst_element_send_event):
8480         * gst/gstevent.c:
8481         * gst/gstinfo.c:
8482         * gst/gstiterator.c:
8483         * gst/gstiterator.h:
8484         * gst/gstpad.c: (gst_pad_send_event):
8485         * gst/gststructure.c:
8486         * gst/gsturi.c:
8487         * gst/gstutils.c:
8488         * gst/gstvalue.c:
8489         * libs/gst/base/gstadapter.c:
8490           doc fixes, to link to function, just write gst_cool_function(), don't
8491           prefix with '#'
8492
8493 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
8494
8495         * plugins/elements/gsttee.c: (gst_tee_do_push),
8496         (gst_tee_handle_buffer):
8497         Always prefer an actual return value from a src
8498         pad in place of NOT_LINKED. This means we return
8499         WRONG_STATE when all src pads are WRONG_STATE
8500         instead of NOT_LINKED.
8501
8502         Lock when replacing the last message to prevent
8503         racing with the get_property method.
8504
8505         Add debug output
8506
8507 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
8508
8509         * tests/check/Makefile.am:
8510         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
8511         (main):
8512         Add a very simple check that should have caught the memleak I fixed
8513         last night (if not for the slice allocator hiding it)
8514
8515 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
8516
8517         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
8518         (gst_bin_remove_func), (gst_bin_handle_message_func),
8519         (bin_query_duration_fold), (bin_query_generic_fold):
8520         Clean up references to the clock provider when disposed or when
8521         handling a clock-lost message from it.
8522
8523         Unref sinks when performing a query via gst_iterator_fold, as the
8524         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
8525
8526         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
8527         (gst_clock_set_master):
8528         Drop our reference to the master clock, if any, when we are disposed.
8529
8530         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
8531         Chain up in dispose. 
8532
8533 2006-01-26  Wim Taymans  <wim@fluendo.com>
8534
8535         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
8536         Add some debugging.
8537
8538 2006-01-26  Julien MOUTTE  <julien@moutte.net>
8539
8540         * plugins/elements/gsttee.c: (gst_tee_do_push),
8541         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
8542         handles pad being NOT_LINKED or in WRONG_STATE.
8543
8544 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
8545
8546         * win32/MANIFEST:
8547           more updating
8548
8549 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
8550
8551         * win32/MANIFEST:
8552           remove obsolete entry
8553
8554 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
8555
8556         * docs/gst/gstreamer-sections.txt:
8557         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
8558         (gst_bin_iterate_sources), (gst_bin_send_event):
8559         * gst/gstbin.h:
8560         * gst/gstelement.c: (gst_element_send_event):
8561         * gst/gstevent.c:
8562         * gst/gstpad.c: (gst_pad_send_event):
8563           added code for downstream events, reviewed docs in gstevent.c
8564
8565 2006-01-25  Julien MOUTTE  <julien@moutte.net>
8566
8567         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
8568         We only query position using the clock in the playing state.
8569         Query peer in the other cases.
8570         * win32/common/config.h: Updates.
8571
8572 2006-01-24  Wim Taymans  <wim@fluendo.com>
8573
8574         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
8575         A clock entry that is scheduled for the exact time of the
8576         clock is still in time.
8577
8578         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8579         (gst_base_sink_do_sync):
8580         Add some more debug info.
8581
8582 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
8583
8584         * win32/vs7:
8585           Add new vs7 project files and solution.
8586
8587 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
8588
8589         * win32/vs7:
8590           all files removed as they were out-dated.
8591
8592 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8593
8594         * docs/random/release:
8595           update notes
8596         * gst/gstbin.c: (gst_bin_init):
8597         * gst/gstbus.c: (gst_bus_new):
8598         * gst/gstbus.h:
8599         * gst/gstpipeline.c: (gst_pipeline_init):
8600           use gst_bus_new(), improve logging, fix docs
8601         * win32/common/config.h:
8602           update for cvs build
8603
8604 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8605
8606         * autogen.sh:
8607           up required version of automake to 1.7
8608
8609 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
8610
8611         * win32/common/libgstreamer.def:
8612           export gst_buffer_is_metadata_writable
8613
8614 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
8615
8616         * docs/gst/gstreamer-sections.txt:
8617         * gst/gstevent.h:
8618           Add gst_event_replace() (#327001)
8619
8620 2006-01-20  Wim Taymans  <wim@fluendo.com>
8621
8622         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
8623         Make it actually compile too..
8624
8625 2006-01-20  Wim Taymans  <wim@fluendo.com>
8626
8627         * gst/gstcaps.c:
8628         Clarify behaviour of _is_equal() when passing NULL parameters.
8629
8630         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
8631         (gst_pad_set_caps):
8632         Cleanups. Don't unref NULL caps.
8633         When setting the same caps, protect caps of the pad with
8634         proper lock.
8635         Use full functionality of _is_equal() when comparing caps.
8636
8637 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
8638
8639         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
8640         Don't loop infinitely if there are no buffers to present. Partially
8641         fixes #327197, but collectpads is just broken for reusing elements
8642         to do multiple encodes atm.
8643
8644 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
8645
8646         * tools/gst-inspect.c: (print_element_features):
8647         * tools/gst-xmlinspect.c: (main):
8648         URL_HANDLER is not a plugin feature we can search for in
8649         the registry.
8650
8651 2006-01-19  Edward Hervey  <edward@fluendo.com>
8652
8653         * gst/gstelement.c: (gst_element_pads_activate): 
8654         When activating, do src pads first, then sink pads.
8655         When de-activating, do sink pads first, then src pads.
8656
8657 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
8658
8659         * docs/gst/gstreamer-sections.txt:
8660         Add gst_index_add_associationv to the docs
8661
8662 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
8663
8664         * gst/gstevent.c:
8665           Fix docs typo
8666
8667         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
8668         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
8669           Do some refactoring. Doesn't actually change functionality,
8670           but makes landing the DRAIN event easier later.
8671
8672 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
8673
8674         * docs/pwg/advanced-scheduling.xml:
8675           Update from 0.9.x to 0.10 API and make example a bit
8676           clearer.
8677
8678 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
8679
8680         * docs/gst/gstreamer-sections.txt:
8681         Add gst_buffer_(is|make)_metadata_writable methods.
8682
8683 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
8684
8685         * docs/design/part-sparsestreams.txt:
8686         Update sparse streams doc, hopefully for greater clarity
8687
8688 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
8689
8690         * docs/design/part-events.txt:
8691         Remove mention of FILLER events.
8692         Add DRAIN event.
8693
8694         * docs/design/part-sparsestreams.txt:
8695         Write some things about using NEWSEGMENT to keep sparse streams
8696         flowing.
8697
8698 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
8699
8700         * gst/gstbin.c: (gst_bin_dispose):
8701           Guard gst_object_unref call against a NULL object (dispose
8702           can theoretically be called multiple times).
8703           
8704 2006-01-18  Wim Taymans  <wim@fluendo.com>
8705
8706         * gst/gstbin.c: (gst_bin_element_set_state):
8707         * gst/gstclock.c: (gst_clock_id_wait):
8708         Added some more debug info.
8709
8710         * libs/gst/base/gstadapter.c:
8711         Added more docs.
8712
8713         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8714         (gst_base_sink_do_sync), (gst_base_sink_chain):
8715         Added some comments.
8716
8717 2006-01-18  Wim Taymans  <wim@fluendo.com>
8718
8719         * tests/check/Makefile.am:
8720         * tests/check/elements/fakesink.c: (chain_async_buffer),
8721         (chain_async), (chain_async_return), (GST_START_TEST),
8722         (fakesink_suite), (main):
8723         Added fakesink test that checks prerolling and clipping
8724         behaviour.
8725
8726         * tests/check/gst/gstutils.c: (GST_START_TEST):
8727         Make check run faster so that buildbots don't timeout.
8728
8729 2006-01-18  Wim Taymans  <wim@fluendo.com>
8730
8731         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8732         (gst_base_sink_do_sync):
8733         Some cleanups.
8734         When the sink finishes blocking on the preroll buffer, it can
8735         immediatly render it instead of rendering when the next buffer
8736         arrives.
8737
8738 2006-01-18  Wim Taymans  <wim@fluendo.com>
8739
8740         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
8741         (gst_base_sink_get_property), (gst_base_sink_do_sync),
8742         (gst_base_sink_chain):
8743         Small cleanups.
8744         GST_ELEMENT_CLOCK and sync are protected with LOCK.
8745         Don't store _last_stop if the buffer is dropped.
8746
8747 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
8748
8749         * plugins/elements/gsttypefindelement.c:
8750         (gst_type_find_element_class_init):
8751           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
8752           object method handler that sets the caps on the pad and we want
8753           that to happen before we emit the signal (fixes e.g. feeding a
8754           plain text file to decodebin).
8755
8756 2006-01-18  Christian Schaller  <Christian@fluendo.com>
8757
8758         * gst/gstplugin.c: Add MPL and Proprietary as license options
8759
8760 2006-01-18  Andy Wingo  <wingo@pobox.com>
8761
8762         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
8763         symbol was exported before, it appears this was just an oversight.
8764         Fixes #168703.
8765         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
8766
8767         * gst/gstindex.c (gst_index_add_associationv): Changed int in
8768         prototype to gint. OK since this prototype was not in the header.
8769
8770 2006-01-17  Andy Wingo  <wingo@pobox.com>
8771
8772         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
8773         registry while we remove plugins.
8774
8775         * tools/gst-inspect.c (print_element_info): Don't unref the
8776         factory arg, that should be the responsibility of whatever code
8777         received the ref. Fixes a double-free when called from
8778         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
8779         (main): Unref the factory if we have one.
8780         (print_element_list): No change -- relies on the
8781         plugin_feature_list_free to free the list of features.
8782
8783 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
8784
8785         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
8786         (gst_buffer_make_metadata_writable):
8787         * gst/gstbuffer.h:
8788         * libs/gst/base/gstbasetransform.c:
8789         (gst_base_transform_prepare_output_buf):
8790         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
8791         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8792           Replace gst_buffer_(make|is)_metadata_writable patch now
8793           that the release is out.
8794
8795 2006-01-17  Andy Wingo  <wingo@pobox.com>
8796
8797         * gst/gstregistry.c: Reflow design comment. Update so as to speak
8798         in the present tense without reference to versions.
8799
8800         * gst/gstregistry.c (gst_registry_add_plugin)
8801         (gst_registry_remove_plugin, gst_registry_remove_feature)
8802         (gst_registry_find_feature, gst_registry_get_feature_list)
8803         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
8804         (gst_registry_lookup, gst_registry_scan_path)
8805         (_gst_registry_remove_cache_plugins)
8806         (gst_registry_get_feature_list_by_plugin): Add argument
8807         validation.
8808
8809 === release 0.10.2 ===
8810
8811 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
8812
8813         * configure.ac:
8814           releasing 0.10.2, "If man is five"
8815
8816 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
8817
8818         * gst/gstbuffer.c:
8819         * gst/gstbuffer.h:
8820         * libs/gst/base/gstbasetransform.c:
8821         (gst_base_transform_prepare_output_buf):
8822         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
8823         * tests/check/gst/gstbuffer.c: (gst_test_suite):
8824           Back out patch until after the release.
8825
8826 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
8827
8828         * gst/gstminiobject.c:
8829           Spelling fix in docs.
8830         * ChangeLog - remove conflict indicator
8831
8832 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
8833
8834         Reviewed By: Andy Wingo
8835
8836         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
8837         (gst_buffer_make_metadata_writable):
8838         * gst/gstbuffer.h:
8839           Add gst_buffer_(is|make)_metadata_writable as analogues of
8840           gst_buffer_(is|make)_writable.
8841
8842         * libs/gst/base/gstbasetransform.c:
8843         (gst_base_transform_prepare_output_buf):
8844         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
8845           Use name gst_buffer_(is|make)_metadata_writable functions.
8846
8847         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8848           Test gst_buffer_(is|make)_metadata_writable
8849         
8850           (Closes: #324162)
8851
8852 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8853
8854         * docs/manual/Makefile.am:
8855           don't do parallel make
8856         * configure.ac:
8857           AC_SUBST HOST_CPU
8858         * win32/common/config.h.in:
8859           add generations for HOST_CPU and GST_MAJORMINOR
8860         * win32/common/config.h:
8861           commit generated result
8862
8863 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
8864
8865         * docs/manual/appendix-integration.xml:
8866           Update GNOME integration section to use gst_init_get_option_group()
8867           instead of the old popt stuff (#322911). Also, GNOME applications
8868           should  now use gconf*sink and gconf*src instead of the old gconf
8869           helper lib we had.
8870
8871 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
8872
8873
8874         * docs/gst/gstreamer-docs.sgml:
8875         * docs/gst/gstreamer-sections.txt:
8876         * docs/libs/gstreamer-libs-sections.txt:
8877           add new API entries to the docs
8878         * libs/gst/controller/Makefile.am:
8879         * libs/gst/controller/gstcontroller.c:
8880         * libs/gst/controller/gstcontroller.h:
8881         * libs/gst/controller/gstcontrollerprivate.h:
8882         * libs/gst/controller/gsthelper.c:
8883         * libs/gst/controller/gstinterpolation.c:
8884           move private structs to private header
8885         * po/README:
8886           gstreamer-0.7 -> gstreamer-0.10
8887         * tests/check/libs/struct_i386.h:
8888           remove private structs
8889
8890 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8891
8892         * plugins/indexers/Makefile.am:
8893           Fixes as part of #317048
8894
8895 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8896
8897         * plugins/indexers/Makefile.am:
8898           fix #316086 - compilation when mmap is missing
8899
8900 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
8901
8902         * libs/gst/base/gstbasesink.c:
8903           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
8904           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
8905         * win32/common/config.h:
8906           added some defines GST_MAJORMINOR and HOST_CPU
8907         * win32/common/libgstbase.def:
8908         * win32/common/libgstreamer.def:
8909           added some exported functions.
8910
8911 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
8912
8913         * libs/gst/controller/gstcontroller.c:
8914         (gst_controlled_property_set_interpolation_mode),
8915         (gst_controlled_property_new):
8916         * libs/gst/controller/gstcontroller.h:
8917         * libs/gst/controller/gstinterpolation.c:
8918         (interpolate_none_get_string_value_array):
8919           make G_TYPE_STRING controlable
8920
8921 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
8922
8923         * tools/README:
8924         * tools/gst-feedback.1.in:
8925         * tools/gst-inspect.1.in:
8926         * tools/gst-launch.1.in:
8927         * tools/gst-md5sum.1.in:
8928         * tools/gst-typefind.1.in:
8929         * tools/gst-xmlinspect.1.in:
8930         * tools/gst-xmllaunch.1.in:
8931           cleanup man-pages, remove reference to gst-register, document env-vars
8932
8933 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
8934
8935         * gst/gstbuffer.c: (gst_buffer_span):
8936           gst_buffer_span should copy the timestamp of the first buffer
8937           if they were both originally overlapping subbuffers of the 
8938           same parent, using the same logic as the 'slow copy' case.
8939
8940 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
8941
8942         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
8943           Need to awaken ALL the pads when we pop a buffer, otherwise
8944           collectpads only works when there is 2 input streams.
8945
8946 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
8947
8948         * docs/random/ensonic/media-device-daemon.txt:
8949           more ideas (dbus)
8950         * gst/gstbuffer.c:
8951           fix doc example, add clarification
8952         * tools/gst-launch.1.in:
8953           add initial info about GST_PLUGIN_PATH, needs more work
8954
8955 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
8956
8957         * docs/manual/basics-bins.xml:
8958         * docs/manual/basics-elements.xml:
8959         * docs/manual/intro-basics.xml:
8960           Some more minor docs additions and updates.
8961
8962 2006-01-11  Wim Taymans  <wim@fluendo.com>
8963
8964         * docs/manual/basics-bins.xml:
8965         * docs/manual/basics-elements.xml:
8966         Some small fixes as pointed out by Ser-ver on IRC.
8967
8968 2006-01-10  Edward Hervey  <edward@fluendo.com>
8969
8970         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
8971         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
8972         the single-segment mode.
8973
8974 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
8975
8976         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
8977
8978         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
8979         (gst_base_src_perform_seek), (gst_base_src_send_event),
8980         (gst_base_src_set_property), (gst_base_src_get_property),
8981         (gst_base_src_loop), (gst_base_src_start),
8982         (gst_base_src_activate_push):
8983         * libs/gst/base/gstbasesrc.h:
8984           Name (private) union; makes Sun's Forte compiler happy (#324900).
8985
8986 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
8987
8988         * README:
8989           gst-register is gone.
8990
8991 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8992
8993         * gst/gstvalue.c: (_gst_value_initialize):
8994           make the G_TYPE_DATE instantiation work if debug is disabled
8995
8996 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
8997
8998         * gst/gstmessage.c: (gst_message_parse_tag),
8999         (gst_message_parse_error), (gst_message_parse_warning):
9000           Don't crash when return location for error/warning debug
9001           string is NULL; add fact that return locations can be
9002           NULL to docs where appropriate.
9003
9004 2006-01-05  Wim Taymans  <wim@fluendo.com>
9005
9006         * gst/gstplugin.c: (gst_plugin_load_file):
9007         Replace strdup by g_strdup.
9008
9009 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9010
9011         * docs/pwg/advanced-types.xml:
9012           fix doc borkage
9013
9014 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9015
9016         submitted by: Abel Cheung
9017
9018         * po/LINGUAS:
9019         * po/zh_TW.po:
9020           Added Chinese (traditional) translation
9021
9022 2006-01-04  Wim Taymans  <wim@fluendo.com>
9023
9024         * docs/manual/basics-pads.xml:
9025         * docs/plugins/Makefile.am:
9026         * docs/plugins/gstreamer-plugins-docs.sgml:
9027         * docs/plugins/gstreamer-plugins-sections.txt:
9028         * docs/pwg/advanced-clock.xml:
9029         * docs/pwg/advanced-scheduling.xml:
9030         * docs/pwg/advanced-types.xml:
9031         * plugins/elements/gstfdsink.c:
9032         * plugins/elements/gstfdsrc.c:
9033         * plugins/elements/gstfdsrc.h:
9034         * plugins/elements/gstidentity.c: (gst_identity_class_init):
9035         * plugins/elements/gstidentity.h:
9036         * plugins/elements/gstqueue.h:
9037         * plugins/elements/gsttee.c:
9038         * plugins/elements/gsttee.h:
9039         * plugins/elements/gsttypefindelement.c:
9040         (gst_type_find_element_class_init):
9041         * plugins/elements/gsttypefindelement.h:
9042         Small updates to various docs.
9043         Added core plugins to docs.
9044
9045 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9046
9047         * common/gst.supp:
9048           add a suppression for liboil's uninitialized variable
9049
9050 2006-01-02  James Livingston  <jrl at ids dot org dot au>
9051
9052         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9053
9054         * gst/gstutils.h:
9055           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
9056           macro, so that gcc doesn't complain if the -Wmissing-prototypes
9057           compiler switch is being used (#325429).
9058
9059 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
9060
9061         * gst/gstbin.c: (gst_bin_query):
9062           Disable duration query caching in bins until it gets
9063           fixed (see #324807).
9064
9065 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
9066
9067         * tools/gst-inspect.c: (print_element_properties_info):
9068           Handle properties of POINTER and BOXED type.
9069
9070 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
9071
9072         * gst/gst.c: (init_post):
9073           Init tags stuff and some other things before loading
9074           any static plugins (there may be other static plugins
9075           than just the GStreamer ones, and they may want to
9076           register their own tags or formats or whatever, and
9077           preferably without segfaulting).
9078
9079         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
9080           Print at least a warning in the debug logs if we drop a
9081           query just because we don't know how to adjust the value
9082           in the particular format.
9083
9084 2005-12-24  David Schleef  <ds@schleef.org>
9085
9086         * tools/gstreamer-completion:
9087           Replacement for gst-complete written in sh and sed.  Only
9088           completes names of features, but that's 90% of what I want
9089           it for.  Properties are not available in registry.xml.  (Maybe
9090           they should be...)
9091
9092 === release 0.10.1 ===
9093
9094 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
9095
9096         * configure.ac:
9097           releasing 0.10.1, "Nollaig chridheil"
9098
9099 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
9100
9101         * docs/faq/cvs.xml:
9102           Add missing quote, should be make ERROR_CFLAGS="".
9103
9104 2005-12-20  Wim Taymans  <wim@fluendo.com>
9105
9106         * docs/design/part-trickmodes.txt:
9107         More documentation on trickmodes.
9108
9109 2005-12-20  Edward Hervey  <edward@fluendo.com>
9110
9111         * gst/gstcaps.c: (gst_static_caps_get_type):
9112         * gst/gstcaps.h:
9113           API addition: GST_TYPE_STATIC_CAPS
9114         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
9115         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
9116         * gst/gstpadtemplate.h:
9117           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
9118         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
9119         bindings.
9120
9121 2005-12-18  Wim Taymans  <wim@fluendo.com>
9122
9123         * libs/gst/base/gstadapter.c:
9124         * libs/gst/base/gstadapter.h:
9125         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
9126         (gst_base_sink_get_position):
9127         * libs/gst/base/gstbasesink.h:
9128         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9129         (gst_base_src_default_query), (gst_base_src_default_do_seek),
9130         (gst_base_src_do_seek), (gst_base_src_perform_seek),
9131         (gst_base_src_send_event), (gst_base_src_update_length),
9132         (gst_base_src_get_range), (gst_base_src_loop),
9133         (gst_base_src_start):
9134         * libs/gst/base/gstbasesrc.h:
9135         * libs/gst/base/gstbasetransform.h:
9136         * libs/gst/base/gstcollectpads.h:
9137         * libs/gst/base/gstpushsrc.c:
9138         * libs/gst/base/gstpushsrc.h:
9139         * libs/gst/dataprotocol/dataprotocol.c:
9140         * libs/gst/dataprotocol/dataprotocol.h:
9141         * libs/gst/net/gstnetclientclock.h:
9142         * libs/gst/net/gstnettimeprovider.h:
9143         Documentation updates.
9144
9145 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
9146
9147         * docs/manual/basics-helloworld.xml:
9148           Remove superfluous closing bracket in helloworld example.
9149
9150 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
9151
9152         * tools/gst-launch.1.in:
9153           Update gst-launch man page; add a section with useful
9154           environment variables. Fixes #323882.
9155
9156 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
9157
9158         * gst/gst.c:
9159         * gst/gst_private.h:
9160           change some char* into char[]
9161
9162 2005-12-16  Wim Taymans  <wim@fluendo.com>
9163
9164         * gst/gstregistryxml.c: (load_feature):
9165         Cleanups.
9166         Don't use g_object_unref on GstObjects so that we avoid
9167         leaks on unsafe glibs.
9168
9169 2005-12-16  Wim Taymans  <wim@fluendo.com>
9170
9171         * gst/gstbin.c: (gst_bin_recalc_state):
9172         Small doc updates.
9173
9174 2005-12-16  Wim Taymans  <wim@fluendo.com>
9175
9176         * common/check.mak:
9177         Added make forever target for check.
9178
9179 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9180
9181         * gst/gst.c: (init_post):
9182           make the registry cache file HOST_CPU-dependent
9183
9184 2005-12-16  Andy Wingo  <wingo@pobox.com>
9185
9186         * plugins/elements/gstbufferstore.c
9187         (gst_buffer_store_cleared_func): Pay attention to g_list_append
9188         return value.
9189
9190         * tests/check/gst/gstobject.c
9191         (test_fake_object_name_threaded_unique): Pay attention to
9192         g_list_sort return value.
9193
9194 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
9195
9196         * tools/gst-feedback-m.m:
9197           Update for 0.9/0.10 (fixes #323870).
9198
9199 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
9200
9201         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
9202           Fix lcopy for mini objects, the mini object needs to be ref'ed.
9203           
9204         * tests/check/gst/gstminiobject.c: (my_foo_init),
9205         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
9206         (test_value_collection), (gst_mini_object_suite):
9207           Add test to ensure refcounts end up as expected when passing
9208           GstMiniObjects through g_object_get() and g_object_set().
9209
9210 2005-12-14  Julien MOUTTE  <julien@moutte.net>
9211
9212         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
9213         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
9214         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
9215         of collectpads. This version removes a lot of races without
9216         touching API/ABI. Yay !
9217
9218 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
9219
9220         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
9221           Don't allow activation of a srcpad in pull_range if it has no
9222           getrange function.
9223           Change some debug statements to be a little clearer
9224
9225         * plugins/elements/gsttypefindelement.c:
9226         (gst_type_find_handle_src_query):
9227           Check that we have a peer before executing queries thereupon.
9228
9229         * tests/examples/metadata/read-metadata.c: (message_loop):
9230           Use gst_bus_pop instead of gst_bus_poll when we just want it to
9231           immediately return us any available message with 0 timeout.
9232
9233 2005-12-12  Michael Smith  <msmith@fluendo.com>
9234
9235         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
9236           Don't unref factories after calling them.
9237         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
9238         * plugins/elements/gsttypefindelement.c:
9239         (gst_type_find_element_chain):
9240           Free lists of factories after using them. Fixing typefinding memory
9241           leaks.
9242
9243 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9244
9245         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
9246         (gst_plugin_feature_load):
9247           more meaningful debug output
9248         * configure.ac:
9249         * tests/Makefile.am:
9250         * tests/old/examples/Makefile.am:
9251           make make distcheck happy again
9252
9253 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
9254
9255         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
9256           Catch the special case where we are operating chain-based,
9257           but the downstream peer pad has no chain function. Emit a
9258           custom error message in this case instead of letting the
9259           core generate one implying that this is some sort of core
9260           bug. It's not, it just means that whatever got plugged
9261           into the pipeline downstream when we announced the type
9262           can only operate pull-based, while our source can only
9263           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
9264           Error string has not been marked for translation yet, as
9265           it probably needs some more work first.
9266
9267         (gst_type_find_element_get_best_possibility):
9268           Add helper function to find the best of all available
9269           found possibilities that qualify given the min. threshold.
9270
9271         (gst_type_find_element_handle_event):
9272           Fix the case where we get an EOS while still in TYPEFIND
9273           mode (we want to chose the best of all possible types,
9274           not just the first type that happens to be in our unsorted
9275           list of possible types).
9276
9277         (gst_type_find_element_chain):
9278           Make sure we return GST_FLOW_ERROR when we errored out
9279           in stop_typefinding(); also, don't just find the best of
9280           all found type entries and then use the last examined
9281           type entry, but actually use the best entry.
9282
9283 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
9284
9285         * tests/examples/typefind/typefind.c: (type_found):
9286         * tests/examples/xml/runxml.c: (xml_loaded):
9287           More gcc4 fixes and a mem leak fix.
9288
9289 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9290
9291         * tests/examples/xml/createxml.c: (object_saved):
9292           gcc 4 fixes
9293
9294 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9295
9296         * tests/Makefile.am:
9297           enable the examples even more
9298
9299 2005-12-12  Andy Wingo  <wingo@pobox.com>
9300
9301         * libs/gst/net/gstnettimeprovider.c
9302         (gst_net_time_provider_class_init, gst_net_time_provider_init)
9303         (gst_net_time_provider_set_property)
9304         (gst_net_time_provider_get_property):
9305         API addition: Export "active" as a GObject property.
9306         (gst_net_time_provider_thread): Only respond to time queries if
9307         the time provider is active.
9308
9309         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
9310         NetTimeProvider, preserving binary compat.
9311
9312 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9313
9314         * tests/examples/controller/audio-example.c: (main):
9315         * tests/examples/launch/Makefile.am:
9316           convert comments again
9317
9318 2005-12-12  Wim Taymans  <wim@fluendo.com>
9319
9320         * libs/gst/base/gstpushsrc.c:
9321         Fix typo.
9322
9323 2005-12-12  Wim Taymans  <wim@fluendo.com>
9324
9325         * docs/libs/gstreamer-libs-sections.txt:
9326         Added new symbol to docs.
9327
9328         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9329         (gst_base_src_init), (gst_base_src_set_format),
9330         (gst_base_src_default_query), (gst_base_src_query),
9331         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
9332         (gst_base_src_perform_seek), (gst_base_src_send_event),
9333         (gst_base_src_default_event), (gst_base_src_event_handler),
9334         (gst_base_src_set_property), (gst_base_src_get_property),
9335         (gst_base_src_wait), (gst_base_src_do_sync),
9336         (gst_base_src_update_length), (gst_base_src_get_range),
9337         (gst_base_src_check_get_range), (gst_base_src_loop),
9338         (gst_base_src_default_negotiate), (gst_base_src_start),
9339         (gst_base_src_activate_push), (gst_base_src_activate_pull),
9340         (gst_base_src_change_state):
9341         * libs/gst/base/gstbasesrc.h:
9342         Implement seeking to other formats than _BYTES.
9343         Implement more seeking methods correctly.
9344         Doc updates.
9345         Added query vmethod.
9346         Added do_seek vmethod to make life easier for subclasses
9347         when seeking.
9348         API addition: gst_base_src_set_format()
9349
9350 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9351
9352         * tests/examples/Makefile.am:
9353           added that too
9354
9355 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9356
9357         * configure.ac:
9358         * docs/random/ensonic/media-device-daemon.txt:
9359         * tests/examples/controller/.cvsignore:
9360         * tests/examples/controller/Makefile.am:
9361         * tests/examples/controller/audio-example.c: (main):
9362         * tests/examples/helloworld/.cvsignore:
9363         * tests/examples/helloworld/Makefile.am:
9364         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
9365         * tests/examples/launch/.cvsignore:
9366         * tests/examples/launch/Makefile.am:
9367         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
9368         * tests/examples/metadata/.cvsignore:
9369         * tests/examples/metadata/Makefile.am:
9370         * tests/examples/metadata/read-metadata.c: (message_loop),
9371         (make_pipeline), (print_tag), (main):
9372         * tests/examples/queue/.cvsignore:
9373         * tests/examples/queue/Makefile.am:
9374         * tests/examples/queue/queue.c: (event_loop), (main):
9375         * tests/examples/typefind/.cvsignore:
9376         * tests/examples/typefind/Makefile.am:
9377         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
9378         (main):
9379         * tests/examples/xml/.cvsignore:
9380         * tests/examples/xml/Makefile.am:
9381         * tests/examples/xml/createxml.c: (object_saved), (main):
9382         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
9383         * tests/old/examples/Makefile.am:
9384         * tests/old/examples/TODO:
9385         * tests/old/examples/controller/.cvsignore:
9386         * tests/old/examples/controller/Makefile.am:
9387         * tests/old/examples/controller/audio-example.c:
9388         * tests/old/examples/helloworld/.cvsignore:
9389         * tests/old/examples/helloworld/Makefile.am:
9390         * tests/old/examples/helloworld/helloworld.c:
9391         * tests/old/examples/launch/.cvsignore:
9392         * tests/old/examples/launch/Makefile.am:
9393         * tests/old/examples/launch/mp3parselaunch.c:
9394         * tests/old/examples/launch/mp3play:
9395         * tests/old/examples/manual/Makefile.am:
9396         * tests/old/examples/metadata/Makefile.am:
9397         * tests/old/examples/metadata/read-metadata.c:
9398         * tests/old/examples/queue/.cvsignore:
9399         * tests/old/examples/queue/Makefile.am:
9400         * tests/old/examples/queue/queue.c:
9401         * tests/old/examples/typefind/.cvsignore:
9402         * tests/old/examples/typefind/Makefile.am:
9403         * tests/old/examples/typefind/typefind.c:
9404         * tests/old/examples/xml/.cvsignore:
9405         * tests/old/examples/xml/Makefile.am:
9406         * tests/old/examples/xml/createxml.c:
9407         * tests/old/examples/xml/runxml.c:
9408           applied some simple fixing to some examples
9409           re-enabled the working examples
9410
9411 2005-12-12  Wim Taymans  <wim@fluendo.com>
9412
9413         * gst/gstsegment.c: (gst_segment_init),
9414         (gst_segment_set_last_stop), (gst_segment_set_seek),
9415         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
9416         (gst_segment_to_running_time):
9417         Added more documentation.
9418         Make sure the last_pos value is updated properly.
9419         Make sure to_stream_time and to_running_time don't
9420         operate on wrong values.
9421
9422         * tests/check/gst/gstsegment.c: (GST_START_TEST):
9423         Update check.
9424
9425 2005-12-12  Michael Smith  <msmith@fluendo.com>
9426
9427         * plugins/elements/gsttypefindelement.c: (free_entry),
9428         (gst_type_find_element_chain):
9429           Now that we're not leaking factories, make sure we keep references
9430           to them while we need them.
9431
9432 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9433
9434         * tests/check/gst/struct_i386.h:
9435           ifdef out the XML structs
9436
9437 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9438
9439         * gst/gstvalue.c: (gst_value_transform_double_fraction):
9440           floor is not needed, F is always positive; this obviates the
9441           need for adding -lm when building without libxml
9442
9443 2005-12-12  Wim Taymans  <wim@fluendo.com>
9444
9445         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
9446         Take current playback rate into account when reporting
9447         the position.
9448
9449 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9450
9451         * docs/manual/mime-world.fig:
9452           Let's try this again, this time with a file that is
9453           actually in XFig format.
9454
9455 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9456
9457         * docs/manual/mime-world.fig:
9458           Add audioconvert element to diagram so that it
9459           matches the text and the code (fixes #319526).
9460
9461 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9462
9463         * docs/pwg/building-chainfn.xml:
9464         * docs/pwg/building-pads.xml:
9465         * docs/pwg/building-state.xml:
9466         * docs/pwg/other-source.xml:
9467           Update state change stuff for 0.10 (fixes #322969).
9468
9469 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9470
9471         * docs/manual/advanced-dataaccess.xml:
9472         * docs/manual/appendix-checklist.xml:
9473         * docs/manual/appendix-programs.xml:
9474         * docs/manual/basics-pads.xml:
9475         * docs/manual/highlevel-components.xml:
9476         * docs/manual/manual.xml:
9477           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
9478           add converters in front of pipelines; remove curly
9479           brackets for threads stuff, they no longer exist; use
9480           GST_TYPE_FRACTION for framerates; update some pieces of
9481           code to 0.10, but there's plenty more to do.
9482
9483         * docs/manual/appendix-porting.xml:
9484           Expand on asynchroneous state changes; s/0.9/0.10/;
9485           mention disappearance of gst_init_get_popt_table()
9486           (fixes #322916).
9487
9488 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9489
9490         * docs/faq/using.xml:
9491           Spider no longer exists, and neither does gst-launch-ext.
9492           Update examples to use decodebin and playbin and put
9493           converters in front of sinks (fixes #323726).
9494
9495 2005-12-09  Michael Smith  <msmith@fluendo.com>
9496
9497         * plugins/elements/gsttypefindelement.c: (find_peek),
9498         (gst_type_find_element_chain):
9499           Fix leaking element factories in typefinding.
9500           Fix problem where we forgot about a probable type on non-seekable
9501           files, and thus later mis-typefound it.
9502
9503 2005-12-09  Michael Smith  <msmith@fluendo.com>
9504
9505         * common/m4/gst-makecontext.m4:
9506         * common/m4/gst-mcsc.m4:
9507         * configure.ac:
9508         * win32/common/config.h:
9509         * win32/common/config.h.in:
9510           Remove makecontext stuff; not used in 0.10 and causes problems on
9511           HPUX according to bug #322441
9512
9513 2005-12-07  Wim Taymans  <wim@fluendo.com>
9514
9515         * tests/check/Makefile.am:
9516         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
9517         (main):
9518         * tests/check/libs/struct_i386.h:
9519         Added ABI check for libs
9520
9521 2005-12-07  Wim Taymans  <wim@fluendo.com>
9522
9523         * tests/check/Makefile.am:
9524         And add the struct_i386.h to dist.
9525
9526 2005-12-07  Wim Taymans  <wim@fluendo.com>
9527
9528         * tests/check/Makefile.am:
9529         * tests/check/gst/.cvsignore:
9530         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
9531         (main):
9532         * tests/check/gst/struct_i386.h:
9533         Added check for ABI compatibility.
9534
9535 2005-12-07  Wim Taymans  <wim@fluendo.com>
9536
9537         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
9538         (gst_fake_src_get_times), (gst_fake_src_create):
9539         Fix broken sync option, fixes #323259
9540
9541 2005-12-07  Wim Taymans  <wim@fluendo.com>
9542
9543         * gst/gstbuffer.c:
9544         Small docs update.
9545
9546         * gst/gstcaps.c: (gst_caps_is_equal):
9547         Don't assert on NULL <--> X. Fixes #323260
9548
9549         * gst/gstminiobject.c: (gst_mini_object_replace):
9550         If we're doing atomic operations, we might just as well use
9551         the proper way to get an atomic pointer.
9552
9553         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
9554         Clean up debugging.
9555
9556 2005-12-07  Michael Smith  <msmith@fluendo.com>
9557
9558         * gst/parse/grammar.y:
9559           Remove handling of { } for threads.
9560
9561 2005-12-06  David Schleef  <ds@schleef.org>
9562
9563         * libs/gst/base/gstbasetransform.c: speling fix.
9564
9565 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9566
9567         * docs/libs/tmpl/gstdataprotocol.sgml:
9568         * docs/random/omega/testing/gstobject.c:
9569         * gst/gst.c:
9570         * gst/gstclock.c:
9571         * gst/gstelement.c:
9572         * gst/gstelementfactory.c:
9573         * gst/gsterror.c:
9574         * gst/gstevent.c:
9575         * gst/gstghostpad.c:
9576         * gst/gstinfo.c:
9577         * gst/gstpadtemplate.c:
9578         * gst/gstregistryxml.c:
9579         * gst/gsttaglist.c:
9580         * gst/gsttagsetter.c:
9581         * gst/gsttypefind.c:
9582         * gst/gstvalue.c:
9583         * libs/gst/base/gstbasesrc.c:
9584         * libs/gst/net/gstnetclientclock.c:
9585         * libs/gst/net/gstnettimeprovider.c:
9586         * plugins/elements/gstfakesrc.c:
9587         * plugins/elements/gstfdsrc.c:
9588         * plugins/elements/gstfilesrc.c:
9589         * plugins/elements/gstidentity.c:
9590         * plugins/elements/gstqueue.c:
9591         * plugins/elements/gsttypefindelement.c:
9592         * plugins/indexers/gstfileindex.c:
9593         * plugins/indexers/gstmemindex.c:
9594         * tests/check/gst/gsttag.c:
9595         * tests/old/examples/cutter/cutter.c:
9596         * tests/old/examples/mixer/mixer.c:
9597         * tests/old/examples/xml/runxml.c: (main):
9598         * tests/old/testsuite/caps/normalisation.c:
9599         * tests/old/testsuite/debug/global.c:
9600         * tests/old/testsuite/parse/parse1.c:
9601         * tools/gst-xmlinspect.c:
9602         * win32/common/dirent.c:
9603           expand tabs
9604
9605 === release 0.10.0 ===
9606
9607 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9608
9609         * configure.ac:
9610           releasing 0.10.0, "Maroilles"
9611
9612 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9613
9614         submitted by: Funda Wang <fundawang@linux.net.cn>
9615
9616         * po/LINGUAS:
9617         * po/zh_CN.po:
9618           added Chinese (Traditional) translation
9619
9620 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9621
9622         * docs/gst/gstreamer-sections.txt:
9623         * docs/libs/tmpl/gstdataprotocol.sgml:
9624         * docs/random/thomasvs/TODO:
9625         * gst/gstutils.c:
9626         * gst/gstutils.h:
9627           fix docs
9628
9629 2005-12-05  Andy Wingo  <wingo@pobox.com>
9630
9631         patch by: Wim Taymans <wim@fluendo.com>
9632
9633         * libs/gst/base/gstbasetransform.c
9634         (gst_base_transform_prepare_output_buf)
9635         (gst_base_transform_buffer_alloc):
9636         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
9637         alloc_buffer_and_set_caps.
9638
9639         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
9640         set_caps on the source pad.
9641         (gst_pad_alloc_buffer_and_set_caps): New function, does what
9642         alloc_buffer used to do. Fixes #322874.
9643
9644         * docs/gst/gstreamer-sections.txt: 
9645         * docs/design/part-negotiation.txt: 
9646         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
9647         changes.
9648
9649 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9650
9651         patch by: Sebastien Moutte
9652
9653         * win32/MANIFEST:
9654         * win32/common/config.h.in:
9655         * win32/vs6/libgstcontroller.dsp:
9656           win32 build fixes
9657
9658 2005-12-05  Wim Taymans  <wim@fluendo.com>
9659
9660         * gst/gstcaps.c: (gst_caps_is_equal):
9661         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
9662         (gst_fake_src_create):
9663         Back out previous code changes, leave doc updates, file bugs 
9664         instead. 
9665
9666 2005-12-05  Wim Taymans  <wim@fluendo.com>
9667
9668         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
9669         (gst_fake_src_get_times), (gst_fake_src_create):
9670         * plugins/elements/gstfakesrc.h:
9671         Fix broken sync code.
9672
9673 2005-12-05  Wim Taymans  <wim@fluendo.com>
9674
9675         * gst/gstcaps.c: (gst_caps_is_equal):
9676         Comparing NULL against !NULL yields different caps, not a
9677         failure.
9678
9679 2005-12-05  Wim Taymans  <wim@fluendo.com>
9680
9681         * gst/gstpipeline.c:
9682         Fix small typo in docs.
9683
9684 2005-12-05  Andy Wingo  <wingo@pobox.com>
9685
9686         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
9687
9688         * gst/gst.c (init_post): remove hard-coded 0.9 location for
9689         registries/plugins with a MAJORMINOR one.
9690         (plugin_desc): Rename library from gstcoreleements to
9691         staticelements. Fixes #323222.
9692
9693 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
9694
9695         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
9696           Change debug category to 'collectpads' from 'collect_pads'
9697           (fixes #323250).
9698
9699 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9700
9701         patch by: Sebastien Moutte
9702
9703         * libs/gst/controller/gstinterpolation.c:
9704           use convert function for uint64/double
9705         * win32/vs6/libgstcontroller.dsp:
9706           link to GLib
9707
9708 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9709
9710         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
9711         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
9712         * gst/gstutils.h:
9713         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
9714           add tests that seem to show that the guint64/gdouble conversions
9715           are correct.
9716
9717 2005-12-02  Wim Taymans  <wim@fluendo.com>
9718
9719         * gst/gstregistry.c: (gst_registry_add_path):
9720         * gst/gstregistry.h:
9721         * gst/gstregistryxml.c:
9722         Fix docs again.
9723
9724 2005-12-02  Wim Taymans  <wim@fluendo.com>
9725
9726         * gst/gstutils.c: (gst_util_uint64_scale_int64),
9727         (gst_util_uint64_scale_int):
9728         Small cleanup.
9729
9730         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9731         Add debug log line.
9732
9733         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
9734         Add FIXME.
9735
9736 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9737
9738         * win32/MANIFEST:
9739         * win32/common/config.h:
9740         * win32/vs6/gstreamer.dsw:
9741         * win32/vs6/libgstcoreelements.dsp:
9742         * win32/vs6/libgstelements.dsp:
9743           renamed core elements plugin
9744
9745 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9746
9747         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
9748         (get_candidates):
9749           do piece-wise major/minor comparison so 0.9 < 0.10
9750           also allow .exe extensions for tools
9751
9752 2005-12-02  Michael Smith  <msmith@fluendo.com>
9753
9754         * gst/gst.c:
9755           Escape a % to make gtkdoc happier; bug 322958.
9756
9757 === release 0.9.7 ===
9758
9759 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
9760
9761         * configure.ac:
9762           releasing 0.9.7, "My Dog Has No Nose"
9763
9764 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9765
9766         * common/gst-xmlinspect.py:
9767         * configure.ac:
9768         * docs/libs/tmpl/gstdataprotocol.sgml:
9769         * docs/random/release:
9770         * po/af.po:
9771         * po/az.po:
9772         * po/bg.po:
9773         * po/ca.po:
9774         * po/cs.po:
9775         * po/de.po:
9776         * po/en_GB.po:
9777         * po/fr.po:
9778         * po/it.po:
9779         * po/nb.po:
9780         * po/nl.po:
9781         * po/ru.po:
9782         * po/sq.po:
9783         * po/sr.po:
9784         * po/sv.po:
9785         * po/tr.po:
9786         * po/uk.po:
9787         * po/vi.po:
9788         * win32/common/config.h:
9789         * win32/common/config.h.in:
9790         * win32/vs6/gst_inspect.dsp:
9791         * win32/vs6/gst_launch.dsp:
9792         * win32/vs6/libgstbase.dsp:
9793         * win32/vs6/libgstelements.dsp:
9794         * win32/vs6/libgstreamer.dsp:
9795         * win32/vs7/GStreamer.vcproj:
9796         * win32/vs7/gst-inspect.vcproj:
9797         * win32/vs7/gst-launch.vcproj:
9798         * win32/vs7/libgstbase.vcproj:
9799           bump GST_MAJORMINOR to 0.10
9800           reset libtool version
9801
9802 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9803
9804         * po/LINGUAS:
9805         * po/bg.po:
9806           Added Bulgarian translation by (Alexander Shopov)
9807
9808 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9809
9810         * tests/check/gst/gstplugin.c:
9811           fix test
9812
9813 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9814
9815         * common/gst-xmlinspect.py:
9816         * common/gtk-doc-plugins.mak:
9817         * configure.ac:
9818         * docs/Makefile.am:
9819         * docs/gst/Makefile.am:
9820         * docs/gst/gstreamer-docs.sgml:
9821         * docs/gst/gstreamer-sections.txt:
9822         * docs/gst/gstreamer.types:
9823         * docs/gst/gstreamer.types.in:
9824         * docs/plugins/Makefile.am:
9825         * docs/plugins/gstreamer-plugins-docs.sgml:
9826         * docs/plugins/gstreamer-plugins-sections.txt:
9827         * docs/plugins/gstreamer-plugins.types:
9828         * docs/plugins/inspect.stamp:
9829         * docs/plugins/inspect/plugin-coreelements.xml:
9830         * docs/plugins/inspect/plugin-coreindexers.xml:
9831         * docs/plugins/scanobj-build.stamp:
9832         * gstreamer.spec.in:
9833         * plugins/elements/Makefile.am:
9834         * plugins/elements/gstelements.c:
9835         * plugins/elements/gstfakesink.c:
9836         * plugins/elements/gstfakesrc.c:
9837         * plugins/elements/gstfilesink.c:
9838         * plugins/elements/gstfilesrc.c:
9839         * plugins/elements/gstqueue.c:
9840         * plugins/indexers/Makefile.am:
9841         * plugins/indexers/gstindexers.c:
9842           document core plugins in a separate document just like all the
9843           others
9844           rename these plugins to something starting with core
9845
9846 2005-12-01  Andy Wingo  <wingo@pobox.com>
9847
9848         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
9849         padding here before, but it missed the commit.
9850
9851 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
9852
9853         * libs/gst/controller/gstinterpolation.c:
9854           whitespace prices have crashed, we should feel free to use some now
9855           use gst_guint64_to_gdouble
9856
9857 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
9858
9859         * libs/gst/controller/gstcontroller.c:
9860         * libs/gst/controller/gsthelper.c:
9861         * libs/gst/controller/gstinterpolation.c:
9862         * libs/gst/controller/lib.c:
9863           wrap config.h include
9864
9865 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
9866
9867         * docs/gst/gstreamer-sections.txt:
9868           update docs
9869
9870 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
9871
9872         * plugins/elements/gstelements.c:
9873         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
9874         (gst_fd_sink__class_init), (gst_fd_sink__init),
9875         (gst_fd_sink__chain), (gst_fd_sink__set_property),
9876         (gst_fd_sink__get_property):
9877         * plugins/elements/gstfdsink.h:
9878         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
9879         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
9880         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
9881         (gst_fd_src_unlock), (gst_fd_src_set_property),
9882         (gst_fd_src_get_property), (gst_fd_src_create),
9883         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
9884         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
9885         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
9886         (gst_fd_src_uri_handler_init):
9887         * plugins/elements/gstfdsrc.h:
9888         * plugins/elements/gstqueue.c: (gst_queue_get_type):
9889           more anal cleanup
9890
9891 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9892
9893         * docs/gst/Makefile.am:
9894         * docs/gst/gstreamer.types.in:
9895         * gst/Makefile.am:
9896           fix the docs build
9897
9898 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9899
9900         * configure.ac:
9901         * gst/Makefile.am:
9902         * gst/gst.c:
9903         * gst/gstplugin.h:
9904         * gst/gstregistry.h:
9905         * tests/benchmarks/complexity.c:
9906         * tests/benchmarks/mass-elements.c:
9907         * tests/check/Makefile.am:
9908         * tools/Makefile.am:
9909         * tools/gst-inspect.c:
9910         * tools/gst-xmlinspect.c:
9911           various fixes to make
9912           --disable-nls --disable-registry --disable-loadsave
9913           --disable-parse --disable-gst-debug
9914           work and get the core .so down to 360444 bytes after stripping
9915
9916 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9917
9918         * Makefile.am:
9919         * configure.ac:
9920           descend into tests
9921         * docs/random/thomasvs/TODO:
9922         * tests/Makefile.am:
9923         * tests/README:
9924           add a README
9925
9926 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9927
9928         * win32/GStreamer.vcproj:
9929         * win32/MANIFEST:
9930         * win32/Makefile:
9931         * win32/Makefile.inspect:
9932         * win32/Makefile.launch:
9933         * win32/Makefile.register:
9934         * win32/README.txt:
9935         * win32/gst-inspect.vcproj:
9936         * win32/gst-launch.vcproj:
9937         * win32/gst-register.vcproj:
9938         * win32/gstelements.vcproj:
9939         * win32/gstgetbits.def:
9940         * win32/gstgetbits.vcproj:
9941         * win32/gstreamer-dbg.def:
9942         * win32/gstreamer.def:
9943         * win32/libgstbase.def:
9944         * win32/libgstbase.vcproj:
9945         * win32/link_oldruntime.c:
9946         * win32/mman.c:
9947         * win32/mman.h:
9948         * win32/mman.inl:
9949         * win32/msvc71.sln:
9950           move even more stuff, win32/ is nice and clean now
9951
9952 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9953
9954         * libs/gst/control/.cvsignore:
9955         * win32/MANIFEST:
9956         * win32/config.h:
9957         * win32/dirent.c:
9958         * win32/dirent.h:
9959         * win32/gstbytestream.def:
9960         * win32/gstbytestream.vcproj:
9961         * win32/gstconfig.h:
9962         * win32/gstenumtypes.c:
9963         * win32/gstenumtypes.h:
9964         * win32/gstoptimalscheduler.vcproj:
9965         * win32/gstversion.h:
9966         * win32/gtchar.h:
9967         * win32/testsuite/bins.vcproj:
9968         * win32/testsuite/bytestream.vcproj:
9969         * win32/testsuite/caps.vcproj:
9970         * win32/testsuite/cleanup.vcproj:
9971         * win32/testsuite/clock.vcproj:
9972         * win32/testsuite/debug.vcproj:
9973         * win32/testsuite/dlopen.vcproj:
9974         * win32/testsuite/dynparams.vcproj:
9975         * win32/testsuite/elements.vcproj:
9976         * win32/testsuite/ghostpads.vcproj:
9977         * win32/testsuite/indexers.vcproj:
9978         * win32/testsuite/negotiation.vcproj:
9979         * win32/testsuite/parse.vcproj:
9980         * win32/testsuite/plugin.vcproj:
9981         * win32/testsuite/refcounting.vcproj:
9982         * win32/testsuite/schedulers.vcproj:
9983         * win32/testsuite/states.vcproj:
9984         * win32/testsuite/tags.vcproj:
9985         * win32/testsuite/threads.vcproj:
9986           remove old win32 stuff that isn't maintained and should be
9987           reorganized
9988
9989 2005-11-30  Andy Wingo  <wingo@pobox.com>
9990
9991         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
9992         loading the gst.interfaces python module bork.
9993
9994         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
9995         available since GLib 2.2. Fixes #318031.
9996
9997 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9998
9999         * Makefile.am:
10000         * check/.cvsignore:
10001         * check/Makefile.am:
10002         * check/elements/.cvsignore:
10003         * check/elements/fakesrc.c:
10004         * check/elements/fdsrc.c:
10005         * check/elements/identity.c:
10006         * check/generic/.cvsignore:
10007         * check/generic/states.c:
10008         * check/gst-libs/.cvsignore:
10009         * check/gst-libs/controller.c:
10010         * check/gst-libs/gdp.c:
10011         * check/gst/.cvsignore:
10012         * check/gst/capslist.h:
10013         * check/gst/gst.c:
10014         * check/gst/gstbin.c:
10015         * check/gst/gstbuffer.c:
10016         * check/gst/gstbus.c:
10017         * check/gst/gstcaps.c:
10018         * check/gst/gstelement.c:
10019         * check/gst/gstevent.c:
10020         * check/gst/gstghostpad.c:
10021         * check/gst/gstiterator.c:
10022         * check/gst/gstmessage.c:
10023         * check/gst/gstminiobject.c:
10024         * check/gst/gstobject.c:
10025         * check/gst/gstpad.c:
10026         * check/gst/gstpipeline.c:
10027         * check/gst/gstplugin.c:
10028         * check/gst/gstsegment.c:
10029         * check/gst/gststructure.c:
10030         * check/gst/gstsystemclock.c:
10031         * check/gst/gsttag.c:
10032         * check/gst/gstutils.c:
10033         * check/gst/gstvalue.c:
10034         * check/net/.cvsignore:
10035         * check/net/gstnetclientclock.c:
10036         * check/net/gstnettimeprovider.c:
10037         * check/pipelines/.cvsignore:
10038         * check/pipelines/cleanup.c:
10039         * check/pipelines/simple_launch_lines.c:
10040         * check/pipelines/stress.c:
10041         * check/states/.cvsignore:
10042         * check/states/sinks.c:
10043         * configure.ac:
10044         * examples/Makefile.am:
10045         * examples/appreader/.cvsignore:
10046         * examples/appreader/Makefile.am:
10047         * examples/appreader/appreader.c:
10048         * examples/controller/.cvsignore:
10049         * examples/controller/Makefile.am:
10050         * examples/controller/audio-example.c:
10051         * examples/cutter/.cvsignore:
10052         * examples/cutter/Makefile.am:
10053         * examples/cutter/cutter.c:
10054         * examples/cutter/cutter.h:
10055         * examples/events/Makefile.am:
10056         * examples/events/seek.c:
10057         * examples/helloworld/.cvsignore:
10058         * examples/helloworld/Makefile.am:
10059         * examples/helloworld/helloworld.c:
10060         * examples/helloworld2/.cvsignore:
10061         * examples/helloworld2/Makefile.am:
10062         * examples/helloworld2/helloworld2.c:
10063         * examples/launch/.cvsignore:
10064         * examples/launch/Makefile.am:
10065         * examples/launch/mp3parselaunch.c:
10066         * examples/launch/mp3play:
10067         * examples/manual/.cvsignore:
10068         * examples/manual/Makefile.am:
10069         * examples/manual/extract.pl:
10070         * examples/metadata/Makefile.am:
10071         * examples/metadata/read-metadata.c:
10072         * examples/mixer/.cvsignore:
10073         * examples/mixer/Makefile.am:
10074         * examples/mixer/mixer.c:
10075         * examples/mixer/mixer.h:
10076         * examples/pingpong/.cvsignore:
10077         * examples/pingpong/Makefile.am:
10078         * examples/pingpong/pingpong.c:
10079         * examples/plugins/.cvsignore:
10080         * examples/plugins/Makefile.am:
10081         * examples/plugins/example.c:
10082         * examples/plugins/example.h:
10083         * examples/pwg/.cvsignore:
10084         * examples/pwg/Makefile.am:
10085         * examples/pwg/extract.pl:
10086         * examples/queue/.cvsignore:
10087         * examples/queue/Makefile.am:
10088         * examples/queue/queue.c:
10089         * examples/queue2/.cvsignore:
10090         * examples/queue2/Makefile.am:
10091         * examples/queue2/queue2.c:
10092         * examples/queue3/.cvsignore:
10093         * examples/queue3/Makefile.am:
10094         * examples/queue3/queue3.c:
10095         * examples/queue4/.cvsignore:
10096         * examples/queue4/Makefile.am:
10097         * examples/queue4/queue4.c:
10098         * examples/retag/.cvsignore:
10099         * examples/retag/Makefile.am:
10100         * examples/retag/retag.c:
10101         * examples/retag/transcode.c:
10102         * examples/thread/.cvsignore:
10103         * examples/thread/Makefile.am:
10104         * examples/thread/thread.c:
10105         * examples/typefind/.cvsignore:
10106         * examples/typefind/Makefile.am:
10107         * examples/typefind/typefind.c:
10108         * examples/xml/.cvsignore:
10109         * examples/xml/Makefile.am:
10110         * examples/xml/createxml.c:
10111         * examples/xml/runxml.c:
10112         * tests/Makefile.am:
10113         * tests/check/Makefile.am:
10114         * testsuite/.cvsignore:
10115         * testsuite/Makefile.am:
10116         * testsuite/Rules:
10117         * testsuite/caps/.cvsignore:
10118         * testsuite/caps/Makefile.am:
10119         * testsuite/caps/app_fixate.c:
10120         * testsuite/caps/audioscale.c:
10121         * testsuite/caps/caps.c:
10122         * testsuite/caps/caps.h:
10123         * testsuite/caps/caps_strings:
10124         * testsuite/caps/compatibility.c:
10125         * testsuite/caps/deserialize.c:
10126         * testsuite/caps/enumcaps.c:
10127         * testsuite/caps/eratosthenes.c:
10128         * testsuite/caps/filtercaps.c:
10129         * testsuite/caps/fixed.c:
10130         * testsuite/caps/fraction-convert.c:
10131         * testsuite/caps/fraction-multiply-and-zero.c:
10132         * testsuite/caps/intersect2.c:
10133         * testsuite/caps/intersection.c:
10134         * testsuite/caps/normalisation.c:
10135         * testsuite/caps/random.c:
10136         * testsuite/caps/renegotiate.c:
10137         * testsuite/caps/sets.c:
10138         * testsuite/caps/simplify.c:
10139         * testsuite/caps/string-conversions.c:
10140         * testsuite/caps/structure.c:
10141         * testsuite/caps/subtract.c:
10142         * testsuite/caps/union.c:
10143         * testsuite/debug/.cvsignore:
10144         * testsuite/debug/Makefile.am:
10145         * testsuite/debug/category.c:
10146         * testsuite/debug/commandline.c:
10147         * testsuite/debug/global.c:
10148         * testsuite/debug/output.c:
10149         * testsuite/debug/printf_extension.c:
10150         * testsuite/dlopen/.cvsignore:
10151         * testsuite/dlopen/Makefile.am:
10152         * testsuite/dlopen/dlopen_gst.c:
10153         * testsuite/dlopen/loadgst.c:
10154         * testsuite/elements/.cvsignore:
10155         * testsuite/elements/Makefile.am:
10156         * testsuite/elements/gst-inspect-check.in:
10157         * testsuite/elements/struct_i386.h:
10158         * testsuite/elements/struct_size.c:
10159         * testsuite/indexers/.cvsignore:
10160         * testsuite/indexers/Makefile.am:
10161         * testsuite/indexers/cache1.c:
10162         * testsuite/indexers/indexdump.c:
10163         * testsuite/parse/.cvsignore:
10164         * testsuite/parse/Makefile.am:
10165         * testsuite/parse/parse1.c:
10166         * testsuite/parse/parse2.c:
10167         * testsuite/plugin/.cvsignore:
10168         * testsuite/plugin/Makefile.am:
10169         * testsuite/plugin/README:
10170         * testsuite/plugin/dynamic.c:
10171         * testsuite/plugin/linked.c:
10172         * testsuite/plugin/loading.c:
10173         * testsuite/plugin/registry.c:
10174         * testsuite/plugin/static.c:
10175         * testsuite/plugin/static2.c:
10176         * testsuite/plugin/testplugin.c:
10177         * testsuite/plugin/testplugin2.c:
10178         * testsuite/plugin/testplugin2_s.c:
10179         * testsuite/plugin/testplugin_s.c:
10180         * testsuite/refcounting/.cvsignore:
10181         * testsuite/refcounting/Makefile.am:
10182         * testsuite/refcounting/bin.c:
10183         * testsuite/refcounting/element.c:
10184         * testsuite/refcounting/element_pad.c:
10185         * testsuite/refcounting/mainloop.c:
10186         * testsuite/refcounting/mem.c:
10187         * testsuite/refcounting/mem.h:
10188         * testsuite/refcounting/object.c:
10189         * testsuite/refcounting/pad.c:
10190         * testsuite/refcounting/sched.c:
10191         * testsuite/refcounting/thread.c:
10192         * testsuite/states/.cvsignore:
10193         * testsuite/states/Makefile.am:
10194         * testsuite/states/bin.c:
10195         * testsuite/states/locked.c:
10196         * testsuite/states/parent.c:
10197         * testsuite/threads/.cvsignore:
10198         * testsuite/threads/159566.c:
10199         * testsuite/threads/159852.c:
10200         * testsuite/threads/Makefile.am:
10201         * testsuite/threads/queue.c:
10202         * testsuite/threads/signals.c:
10203         * testsuite/threads/staticrec.c:
10204         * testsuite/threads/thread.c:
10205         * testsuite/threads/threadb.c:
10206         * testsuite/threads/threadc.c:
10207         * testsuite/threads/threadd.c:
10208         * testsuite/threads/threade.c:
10209         * testsuite/threads/threadf.c:
10210         * testsuite/threads/threadg.c:
10211         * testsuite/threads/threadh.c:
10212         * testsuite/threads/threadi.c:
10213           move all of these under tests
10214
10215 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10216
10217         * configure.ac:
10218         * tests/Makefile.am:
10219           fix distcheck
10220
10221 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10222
10223         * docs/gst/gstreamer-sections.txt:
10224         * tests/sched/.cvsignore:
10225         * tests/sched/Makefile.am:
10226         * tests/sched/cases/(fs-fs).xml:
10227         * tests/sched/cases/(fs-i-fs).xml:
10228         * tests/sched/cases/(fs-i-i-fs).xml:
10229         * tests/sched/cases/(fs-i-q[i-fs]).xml:
10230         * tests/sched/dynamic-pipeline.c:
10231         * tests/sched/interrupt1.c:
10232         * tests/sched/interrupt2.c:
10233         * tests/sched/interrupt3.c:
10234         * tests/sched/runtestcases:
10235         * tests/sched/runxml.c:
10236         * tests/sched/sched-stress.c:
10237         * tests/sched/sort.c:
10238         * tests/sched/testcases:
10239         * tests/sched/testcases1.tc:
10240         * tests/seeking/.cvsignore:
10241         * tests/seeking/Makefile.am:
10242         * tests/seeking/seeking1.c:
10243         * tests/threadstate/.cvsignore:
10244         * tests/threadstate/Makefile.am:
10245         * tests/threadstate/test1.c:
10246         * tests/threadstate/test2.c:
10247         * tests/threadstate/threadstate1.c:
10248         * tests/threadstate/threadstate2.c:
10249         * tests/threadstate/threadstate3.c:
10250         * tests/threadstate/threadstate4.c:
10251         * tests/threadstate/threadstate5.c:
10252           remove obsolete tests
10253         * configure.ac:
10254         * tests/bench-complexity.scm:
10255         * tests/bench-mass_elements.scm:
10256         * tests/complexity.c:
10257         * tests/complexity.gnuplot:
10258         * tests/instantiate/.cvsignore:
10259         * tests/instantiate/Makefile.am:
10260         * tests/instantiate/caps.c:
10261         * tests/mass_elements.c:
10262         * tests/network-clock-utils.scm:
10263         * tests/network-clock.scm:
10264         * tests/plot-data:
10265         First pass at cleaning up tests/ dir before moving the rest
10266         Combined with CVS surgery
10267
10268 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10269
10270         * po/POTFILES.in:
10271           queue has moved, update
10272
10273 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10274
10275         * docs/gst/gstreamer-sections.txt:
10276           remove double entries from the docs
10277         * gst/gst_private.h:
10278         * gst/gstinfo.c: (_gst_debug_init):
10279           remove the THREAD debug category
10280         * gst/Makefile.am:
10281         * gst/gstqueue.c:
10282         * gst/gstqueue.h:
10283         * docs/gst/gstreamer.types:
10284         * plugins/elements/gstqueue.c: (gst_queue_get_type),
10285         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
10286           completely move queue and fix up debugging categories
10287
10288 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10289
10290         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
10291           make initialization portable, using LL is not
10292
10293 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10294
10295         * win32/common/gstconfig.h:
10296           add large padding
10297
10298 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10299
10300         * win32/common/libgstreamer.def:
10301           rename symbols; sort base section
10302
10303 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10304
10305         * gst/gstclock.c: (do_linear_regression):
10306           remove crack non-portable handrolled DEBUG macro
10307
10308 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10309
10310         * docs/random/release:
10311           update notes
10312         * win32/common/gstenumtypes.c: (register_gst_object_flags),
10313         (gst_object_flags_get_type), (register_gst_bin_flags),
10314         (gst_bin_flags_get_type), (register_gst_buffer_flag),
10315         (gst_buffer_flag_get_type), (register_gst_bus_flags),
10316         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
10317         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
10318         (gst_caps_flags_get_type), (register_gst_clock_return),
10319         (gst_clock_return_get_type), (register_gst_clock_entry_type),
10320         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
10321         (gst_clock_flags_get_type), (register_gst_state),
10322         (gst_state_get_type), (register_gst_state_change_return),
10323         (gst_state_change_return_get_type), (register_gst_state_change),
10324         (gst_state_change_get_type), (register_gst_element_flags),
10325         (gst_element_flags_get_type), (register_gst_core_error),
10326         (gst_core_error_get_type), (register_gst_library_error),
10327         (gst_library_error_get_type), (register_gst_resource_error),
10328         (gst_resource_error_get_type), (register_gst_stream_error),
10329         (gst_stream_error_get_type), (register_gst_event_type_flags),
10330         (gst_event_type_flags_get_type), (register_gst_event_type),
10331         (gst_event_type_get_type), (register_gst_seek_type),
10332         (gst_seek_type_get_type), (register_gst_seek_flags),
10333         (gst_seek_flags_get_type), (register_gst_format),
10334         (gst_format_get_type), (register_gst_index_certainty),
10335         (gst_index_certainty_get_type), (register_gst_index_entry_type),
10336         (gst_index_entry_type_get_type),
10337         (register_gst_index_lookup_method),
10338         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
10339         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
10340         (gst_index_resolver_method_get_type), (register_gst_index_flags),
10341         (gst_index_flags_get_type), (register_gst_debug_level),
10342         (gst_debug_level_get_type), (register_gst_debug_color_flags),
10343         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
10344         (gst_iterator_result_get_type), (register_gst_iterator_item),
10345         (gst_iterator_item_get_type), (register_gst_message_type),
10346         (gst_message_type_get_type), (register_gst_mini_object_flags),
10347         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
10348         (gst_pad_link_return_get_type), (register_gst_flow_return),
10349         (gst_flow_return_get_type), (register_gst_activate_mode),
10350         (gst_activate_mode_get_type), (register_gst_pad_direction),
10351         (gst_pad_direction_get_type), (register_gst_pad_flags),
10352         (gst_pad_flags_get_type), (register_gst_pad_presence),
10353         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
10354         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
10355         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
10356         (gst_plugin_error_get_type), (register_gst_plugin_flags),
10357         (gst_plugin_flags_get_type), (register_gst_rank),
10358         (gst_rank_get_type), (register_gst_query_type),
10359         (gst_query_type_get_type), (register_gst_tag_merge_mode),
10360         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
10361         (gst_tag_flag_get_type), (register_gst_task_state),
10362         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
10363         (gst_alloc_trace_flags_get_type),
10364         (register_gst_type_find_probability),
10365         (gst_type_find_probability_get_type), (register_gst_uri_type),
10366         (gst_uri_type_get_type), (register_gst_parse_error),
10367         (gst_parse_error_get_type):
10368         * win32/common/gstenumtypes.h:
10369         * win32/common/gstversion.h:
10370           update visual studio generated files
10371
10372 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10373
10374         * win32/vs6/libgstbase.dsp:
10375         * win32/vs6/libgstelements.dsp:
10376           update project files for new locations
10377
10378 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10379
10380         * Makefile.am:
10381           remove some files
10382         * README:
10383           reinstate and update
10384         * DEVEL:
10385         * REQUIREMENTS:
10386           removed
10387         * LICENSE:
10388         * docs/random/LICENSE:
10389           moved to random
10390
10391 2005-11-30  Edward Hervey  <edward@fluendo.com>
10392
10393         * gst/gsttypefind.c: (gst_type_find_register):
10394         * gst/gsttypefind.h:
10395         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
10396         (gst_type_find_factory_dispose):
10397         * gst/gsttypefindfactory.h:
10398         Fix memory leak in GstTypeFindFactory.
10399
10400 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10401
10402         * gst/gst.c:
10403         * plugins/elements/Makefile.am:
10404         * plugins/elements/gstelements.c:
10405         * plugins/elements/gstqueue.c:
10406           move queue from core to the elements plugin
10407
10408 2005-11-29  Andy Wingo  <wingo@pobox.com>
10409
10410         * libs/gst/base/gstbasetransform.h: 
10411         * libs/gst/base/gstbasesrc.h: 
10412         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
10413
10414         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
10415         of pointers by which to pad very extensible base classes (like the
10416         ones in libs/gst/base).
10417
10418 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10419
10420         * docs/gst/gstreamer-docs.sgml:
10421         * docs/gst/gstreamer-sections.txt:
10422         * docs/libs/gstreamer-libs-docs.sgml:
10423         * docs/libs/gstreamer-libs-sections.txt:
10424           moving documentation from core to lib
10425
10426 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10427
10428         * check/Makefile.am:
10429         * configure.ac:
10430         * docs/gst/Makefile.am:
10431         * gst/Makefile.am:
10432         * gst/base/.cvsignore:
10433         * gst/base/Makefile.am:
10434         * gst/base/README:
10435         * gst/base/gstadapter.c:
10436         * gst/base/gstadapter.h:
10437         * gst/base/gstbasesink.c:
10438         * gst/base/gstbasesink.h:
10439         * gst/base/gstbasesrc.c:
10440         * gst/base/gstbasesrc.h:
10441         * gst/base/gstbasetransform.c:
10442         * gst/base/gstbasetransform.h:
10443         * gst/base/gstcollectpads.c:
10444         * gst/base/gstcollectpads.h:
10445         * gst/base/gstpushsrc.c:
10446         * gst/base/gstpushsrc.h:
10447         * gst/base/gsttypefindhelper.c:
10448         * gst/base/gsttypefindhelper.h:
10449         * gst/check/Makefile.am:
10450         * gst/check/gstcheck.c:
10451         * gst/check/gstcheck.h:
10452         * gst/net/Makefile.am:
10453         * gst/net/gstnet.h:
10454         * gst/net/gstnetclientclock.c:
10455         * gst/net/gstnetclientclock.h:
10456         * gst/net/gstnettimepacket.c:
10457         * gst/net/gstnettimepacket.h:
10458         * gst/net/gstnettimeprovider.c:
10459         * gst/net/gstnettimeprovider.h:
10460         * libs/gst/Makefile.am:
10461         * libs/gst/base/Makefile.am:
10462         * libs/gst/base/gstbasetransform.c:
10463         * libs/gst/check/Makefile.am:
10464         * plugins/elements/Makefile.am:
10465         * po/POTFILES.in:
10466           CVS surgery + support to move base, check, and net out of gst
10467           and into libs/gst
10468
10469 2005-11-29  Andy Wingo  <wingo@pobox.com>
10470
10471         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
10472
10473         * gst/gststructure.h (struct _GstStructure): Only one pointer of
10474         padding.
10475
10476         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
10477
10478         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
10479
10480         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
10481
10482         * gst/gstobject.h: (struct _GstObject): Only one pointer of
10483         padding; reduces object size by about 30%. We don't expect
10484         anything else to go into gstobject.
10485
10486         * gst/gstminiobject.h (struct _GstMiniObject)
10487         (struct _GstMiniObjectClass): Only one pointer of padding; the
10488         payload is only a pointer and two ints anyway. For the class there
10489         are only two methods as well.
10490         
10491         * gst/gstelement.h (struct _GstElementClass): Removed
10492         the state_changed signal callback, it is not used.
10493
10494 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10495
10496         * docs/gst/gstreamer.types:
10497           fix includes, though they are a little dinky
10498
10499 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10500
10501         * check/Makefile.am:
10502           look in the right place for elements, a lot more chance of
10503           success
10504         * gst/Makefile.am:
10505           remove indexers and elements subdirs
10506         * plugins/Makefile.am:
10507           make indexers conditional
10508
10509 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10510
10511         * Makefile.am:
10512         * configure.ac:
10513         * plugins/elements/Makefile.am:
10514         * plugins/elements/gstcapsfilter.c:
10515         * plugins/elements/gstfilesink.c:
10516         * plugins/elements/gstfilesrc.c:
10517         * plugins/elements/gstidentity.c:
10518         * plugins/indexers/Makefile.am:
10519           do CVS surgery and related build fixery to move elements
10520           and indexers in a new gstreamer/plugins directory, out of the
10521           gst/ directory
10522
10523 2005-11-29  Andy Wingo  <wingo@pobox.com>
10524
10525         * check/Makefile.am:
10526         * pkgconfig/gstreamer-net-uninstalled.pc.in:
10527         * pkgconfig/gstreamer-net.pc.in:
10528         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
10529         #322257.
10530
10531 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10532
10533         * tools/Makefile.am:
10534         * tools/gst-complete.1.in:
10535         * tools/gst-complete.c:
10536         * tools/gst-compprep.1.in:
10537         * tools/gst-compprep.c:
10538           removing -compprep and -complete
10539
10540 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10541
10542         * gst/gstevent.c: (gst_event_new_new_segment),
10543         (gst_event_parse_new_segment):
10544         * gst/gstevent.h:
10545           fix #320529 - clean up new_segment API and structure.
10546           Let's hope everyone was using the methods, and not the structure.
10547
10548 2005-11-29  Edward Hervey  <edward@fluendo.com>
10549
10550         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10551         (gst_base_sink_event), (gst_base_sink_do_sync),
10552         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
10553         Properly handle non GST_FORMAT_TIME segment
10554         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
10555         Properly handle non GST_FORMAT_TIME segment
10556         * gst/gstsegment.c:
10557         This function is valid if the accumulator is 0 and the format
10558         is different from the requested format.
10559         
10560 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
10561
10562         * docs/gst/gstreamer-sections.txt:
10563         Add gst_query_new_seeking and gst_query_parse_seeking to the
10564         docs.
10565
10566 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
10567
10568         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
10569           Treat a pad alloc with new caps the same as if we were not
10570           negotiated, in order to allow a changing upstream output
10571           to produce a new format of data.
10572
10573 2005-11-29  Edward Hervey  <edward@fluendo.com>
10574
10575         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
10576         (gst_base_transform_event), (gst_base_transform_eventfunc):
10577         The event virtual method is now properly implemented, with a default
10578         handler
10579         Sub classes should call the parent_class event method. They should
10580         return FALSE if they had a problem handling the given event, or don't
10581         want GstBaseTransform to send that even downstream
10582         * gst/elements/gstidentity.c: (gst_identity_class_init),
10583         (gst_identity_init), (gst_identity_event),
10584         (gst_identity_transform_ip), (gst_identity_set_property),
10585         (gst_identity_get_property):
10586         * gst/elements/gstidentity.h:
10587         Added the single-segment boolean property.
10588         If set to TRUE, it will output a single segment of data, starting from
10589         0, will eat up all incoming newsegment, and modify the timestamp of the
10590         buffers accordingly
10591
10592 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
10593
10594         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
10595           Don't ref NULL target pad (#322751). Improve docs.
10596
10597 2005-11-29  Michael Smith  <msmith@fluendo.com>
10598
10599         * gst/gstregistryxml.c: (load_plugin):
10600           Don't crash if we failed to load a feature from a plugin. 
10601
10602 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10603
10604         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
10605         (GST_START_TEST):
10606           use more check API and less GLib API
10607
10608 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10609
10610         * Makefile.am:
10611           don't run checks if we don't have check
10612         * common/check.mak:
10613           remove the registry when running make torture
10614         * docs/gst/gstreamer-sections.txt:
10615           remove second multiply
10616         * gst/gstqueue.c: (gst_queue_loop):
10617           fix a compile warning when disabling debug
10618
10619 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
10620
10621         * gst/gstinfo.h:
10622         Hey! Let's print the pad name if the pointer != NULL instead
10623         of when it == NULL :-)
10624
10625 2005-11-28  Wim Taymans  <wim@fluendo.com>
10626
10627         * check/gst/gstutils.c: (GST_START_TEST):
10628         Updated check, add some scaling accuracy checking code.
10629
10630         * gst/gstutils.c: (gst_util_div128_64),
10631         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
10632         (gst_util_uint64_scale_int):
10633         Fix 6 times faster division code. Optimize for common 
10634         1/1 and less common X/1 cases.
10635
10636 2005-11-28  Wim Taymans  <wim@fluendo.com>
10637
10638         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
10639         More checks.
10640
10641         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
10642         (do_linear_regression), (gst_clock_add_observation):
10643         Cleanups.
10644         Release lock when the clock cannot be slaved.
10645         Catch the case where the regression returned an invalid denominator.
10646
10647         * gst/gstutils.c: (gst_util_div128_64_iterate),
10648         (gst_util_div128_64), (gst_util_uint64_scale_int64),
10649         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
10650         Add protentially more performant non-iterative 128/64 divide function
10651         that unfortunatly does not work yet.
10652         Shortcut the trivial 0/X = 0 case.
10653         Remove the warnings on overflow.
10654
10655 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10656
10657         * gst/gstplugin.c: (gst_plugin_register_func):
10658           everything causing a plugin not to load should be at least a WARNING
10659
10660 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
10661
10662         * docs/random/ensonic/dparams.txt:
10663           some TODOs for the next dev cycle
10664         * libs/gst/controller/gstcontroller.c:
10665         (gst_controlled_property_set_interpolation_mode),
10666         (gst_controlled_property_new):
10667         * libs/gst/controller/gstcontroller.h:
10668           use base type to assign acccessor functions
10669
10670 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
10671
10672         * check/Makefile.am:
10673         Oops, that should have been top_srcdir
10674
10675 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
10676
10677         * check/Makefile.am:
10678         * check/elements/fdsrc.c: (GST_START_TEST):
10679         Use a cmdline define to specify the location of a file to use for
10680         testing, to avoid breaking distcheck.
10681
10682 2005-11-28  Andy Wingo  <wingo@pobox.com>
10683
10684         * gst/gstpad.c (fixate_value): Use array functions for arrays.
10685
10686 2005-11-28  Edward Hervey  <edward@fluendo.com>
10687
10688         * tools/gst-launch.c: (main):
10689         Clarify the output strings, makes it easier to translate.
10690         Fixes #322626
10691
10692 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10693
10694         * gst/Makefile.am:
10695           don't try and build net if we don't even have <sys/socket.h>
10696
10697 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
10698
10699         * check/Makefile.am:
10700         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
10701         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
10702           Add tests for fdsrc seekability
10703
10704         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
10705         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
10706         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
10707         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
10708         * gst/elements/gstfdsrc.h:
10709           fdsrc should not be a 'live' source.
10710           Implement seeking on seekable fd's.
10711
10712         * gst/gstquery.c: (gst_query_new_seeking),
10713         (gst_query_parse_seeking):
10714         * gst/gstquery.h:
10715           Implement SEEKING query functions: 
10716             *_new_seeking and *_parse_seeking
10717
10718 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
10719
10720         * gst/gstelement.c: (gst_element_dispose):
10721           don't loop forever
10722
10723         * gst/gstiterator.c:
10724         * gst/gststructure.c:
10725           doc fixes
10726
10727         * libs/gst/controller/gstcontroller.c:
10728         (gst_controlled_property_set_interpolation_mode):
10729         * libs/gst/controller/gstcontroller.h:
10730         * libs/gst/controller/gstinterpolation.c:
10731         (interpolate_none_get_enum_value_array):
10732           support controlling enums
10733
10734 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
10735
10736         * gst/gstvalue.c:
10737           Improve documentation for gst_value_union().
10738
10739         * gst/gstvalue.h:
10740           Change return value for union, intersect and subtract functions
10741           from gint to gboolean.
10742
10743 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
10744
10745         * gst/gstvalue.c: (gst_value_serialize_any_list),
10746         (gst_value_transform_any_list_string),
10747         (gst_value_deserialize_list), (gst_value_deserialize_array),
10748         (gst_value_set_int_range), (gst_value_deserialize_int_range),
10749         (gst_value_set_double_range), (gst_value_deserialize_double_range),
10750         (gst_value_set_fraction_range_full),
10751         (gst_value_deserialize_fraction_range),
10752         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
10753         (gst_value_deserialize_boolean),
10754         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
10755         (gst_value_serialize_float), (gst_value_deserialize_float),
10756         (gst_string_wrap), (gst_value_deserialize_string),
10757         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
10758         (gst_value_union_int_range_int_range),
10759         (gst_value_intersect_int_range_int_range),
10760         (gst_value_intersect_double_range_double_range),
10761         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
10762         (gst_value_subtract_int_range_int_range),
10763         (gst_value_subtract_double_double_range),
10764         (gst_value_subtract_double_range_double_range),
10765         (gst_value_deserialize_fraction):
10766         * gst/gstvalue.h:
10767           Use gint, gdouble and gchar in our API instead of int, double and
10768           char (and make usage in gstvalue.c more consistent).
10769
10770 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10771
10772         * check/Makefile.am:
10773         * libs/gst/controller/Makefile.am:
10774         * libs/gst/dataprotocol/Makefile.am:
10775           fix up Makefile.am and remove GST_ENABLE_NEW
10776
10777 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10778
10779         * configure.ac:
10780         * gst/Makefile.am:
10781         * gst/base/Makefile.am:
10782         * gst/check/Makefile.am:
10783         * gst/elements/Makefile.am:
10784         * gst/net/Makefile.am:
10785           update LDFLAGS use some more
10786
10787 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10788
10789         * common/m4/gst-doc.m4:
10790           Fixes #312589
10791
10792 2005-11-26  Edward Hervey  <edward@fluendo.com>
10793
10794         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
10795         This shouldn't issue a g_warning since it returns NULL if it
10796         couldn't find the plugin, and all functions using this behave
10797         properly on a NULL return. Switching to a GST_WARNING.
10798
10799 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
10800
10801         * gst/gstbin.c: (gst_bin_handle_message_func):
10802         Don't leak clock messages.
10803
10804 2005-11-25  Wim Taymans  <wim@fluendo.com>
10805
10806         * gst/gstutils.c: (gst_util_uint64_scale_int64),
10807         (gst_util_uint64_scale_int):
10808         Optimisations, remove unneeded vars.
10809
10810 2005-11-25  Wim Taymans  <wim@fluendo.com>
10811
10812         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
10813         Added more checks for the high precision uint64 cases.
10814
10815         * gst/gstutils.c: (gst_util_uint64_scale_int64),
10816         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
10817         Implement high precision (guint64 * guint64) / guint64.
10818
10819 2005-11-24  Wim Taymans  <wim@fluendo.com>
10820
10821         * gst/base/gstbasesrc.c: (gst_base_src_query):
10822         Fix wrong percentage query.
10823
10824         * gst/gstutils.c: (gst_util_uint64_scale),
10825         (gst_util_uint64_scale_int):
10826         Add some more common cases that can be handled 
10827         efficiently to _scale.
10828
10829 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10830
10831         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
10832         (gst_mini_object_suite):
10833           don't use check calls from threads; check probably isn't
10834           threadsafe and using a lock to make it threadsafe would
10835           defeat the purpose of this check
10836         * gst/check/gstcheck.c:
10837         * gst/check/gstcheck.h:
10838           use GST_DEBUG some more
10839
10840 2005-11-24  Wim Taymans  <wim@fluendo.com>
10841
10842         * gst/gstutils.c: (gst_util_uint64_scale),
10843         (gst_util_uint64_scale_int):
10844         Chain trivial case to _scale_int.
10845
10846 2005-11-24  Wim Taymans  <wim@fluendo.com>
10847
10848         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
10849         Added test for scaling.
10850
10851         * gst/gstclock.h:
10852         Small doc fix.
10853
10854         * gst/gstutils.c: (gst_util_uint64_scale_int):
10855         Implemented high precision scaling code.
10856
10857 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
10858
10859         * gst/gstinfo.h:
10860           do not crash on pad==NULL
10861
10862 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10863
10864         Patch by: Stefan Kost
10865
10866         * common/gtk-doc.mak:
10867         * docs/gst/Makefile.am:
10868         * docs/libs/Makefile.am:
10869           Fix distcheck issues for the libraries docs build
10870           Closes #319599.
10871
10872 2005-11-24  Michael Smith <msmith@fluendo.com>
10873
10874         * docs/manual/basics-helloworld.xml:
10875           Fix bug #315027: memory leak in example code in docs.
10876
10877 2005-11-24  Michael Smith <msmith@fluendo.com>
10878
10879         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10880           Unlock the PREROLL_LOCK in a failure case.
10881
10882 2005-11-24  Wim Taymans  <wim@fluendo.com>
10883
10884         * docs/gst/gstreamer-sections.txt:
10885         * gst/base/gstadapter.h:
10886         * gst/base/gstbasesink.h:
10887         * gst/base/gstbasesrc.h:
10888         * gst/base/gstbasetransform.h:
10889         * gst/base/gstpushsrc.h:
10890         * gst/elements/gstfakesink.h:
10891         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
10892         * gst/elements/gstfakesrc.h:
10893         * gst/elements/gstfilesink.h:
10894         * gst/elements/gstfilesrc.h:
10895         * gst/gst.c:
10896         * gst/gstbin.c:
10897         * gst/gstbuffer.c: (_gst_buffer_copy):
10898         * gst/gstbus.h:
10899         * gst/gstcaps.c:
10900         * gst/gstchildproxy.c:
10901         * gst/gstclock.c:
10902         * gst/gstelement.c:
10903         * gst/gstelementfactory.c:
10904         * gst/gstelementfactory.h:
10905         * gst/gstevent.c:
10906         * gst/gstghostpad.h:
10907         * gst/gstindex.h:
10908         * gst/gstinterface.h:
10909         * gst/gstminiobject.c:
10910         * gst/gstminiobject.h:
10911         * gst/gstpad.c:
10912         * gst/gstpad.h:
10913         * gst/gstpadtemplate.h:
10914         * gst/gstpipeline.h:
10915         * gst/gstpluginfeature.h:
10916         * gst/gstquery.h:
10917         * gst/gstqueue.h:
10918         * gst/gsttaglist.c:
10919         * gst/gsttaglist.h:
10920         * gst/gsttagsetter.c:
10921         * gst/gsttagsetter.h:
10922         * gst/gsttrace.c:
10923         * gst/gsttrace.h:
10924         * gst/gsttypefind.h:
10925         * gst/gsturi.h:
10926         * gst/gstvalue.c:
10927         * gst/net/gstnetclientclock.c:
10928         * gst/net/gstnetclientclock.h:
10929         * gst/net/gstnettimepacket.c:
10930         * gst/net/gstnettimeprovider.c:
10931         * gst/net/gstnettimeprovider.h:
10932         Doc fixes.
10933
10934 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10935
10936         * configure.ac: back to HEAD
10937
10938 === release 0.9.6 ===
10939
10940 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
10941
10942         * configure.ac:
10943           releasing 0.9.6, "Always On Time"
10944
10945 2005-11-23  Wim Taymans  <wim@fluendo.com>
10946
10947         * docs/gst/gstreamer-sections.txt:
10948         * gst/glib-compat.c:
10949         * gst/gsttagsetter.c:
10950         * gst/gstvalue.c:
10951         * gst/net/gstnetclientclock.c:
10952         * gst/net/gstnettimepacket.h:
10953         Doc updates.
10954
10955 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10956
10957         * docs/faq/using.xml:
10958         * docs/libs/tmpl/gstcontrol.sgml:
10959         * docs/manual/advanced-dparams.xml:
10960         * docs/manual/appendix-checklist.xml:
10961         * docs/manual/basics-elements.xml:
10962         * docs/pwg/other-source.xml:
10963         * docs/random/moving-plugins:
10964         * gst/gstpad.c:
10965         * tools/gst-launch.1.in:
10966           remove mentions of sinesrc
10967
10968 2005-11-23  Michael Smith <msmith@fluendo.com>
10969
10970         * docs/gst/gstreamer-sections.txt:
10971           Update for new API and API changes.
10972         * gst/gstobject.h:
10973           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
10974         * gst/gstvalue.c:
10975           Documentation typo fix.
10976         * gst/net/gstnettimepacket.c:
10977           Documentation fixes for arguments.
10978
10979 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
10980
10981         * gst/gststructure.c: (gst_structure_get_fraction),
10982         (gst_structure_parse_value),
10983         (gst_structure_fixate_field_nearest_fraction):
10984         * gst/gststructure.h:
10985         * gst/gstutils.c: (gst_util_uint64_scale_int):
10986         * gst/gstutils.h:
10987         * scripts/update-funcnames:
10988         API Changes. 
10989         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
10990         Make gst_structure_fixate_field_nearest_fraction take a numerator
10991         and denominator argument instead of a GValue
10992         add gst_structure_get_fraction helper function.
10993
10994 2005-11-23  Wim Taymans  <wim@fluendo.com>
10995
10996         * docs/design/part-TODO.txt:
10997         Update TODO.
10998
10999         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11000         * gst/net/gstnetclientclock.h:
11001         Use parent fields for timeout and window_size.
11002
11003 2005-11-23  Andy Wingo  <wingo@pobox.com>
11004
11005         * check/net/gstnetclientclock.c (test_functioning): Adjust to
11006         rate_num/rate_denom change.
11007
11008         * gst/net/gstnetclientclock.c
11009         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
11010         OBJECT_LOCK. Don't call add_observation with the lock.
11011
11012         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
11013         fraction.
11014         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
11015         rate fraction.
11016         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
11017         deal with rate as a fraction whose numerator and denominator are
11018         GstClockTime values.
11019         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
11020         master; the other fields are protected by the SLAVE_LOCK.
11021         (do_linear_regression): Note that this must be called with the
11022         SLAVE_LOCK.
11023         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
11024         OBJECT_LOCK. Call set_calibration instead of touching the
11025         variables directly.
11026         (gst_clock_set_property, gst_clock_get_property): Protect
11027         master/slave parameters with the SLAVE_LOCK.
11028
11029         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
11030         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
11031         note that all of the instance variables that add_observation and
11032         the set_master functions use are protected by that lock and not
11033         the OBJECT_LOCK.
11034         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
11035
11036         * gst/gstclock.c (gst_clock_add_observation): No longer requires
11037         the caller to take the object lock.
11038
11039 2005-11-23  Wim Taymans  <wim@fluendo.com>
11040
11041         * gst/gsterror.c: (_gst_core_errors_init):
11042         * gst/gsterror.h:
11043         Add error for clock stuff.
11044
11045         * gst/gstpipeline.c: (gst_pipeline_change_state),
11046         (gst_pipeline_set_clock):
11047         Post clock error when clock cannot be used in a pipeline.
11048
11049 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
11050
11051         * docs/gst/gstreamer-sections.txt:
11052           make two symbols from gstinfo private for the docs
11053         * gst/base/gstcollectpads.h:
11054         * gst/gstutils.c:
11055           fix doc typos, update docs
11056
11057 2005-11-22  Wim Taymans  <wim@fluendo.com>
11058
11059         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
11060         (gst_base_sink_wait), (gst_base_sink_do_sync),
11061         (gst_base_sink_handle_event):
11062         * gst/base/gstbasesink.h:
11063         No need to store the clock, the parent element class already
11064         has it.
11065
11066         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
11067         Updates for clock_set returning a gboolean
11068
11069         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
11070         (gst_clock_id_wait_async), (gst_clock_class_init),
11071         (gst_clock_init), (gst_clock_finalize),
11072         (gst_clock_get_internal_time), (gst_clock_get_time),
11073         (gst_clock_slave_callback), (gst_clock_set_master),
11074         (gst_clock_get_master), (do_linear_regression),
11075         (gst_clock_add_observation), (gst_clock_set_property),
11076         (gst_clock_get_property):
11077         * gst/gstclock.h:
11078         Implement master/slave. When setting a clock as a slave, a
11079         periodic timeout is scheduled to sample master and slave times.
11080         Then the slave clock is recalibrated to match offset and rate
11081         of the master clock.
11082         Update logging a bit.
11083         Add flag so that a clock can state that is cannot be slaved to
11084         another clock.
11085
11086         * gst/gstelement.c: (gst_element_set_clock):
11087         * gst/gstelement.h:
11088         The set clock returns a gboolean for when an element cannot
11089         deal with the selected clock in the pipeline. 
11090
11091         * gst/gstpipeline.c: (gst_pipeline_change_state),
11092         (gst_pipeline_set_clock):
11093         * gst/gstpipeline.h:
11094         Handle the case where the selected clock cannot be set on
11095         the pipeline.
11096
11097         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
11098         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
11099         (gst_net_client_clock_set_property),
11100         (gst_net_client_clock_get_property),
11101         (gst_net_client_clock_observe_times):
11102         * gst/net/gstnetclientclock.h:
11103         Use regression code in GstClock parent, remove duplicated
11104         functionality.
11105
11106 2005-11-22  Michael Smith <msmith@fluendo.com>
11107
11108         * gst/gstutils.c: (gst_util_clock_time_scale):
11109         * gst/gstutils.h:
11110         * docs/gst/gstreamer-sections.txt:
11111           Rename method to have extra underscore.
11112
11113 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11114
11115         * gst/elements/Makefile.am:
11116         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
11117         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
11118         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
11119         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
11120         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
11121         * gst/elements/gstfakesrc.h:
11122         * gst/gstqueue.c: (queue_leaky_get_type):
11123           correctly fix GEnumValues so that nick is the short lowercase
11124           dashed tag
11125         * tools/gst-inspect.c: (print_element_properties_info):
11126           also show the nick, since it's useful to use from parse_launch
11127           syntax
11128           Fixes #322139
11129
11130 2005-11-22  Michael Smith <msmith@fluendo.com>
11131
11132         * gst/gstutils.c: (gst_util_clocktime_scale):
11133         * gst/gstutils.h:
11134         * docs/gst/gstreamer-sections.txt:
11135           Add util method for scaling a clocktime by a fraction. Useful 
11136           implementation is left as an exercise for the reader.
11137
11138 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11139
11140         * gst/gstvalue.c: (gst_value_collect_fraction_range):
11141         If needed, allocate storage in the destination value during
11142         collection.
11143
11144 2005-11-22  Edward Hervey  <edward@fluendo.com>
11145
11146         * docs/gst/gstreamer-sections.txt:
11147         * gst/Makefile.am:
11148         * gst/gst.h:
11149         * gst/gsturitype.c:
11150         * gst/gsturitype.h:
11151         * gst/gstutils.c: (gst_util_set_object_arg):
11152         * tools/gst-compprep.c: (main):
11153         * tools/gst-inspect.c: (print_element_properties_info):
11154         Removed GstURI, closes bug #321061
11155
11156 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11157
11158         * check/gst/gststructure.c: (GST_START_TEST):
11159         * gst/gststructure.c: (gst_structure_parse_value):
11160           Oops, broke automatic string type parsing.
11161           Add a test to catch it in future.
11162
11163 2005-11-22  Andy Wingo  <wingo@pobox.com>
11164
11165         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
11166         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
11167         Actually rename the function implementations. Grr.
11168
11169 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11170
11171         * check/gst/capslist.h:
11172           Comment test cases
11173         * check/gst/gststructure.c: (GST_START_TEST),
11174         (gst_structure_suite):
11175           Test automatic value type detection in gst_structure_from_string.
11176         * gst/gststructure.c: (gst_structure_parse_value):
11177           Add fraction as a type we try and guess automatically in
11178           caps/structure strings.
11179
11180 2005-11-22  Andy Wingo  <wingo@pobox.com>
11181
11182         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
11183
11184         * gst/gsttagsetter.h:
11185         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
11186         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
11187         (gst_tag_setter_add_tag_valist)
11188         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
11189         _add_values, _add_valist, and _add_valist_values. Since this is an
11190         interface the function suffixes should be more explicit so
11191         language binding don't end up with element.add_valist ->
11192         gst_tag_setter_add_valist, for example. Fixes #322069.
11193
11194 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11195
11196         * check/gst/gstcaps.c: (GST_START_TEST):
11197           Extend caps string tests to check that a caps to string
11198           conversion is reversible and produces the same caps.
11199
11200         * gst/gststructure.c: (gst_structure_value_get_generic_type):
11201           Output "fraction" as the generic type fraction range, so caps
11202           serialisation and deserialisation works.
11203         * check/gst/capslist.h:
11204         * gst/gstvalue.c: (gst_value_deserialize_fraction):
11205           Support 'MIN' and 'MAX' for deserialising fractions.
11206
11207 2005-11-22  Andy Wingo  <wingo@pobox.com>
11208
11209         * gst/gstevent.h (gst_event_new_new_segment)
11210         (gst_event_parse_new_segment, gst_event_new_buffer_size)
11211         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
11212         Renamed from *_newsegment, *_buffersize, *_notarget.
11213
11214         * scripts/update-funcnames: New script, performs the changes
11215         listed above.
11216
11217 2005-11-22  Wim Taymans  <wim@fluendo.com>
11218
11219         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11220         Make sure the GstFlowReturn is returned.
11221
11222         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
11223         (gst_bus_add_signal_watch):
11224         * gst/gstbus.h:
11225         add gst_bus_add_signal_watch_full.
11226
11227         * gst/gstplugin.c: (gst_plugin_load_file):
11228         Small style cleanup.
11229
11230 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11231
11232         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
11233           Block the fakesrc srcpad when we send an event, to avoid
11234           contention on the stream_lock causing random test failures.
11235
11236 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11237
11238         * check/gst/gstvalue.c: (GST_START_TEST):
11239         * gst/gstvalue.c: (gst_value_fraction_subtract):
11240           Fix subtraction.
11241
11242 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
11243
11244         * gst/gst.h:
11245           include "gstchildproxy.h"
11246         * gst/gstchildproxy.h:
11247         * libs/gst/controller/gstcontroller.h:
11248           use G_GNUC_NULL_TERMINATED
11249
11250 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11251
11252         * check/gst/capslist.h:
11253         * check/gst/gstcaps.c: (GST_START_TEST):
11254         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11255         * gst/gststructure.c: (gst_structure_parse_range),
11256         (gst_structure_fixate_field_nearest_fraction):
11257         * gst/gststructure.h:
11258         * gst/gstvalue.c: (gst_value_init_fraction_range),
11259         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
11260         (gst_value_collect_fraction_range),
11261         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
11262         (gst_value_set_fraction_range_full),
11263         (gst_value_get_fraction_range_min),
11264         (gst_value_get_fraction_range_max),
11265         (gst_value_serialize_fraction_range),
11266         (gst_value_transform_fraction_range_string),
11267         (gst_value_compare_fraction_range),
11268         (gst_value_deserialize_fraction_range),
11269         (gst_value_intersect_fraction_fraction_range),
11270         (gst_value_intersect_fraction_range_fraction_range),
11271         (gst_value_subtract_fraction_fraction_range),
11272         (gst_value_subtract_fraction_range_fraction),
11273         (gst_value_subtract_fraction_range_fraction_range),
11274         (gst_value_collect_fraction), (gst_value_fraction_multiply),
11275         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
11276         (gst_value_transform_string_fraction), (_gst_value_initialize):
11277         * gst/gstvalue.h:
11278           Implement fraction ranges and extend GstFraction to support
11279           arithmetic subtraction, as well as deserialization from integer
11280           strings such as "100"
11281           Add a testsuite as for int and double range set operations
11282
11283 2005-11-21  Andy Wingo  <wingo@pobox.com>
11284
11285         * gst/gsttaglist.h: 
11286         * gst/gstcaps.h: 
11287         * gst/gststructure.h: Add glib-compat.h.
11288
11289 2005-11-21  Wim Taymans  <wim@fluendo.com>
11290
11291         * gst/gstbin.c: (gst_bin_change_state_func):
11292         Fix for #321595
11293
11294 2005-11-21  Wim Taymans  <wim@fluendo.com>
11295
11296         * gst/gstsegment.h:
11297         And add a nice define too.
11298
11299 2005-11-21  Wim Taymans  <wim@fluendo.com>
11300
11301         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
11302         (gst_segment_new), (gst_segment_free), (gst_segment_init),
11303         (gst_segment_set_duration), (gst_segment_set_last_stop),
11304         (gst_segment_set_seek), (gst_segment_set_newsegment),
11305         (gst_segment_to_stream_time), (gst_segment_to_running_time),
11306         (gst_segment_clip):
11307         * gst/gstsegment.h:
11308         Make binding friendly.
11309
11310 2005-11-21  Andy Wingo  <wingo@pobox.com>
11311
11312         * gst/gsttagsetter.h: 
11313         * gst/gsttaglist.h: 
11314         * gst/gststructure.h: 
11315         * gst/gstcaps.h: 
11316         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
11317         #319940.
11318
11319         * gst/gsterror.c (_gst_core_errors_init):
11320         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
11321         category.
11322
11323         * gst/Makefile.am (gst_headers): Add glib-compat.h.
11324         (noinst_HEADERS): noinst the -private.
11325
11326 2005-11-21  Michael Smith <msmith@fluendo.com>
11327
11328         * gst/gstplugin.h:
11329         * gst/gstregistry.h:
11330           Remove unimplemented declarations for which we can see no sensible
11331           use.
11332
11333 2005-11-21  Andy Wingo  <wingo@pobox.com>
11334
11335         * gst/gst.h: Include glib-compat.h.
11336
11337         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
11338
11339         * gst/glib-compat.c: Include the public and the private header.
11340
11341         * gst/glib-compat-private.h: Copied here from glib-compat.h.
11342
11343         * gst/gstvalue.c: 
11344         * gst/gstpad.c: 
11345         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
11346
11347         * check/gst/gstevent.c (create_custom_events): Check that
11348         FLUSH_STOP is serialized.
11349
11350         * check/elements/identity.c (event_func): 
11351         * check/elements/fakesrc.c (event_func): No stream lock, the core
11352         takes it.
11353
11354         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
11355         stream lock taking, yay.
11356
11357         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
11358         ensure that core takes the stream lock.
11359
11360         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
11361         lock name change.
11362
11363         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
11364         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
11365         it already. For the flush start we do take it though so we get the
11366         right preroll state change messages.
11367
11368         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
11369         the stream lock here, the core does it for us.
11370
11371         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
11372         GST_STREAM_GET_LOCK.
11373         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
11374         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
11375         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
11376         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
11377         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
11378         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
11379
11380         * gst/gstpad.c: Update for stream lock name change.
11381
11382         * gst/base/gstbasesink.c: Update for preroll lock name change.
11383
11384 2005-11-21  Wim Taymans  <wim@fluendo.com>
11385
11386         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
11387         (gst_clock_get_master):
11388         * gst/gstclock.h:
11389         * gst/gstsystemclock.c: (gst_system_clock_init):
11390         Convert Clock flags to object flags.
11391         Added methods to manage master/slave clocks.
11392
11393 2005-11-21  Wim Taymans  <wim@fluendo.com>
11394
11395         * check/gst/gstsegment.c: (GST_START_TEST):
11396         * docs/design/part-TODO.txt:
11397         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11398         (gst_base_sink_event), (gst_base_sink_do_sync),
11399         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
11400         (gst_base_sink_query), (gst_base_sink_change_state):
11401         * gst/base/gstbasesink.h:
11402         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
11403         (gst_base_src_default_newsegment),
11404         (gst_base_src_configure_segment), (gst_base_src_do_seek),
11405         (gst_base_src_get_range), (gst_base_src_loop),
11406         (gst_base_src_change_state):
11407         * gst/base/gstbasesrc.h:
11408         * gst/base/gstbasetransform.c:
11409         (gst_base_transform_prepare_output_buf),
11410         (gst_base_transform_event), (gst_base_transform_change_state):
11411         * gst/base/gstbasetransform.h:
11412         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
11413         (gst_collect_pads_event):
11414         * gst/base/gstcollectpads.h:
11415         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
11416         (gst_fake_src_create):
11417         * gst/elements/gstfakesrc.h:
11418         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
11419         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
11420         (gst_segment_set_last_stop), (gst_segment_set_seek),
11421         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
11422         (gst_segment_to_running_time), (gst_segment_clip):
11423         * gst/gstsegment.h:
11424         More segment updates, replace code in plugins with segment
11425         helper functions.
11426
11427 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
11428
11429         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
11430         Don't ignore sscanf results
11431
11432 2005-11-21  Andy Wingo  <wingo@pobox.com>
11433
11434         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
11435
11436         * *.h:
11437         * *.c: Ran scripts/update-macros. Oh yes.
11438
11439         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
11440         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
11441         GST_GET_LOCK, etc.
11442
11443         * scripts/update-macros: New script. Run it on your files to
11444         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
11445         well.
11446
11447 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
11448
11449         * docs/gst/Makefile.am:
11450         * docs/gst/gstreamer-docs.sgml:
11451         * docs/gst/gstreamer-sections.txt:
11452         * docs/gst/gstreamer.types:
11453         * gst/gstinfo.h:
11454           more docs fixes, add new api to the docs
11455
11456 2005-11-21  Andy Wingo  <wingo@pobox.com>
11457
11458         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
11459         state_broadcast call.
11460
11461         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
11462
11463 2005-11-21  Julien MOUTTE  <julien@moutte.net>
11464
11465         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
11466         function calls for arrays.
11467
11468 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
11469
11470         * docs/random/ensonic/media-device-daemon.txt:
11471           wild idea, can this be done?
11472         * docs/gst/gstreamer-sections.txt:
11473         * gst/gsterror.h:
11474         * gst/gstfilter.c:
11475         * gst/gstfilter.h:
11476         * gst/gstplugin.h:
11477         * gst/gstpluginfeature.c:
11478         * gst/gsttrace.c:
11479         * gst/gstvalue.c:
11480         * gst/gstvalue.h:
11481           doc fixes and additions
11482
11483 2005-11-21  Andy Wingo  <wingo@pobox.com>
11484
11485         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
11486         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
11487         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
11488         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
11489         private to the basesrc implementation.
11490
11491         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
11492         behalf of event function if necessary. It should no longer be
11493         necessary to take the stream lock in pad's event functions. Fixes
11494         #320299.
11495
11496 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
11497         * docs/gst/gstreamer-sections.txt:
11498         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
11499         (gst_structure_fixate_field_nearest_double),
11500         (gst_structure_fixate_field_boolean):
11501         * gst/gststructure.h:
11502         * win32/common/libgstreamer.def:
11503         * win32/gstreamer.def:
11504
11505         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
11506         (#322027)
11507
11508 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
11509
11510         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
11511         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
11512         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
11513         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
11514         (gst_fdsrc_uri_handler_init):
11515         * gst/elements/gstfdsrc.h:
11516           Port fd:// URI handler from 0.8 to fdsrc
11517
11518 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11519
11520         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
11521         (gst_value_serialize_fourcc):
11522         * gst/gstvalue.h:
11523           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
11524           consistent with our other format defines (#320324).
11525
11526 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11527
11528         * gst/gstvalue.c: (gst_value_is_fixed):
11529           Revert previous commit. Value lists are by definition
11530           not fixed, as they are a list of possible values.
11531
11532 2005-11-21  Andy Wingo  <wingo@pobox.com>
11533
11534         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
11535         during the stable series if we need it. Fixes #319178.
11536
11537         * gst/gstevent.c (gst_event_new_filler): Removed.
11538
11539         * check/gst/gstevent.c: Update comment about filler events.
11540
11541 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11542
11543         * gst/gstvalue.c: (gst_value_is_fixed):
11544           Should handle both value arrays and value lists.
11545
11546 2005-11-21  Andy Wingo  <wingo@pobox.com>
11547
11548         patch by: Alessandro Dessina <alessandro nnva org>
11549
11550         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
11551         functions to access arrays. Fixes #321962.
11552
11553 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11554
11555         * docs/gst/gstreamer.types:
11556           gst_collectpads_get_type => gst_collect_pads_get_type.
11557           
11558         * gst/base/gstbasetransform.c:
11559           Remove unused SIGNAL_HANDOFF enum.
11560
11561 2005-11-21  Andy Wingo  <wingo@pobox.com>
11562
11563         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
11564         the event type (upstream, downstream, serialized). Renamed
11565         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
11566         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
11567         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
11568
11569         * gst/gstevent.c: Update for new CUSTOM event names.
11570
11571         * check/gst/gstevent.c: Update check for new CUSTOM event names.
11572
11573         * gst/gstevent.h:
11574         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
11575         bug #319392.
11576
11577 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11578
11579         * docs/gst/gstreamer-sections.txt:
11580         * win32/common/libgstbase.def:
11581         * win32/libgstbase.def:
11582         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
11583         (gst_collect_pads_class_init), (gst_collect_pads_init),
11584         (gst_collect_pads_finalize), (gst_collect_pads_new),
11585         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
11586         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
11587         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
11588         (gst_collect_pads_start), (gst_collect_pads_stop),
11589         (gst_collect_pads_peek), (gst_collect_pads_pop),
11590         (gst_collect_pads_available), (gst_collect_pads_read),
11591         (gst_collect_pads_flush), (gst_collect_pads_event),
11592         (gst_collect_pads_chain):
11593         * gst/base/gstcollectpads.h:
11594           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
11595           unimplemented functions as unimplemented. Add padding to
11596           GstCollectData. (#320766, #320423)
11597
11598 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11599
11600         * gst/gstmessage.c:
11601           Improve docs for DURATION message (usage of duration parameter)
11602           (#320113)
11603
11604 2005-11-20  Wim Taymans  <wim@fluendo.com>
11605
11606         * check/Makefile.am:
11607         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
11608         (main):
11609         * gst/Makefile.am:
11610         * gst/gst.h:
11611         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
11612         (gst_segment_set_seek), (gst_segment_set_newsegment),
11613         (gst_segment_to_stream_time), (gst_segment_to_running_time),
11614         (gst_segment_clip):
11615         * gst/gstsegment.h:
11616         Added segment helper structure and methods. Not fully implemented
11617         yet.
11618         Added segment check.
11619
11620 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
11621
11622         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11623           Add a deserialisation test for fractions
11624         * examples/metadata/read-metadata.c: (message_loop),
11625         (make_pipeline), (main):
11626           Fix up metadata reading sample.
11627         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
11628           Debug format fix
11629         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
11630           Don't try and fixate empty caps
11631         * gst/gst_private.h:
11632           Wrap in G_BEGIN_DECLS/G_END_DECLS
11633         * gst/gstvalue.c: (gst_value_collect_fraction),
11634         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
11635         (gst_value_transform_string_fraction),
11636         (gst_value_compare_fraction):
11637           Add some extra guards to ensure that we don't end up 
11638           with an invalid denominator of 0 in a gstfraction and
11639           that fractions always get reduced.
11640
11641 2005-11-20  Wim Taymans  <wim@fluendo.com>
11642
11643         * docs/gst/gstreamer-sections.txt:
11644         * gst/gstbuffer.h:
11645         * gst/gstelement.c:
11646         * gst/gstformat.c:
11647         * gst/gstformat.h:
11648         * gst/gstindex.h:
11649         * gst/gstquery.c:
11650         * gst/gstquery.h:
11651         * gst/gstvalue.c:
11652         Doc fixes.
11653
11654 2005-11-20  Wim Taymans  <wim@fluendo.com>
11655
11656         * docs/design/part-TODO.txt:
11657         * gst/gstcaps.h:
11658         Make a proper enum of the flag.
11659
11660 2005-11-19  Wim Taymans  <wim@fluendo.com>
11661
11662         * docs/design/part-TODO.txt:
11663         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
11664         (gst_format_to_quark), (gst_format_register):
11665         * gst/gstformat.h:
11666         * gst/gstquery.c: (_gst_query_initialize),
11667         (gst_query_type_get_name), (gst_query_type_to_quark),
11668         (gst_query_type_register):
11669         * gst/gstquery.h:
11670         Add type to quark and type to string conversions.
11671
11672 2005-11-19  Andy Wingo  <wingo@pobox.com>
11673
11674         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
11675         #320097.
11676
11677 2005-11-19  Wim Taymans  <wim@fluendo.com>
11678
11679         * docs/design/part-TODO.txt:
11680         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
11681         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
11682         (gst_bin_handle_message_func):
11683         * gst/gstbin.h:
11684         Make message handling overridable.
11685
11686 2005-11-19  Andy Wingo  <wingo@pobox.com>
11687
11688         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
11689
11690         * gst/gstclock.h:
11691         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
11692         be a GstClockTime.
11693         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
11694         is a GstClockTime. Fixes #321710.
11695
11696         * gst/gstclock.h (GstClock): Remove offset property. Add
11697         internal_calibration and external_calibration. Fix padding. Pad
11698         also by GstClockTime so we don't run into problems.
11699
11700         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
11701         (gst_clock_get_rate_offset): Remove.
11702         (gst_clock_set_time_adjust): Remove. Fixes #321712.
11703
11704         * gst/gstutils.h:
11705         * gst/gstutils.c (g_static_rec_cond_wait)
11706         (g_static_rec_cond_timed_wait): Removed, no longer needed.
11707
11708         * gst/gstbin.c: Remove terrible continue_state prototype.
11709
11710         * gst/gstelement.h (gst_element_continue_state): Make public.
11711
11712         * gst/gstelement.h:
11713         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
11714         by continue_state. Fixes #319389.
11715
11716         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
11717         Really fixes #168438. However I don't see anywhere where the
11718         filter function is called... stupid GStreamer...
11719         
11720         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
11721         don't have a dispose function, so it won't get called when the
11722         object is unreffed, but oh well!
11723
11724         * gst/gstindex.c (gst_index_set_filter_full): New API function,
11725         allows a destroy function to be set so user_data can be freed.
11726         Fixes #168438.
11727         (gst_index_set_filter): Call gst_index_set_filter_full.
11728
11729         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
11730
11731         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
11732         string should produce an error, given the lack of a way to
11733         represent NULL strings. Fixes #165650.
11734         
11735         * gst/gstvalue.h: 
11736         * gst/gstvalue.c (gst_value_array_append_value) 
11737         (gst_value_array_prepend_value, gst_value_array_get_size) 
11738         (gst_value_array_get_value): New API, copied from
11739         gst_value_list_*, only operates on arrays.
11740         (gst_value_list_append_value, gst_value_list_prepend_value) 
11741         (gst_value_list_concat, gst_value_list_get_size) 
11742         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
11743
11744         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
11745         init_list, because it works on both.
11746         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
11747         (gst_value_copy_list_or_array): Renamed from copy_list.
11748         (gst_value_free_list_or_array): Renamed from free_list.
11749         (gst_value_collect_list_or_array): Renamed from collect_list.
11750         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
11751         (gst_value_list_or_array_peek_pointer): Renamed from
11752         list_peek_pointer.
11753         (_gst_value_array_value_table, _gst_value_list_value_table):
11754         Update value table functions.
11755         (gst_value_compare_list_or_array): Renamed from compare_list.
11756
11757         * gsttaglist.h: Whoops, foreach function returns void. Also fix
11758         some constness.
11759
11760         * gst/gsttaglist.c:
11761         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
11762         GstTagList*. Fixes #143472.
11763
11764         * gst/gststructure.h: Clarify what the foreach/map functions can
11765         or can't do to their arguments.
11766
11767 2005-11-18  Wim Taymans  <wim@fluendo.com>
11768
11769         * gst/gstclock.c: (gst_clock_set_calibration),
11770         (gst_clock_get_calibration):
11771         Doc and API fixes.
11772         Calibration can be set with internal time equal to current
11773         internal time too.
11774
11775 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11776
11777         * gst/gsterror.c:
11778         * gst/gsterror.h:
11779           document
11780
11781 2005-11-18  Andy Wingo  <wingo@pobox.com>
11782
11783         * configure.ac: 
11784         * pkgconfig/gstreamer-net.pc.in:
11785         * pkgconfig/gstreamer-net-uninstalled.pc.in:
11786         * pkgconfig/Makefile.am: Add net pkgconfig files.
11787
11788 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
11789
11790         * gst/gstcaps.c:
11791         * gst/gstghostpad.c:
11792         * gst/gsttrace.c:
11793         * gst/gstvalue.c:
11794         * gst/gstvalue.h:
11795           docs fixes
11796
11797 2005-11-18  Andy Wingo  <wingo@pobox.com>
11798
11799         * gst/net/gstnetclientclock.c: Turn off debugging.
11800
11801         * check/net/gstnetclientclock.c (test_functioning): Assert that the
11802         times connverge somewhat. Can't make a real test.
11803
11804         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
11805         integer arithmetic. Return the minimum of the domain, which can be
11806         set as "internal" for gst_clock_set_calibration.
11807         (gst_net_client_clock_observe_times): Call _set_calibration.
11808         (gst_net_client_clock_new): Call _set_calibration instead of
11809         rate_offset.
11810
11811         * check/net/gstnetclientclock.c (test_functioning): Use the right
11812         adjustment api.
11813
11814         * gst/gstclock.h:
11815         * gst/gstclock.c (gst_clock_get_calibration) 
11816         (gst_clock_set_calibration): New functions, obsolete the ones I
11817         added yesterday. Doh. Precision issues mean we have to extrapolate
11818         from a point in the more recent past than 1970.
11819         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
11820         obsolete.
11821         (gst_clock_adjust_unlocked): Use the right calibration data.
11822
11823 2005-11-18  Edward Hervey  <edward@fluendo.com>
11824
11825         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
11826         Also reset the ->current_* values in READY->PAUSED
11827
11828 2005-11-18  Andy Wingo  <wingo@pobox.com>
11829
11830         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
11831         Whoops, check the right fd. Also add some debugging.
11832         (gst_net_client_clock_observe_times): Adjust for int64 offset.
11833         (do_linear_regression): Add a crapload of debugging. Subtract off
11834         the minimum values from the input series to discard unneeded bits.
11835         Use only int arithmetic. There is still double arithmetic when
11836         calculating the intercept that needs fixing. Return boolean to
11837         indicate success; FALSE would mean the domain or range is too
11838         great. Still needs fixes.
11839
11840 2005-11-18  Wim Taymans  <wim@fluendo.com>
11841
11842         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
11843         For the current position in stream time, we need to subtract
11844         accumulated time.
11845         
11846         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
11847         Release lock before calling the callback function of async
11848         entries.
11849
11850 2005-11-18  Andy Wingo  <wingo@pobox.com>
11851
11852         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
11853         Port goes all the way to MAXUINT16.
11854
11855         * gst/net/gstnettimeprovider.c: Make the port range the same as
11856         for the kernel: 0 assigns, otherwise ports are less than
11857         MAXUINT16.
11858
11859         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
11860         port change.
11861
11862         * check/net/gstnetclientclock.c (test_functioning): Add the start
11863         of another test. 
11864
11865 2005-11-18  Wim Taymans  <wim@fluendo.com>
11866
11867         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
11868         (gst_bin_remove_func), (bin_bus_handler):
11869         * gst/gstbin.h:
11870         Removing a clock provider from a bin, triggers a clock lost message
11871         so that a new clock will be selected.
11872         Adding a clock to a bin triggers a clock provider message.
11873         Make sure we reselect a clock when we received a clock lost message.
11874         Keep a reference to the element that provided the clock.
11875
11876 2005-11-18  Andy Wingo  <wingo@pobox.com>
11877
11878         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
11879         the clock initially so it produces values around the base time.
11880         (gst_net_client_clock_class_init): Typo fix.
11881         (gst_net_client_clock_thread): Add note on when the socket gets
11882         closed.
11883
11884 2005-11-17  Wim Taymans  <wim@fluendo.com>
11885
11886         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
11887         Free remote and local time arrays.
11888
11889 2005-11-17  Wim Taymans  <wim@fluendo.com>
11890
11891         * gst/net/gstnetclientclock.c: (do_linear_regression),
11892         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
11893         Fix compilation, uninitialized vars and a forgotten continue.
11894
11895 2005-11-17  Andy Wingo  <wingo@pobox.com>
11896
11897         * check/Makefile.am (check_PROGRAMS): 
11898         * check/net/gstnetclientclock.c: Add a most minimal test for the
11899         net client clock. More to come later.
11900
11901         * gst/net/gstnet.h: 
11902         * gst/net/Makefile.am: Add netclientclock.
11903
11904         * gst/net/gstnetclientclock.h:
11905         * gst/net/gstnetclientclock.c: New files, implement an untested
11906         GstClock that takes its time from a network time provider.
11907         Implements the algorithm in network-clock.scm.
11908
11909         * tests/network-clock.scm (*window-size*): Rename from
11910         *queue-length*.
11911         * tests/network-clock.scm (network-time): 
11912         * tests/network-clock-utils.scm (q-push): Update callers.
11913
11914 2005-11-17  Wim Taymans  <wim@fluendo.com>
11915
11916         * gst/gstbin.c: (gst_bin_provide_clock_func),
11917         (gst_bin_sort_iterator_new):
11918         And unref the child too..
11919
11920 2005-11-17  Wim Taymans  <wim@fluendo.com>
11921
11922         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
11923         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
11924         Refactor the sort iterator so it can be used while holding the
11925         LOCK too.
11926         Make clock selection select a clock closest to the source.
11927
11928 2005-11-17  Michael Smith <msmith@fluendo.com>
11929
11930         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
11931         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
11932         * gst/gstclock.h:
11933           Anonymous structs are a gcc (and some other compilers) extension, so
11934           don't use them. Since this is only for ABI-compatibility, and our
11935           API/ABI freeze is over in a few days, this whole thing will only
11936           last a few days, so don't bother trying to think up a meaningful
11937           name for the struct.
11938
11939 2005-11-17  Andy Wingo  <wingo@pobox.com>
11940
11941         * gst/gstclock.h (GstClock): Add rate and offset properties,
11942         preserving ABI stability. Add rate/offset accessors. Will file bug
11943         for the freeze break.
11944
11945         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
11946         and offset, trying to keep precision and avoiding
11947         underflow/overflow.
11948         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
11949         functions. Make gst_clock_set_time_adjust obsolete.
11950         (gst_clock_set_time_adjust): Note that this function is obsolete.
11951         Will file bug soon.
11952
11953         * gst/base/gstbasetransform.h: Make the ABI-stability hack
11954         greppable by using GST_PADDING-1+1.
11955
11956 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
11957
11958         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
11959
11960         * gst/gstmessage.c: (gst_message_parse_clock_lost):
11961           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
11962
11963         * gst/gstpadtemplate.h:
11964         * gst/gstpluginfeature.h:
11965           Don't use c++ style comments in headers (#321638).
11966
11967 2005-11-16  Andy Wingo  <wingo@pobox.com>
11968
11969         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
11970         buffer.
11971
11972         * check/net/gstnettimeprovider.c: Check to see that the time
11973         provider actually provides times. Works, yo!
11974
11975 2005-11-16  Wim Taymans  <wim@fluendo.com>
11976
11977         * check/Makefile.am:
11978         Enable more tests.
11979
11980         * check/elements/fakesrc.c: (GST_START_TEST):
11981         Set element to NULL before disposing it.
11982
11983 2005-11-16  Andy Wingo  <wingo@pobox.com>
11984
11985         * gst/net/Makefile.am:
11986         * gst/net/gstnet.h:
11987         * gst/net/gstnettimeprovider.c: 
11988         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
11989         provider, include it from gstnet.h, and add it to the build.
11990
11991         * gst/net/gstnettimepacket.h: 
11992         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
11993         sending and receiving.
11994
11995 2005-11-16  Wim Taymans  <wim@fluendo.com>
11996
11997         * check/Makefile.am:
11998         Enable valgrind check.
11999
12000         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
12001         (gst_fake_src_alloc_buffer):
12002         Fix memleak.
12003
12004 2005-11-16  Wim Taymans  <wim@fluendo.com>
12005
12006         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
12007         Call parent finalize too.
12008
12009 2005-11-16  Wim Taymans  <wim@fluendo.com>
12010
12011         * check/Makefile.am:
12012         Enable valgrind check that should work fine now.
12013
12014         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
12015         * gst/gstqueue.c: (gst_queue_init):
12016         Fix memleaks in pad allocation.
12017
12018 2005-11-16  Andy Wingo  <wingo@pobox.com>
12019
12020         * gst/net/Makefile.am:
12021         * gst/net/gstnet.h: New part of core to hold network elements and
12022         objects. Put in core because it exposes API that applications want
12023         to use. The library is named libgstnet-tempname right now because
12024         of the existing libgstnet in gst-plugins-base. Solution is
12025         probably to rename the one in plugins-base; will file a bug for
12026         the freeze break.
12027
12028         * gst/net/gstnettimeprovider.c: 
12029         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
12030         get_time call over the network.
12031
12032         * configure.ac: 
12033         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
12034
12035         * check/Makefile.am:
12036         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
12037         get additions shortly.
12038
12039 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12040
12041         * gst/gstpad.c: (gst_pad_new_from_static_template):
12042         * gst/gstpad.h:
12043           add gst_pad_new_from_static_template functions
12044         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
12045         (gst_check_setup_sink_pad):
12046         * gst/elements/gsttee.c: (gst_tee_init):
12047           and use them
12048
12049 2005-11-16  Wim Taymans  <wim@fluendo.com>
12050
12051         * gst/gstpad.c: (gst_pad_pause_task):
12052         Removed warning, it's not really an error either.
12053
12054 2005-11-16  Wim Taymans  <wim@fluendo.com>
12055
12056         * gst/base/gstbasetransform.c:
12057         (gst_base_transform_prepare_output_buf),
12058         (gst_base_transform_event):
12059         Check if the caps are NULL, this can happen if the element
12060         is shutting down and the pad caps are set to NULL.
12061
12062 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12063
12064         * gst/elements/gsttee.c: (gst_tee_init):
12065           fix pad template leak in tee
12066
12067 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12068
12069         * gst/glib-compat.c: (g_value_dup_gst_object):
12070         * gst/glib-compat.h:
12071         * gst/gstpad.c: (gst_pad_set_property):
12072           use gst_object_ref when setting the pad template; this will
12073           trigger the pad template leaks on GLib 2.6 and the slaves
12074
12075 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12076
12077         * gst/glib-compat.c: (gst_flags_get_first_value):
12078         * gst/glib-compat.h:
12079         * gst/gstregistryxml.c:
12080           remove functions copied from GLib 2.6
12081
12082 2005-11-16  Michael Smith <msmith@fluendo.com>
12083
12084         * gst/Makefile.am:
12085           Don't link against VALGRIND_LIBS. That was always the wrong thing to
12086           do, but only breaks with newer valgrind versions. We're not a
12087           valgrind tool, we have no link-time dependencies on libcoregrind.
12088
12089 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12090
12091         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
12092           some debug changes
12093         * gst/gstmessage.h:
12094           typo fixes
12095
12096 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12097
12098         * gst/base/gstbasesrc.c: (gst_base_src_init):
12099         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
12100         * gst/gstqueue.c: (gst_queue_init):
12101         * gst/gstregistryxml.c: (load_feature):
12102           Revert all these unrefs, they don't even pass make check !
12103
12104 2005-11-15  Johan Dahlin  <johan@gnome.org>
12105
12106         * gst/base/gstbasesrc.c: (gst_base_src_init):
12107         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
12108         * gst/gstqueue.c: (gst_queue_init): 
12109         Free pad templates, fixes a couple of leaks.
12110
12111 2005-11-15  Daniel Fischer  <dan at f3c dot com>
12112
12113         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
12114
12115         * gst/gstpad.c: (gst_pad_get_property):
12116           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
12117           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
12118           (#321452)
12119
12120 2005-11-15  Wim Taymans  <wim@fluendo.com>
12121
12122         * gst/gstevent.c:
12123         Small doc update.
12124
12125 2005-11-15  Andy Wingo  <wingo@pobox.com>
12126
12127         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
12128
12129         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
12130         using GST_CLOCK_TIME_NONE to disable base time management.
12131         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
12132         time if it was NONE before.
12133         (gst_pipeline_change_state): Only munge the base time if
12134         stream_time != GST_CLOCK_TIME_NONE.
12135
12136         * check/gst/gstpipeline.c (test_base_time): Punt around the
12137         problem of the probe not being called, because that's not the
12138         issue I'm looking at. Add a check that setting stream_time to NONE
12139         disables base time management.
12140         
12141 2005-11-15  Wim Taymans  <wim@fluendo.com>
12142
12143         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
12144         segment_stop == -1 at startup.
12145
12146         * gst/base/gstbasetransform.c: (gst_base_transform_event),
12147         (gst_base_transform_change_state):
12148         Init segment values at start.
12149
12150 2005-11-15  Wim Taymans  <wim@fluendo.com>
12151
12152         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12153         0 segment values are 0 in any format.
12154
12155         * gst/base/gstbasetransform.c: (gst_base_transform_event):
12156         * gst/base/gstbasetransform.h:
12157         Parse newsegment correctly in basetransform
12158
12159         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
12160         Sync to clock using updated segment values.
12161
12162 2005-11-15  Andy Wingo  <wingo@pobox.com>
12163
12164         * check/gst/gstpipeline.c (test_base_time): Add check that the
12165         base time and stream time are reset correctly.
12166
12167 2005-11-15  Wim Taymans  <wim@fluendo.com>
12168
12169         * docs/design/part-TODO.txt:
12170         Some more TODO items.
12171
12172 2005-11-15  Andy Wingo  <wingo@pobox.com>
12173
12174         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
12175         error if the user selected "no clock" as the clocking method.
12176
12177         * check/gst/gstpipeline.c (test_base_time): New test for buffer
12178         timestamps with live capture.
12179
12180         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
12181         is 0 but we are a live source, timestamp the buffers using the
12182         element's clock.
12183
12184 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
12185
12186         * docs/gst/gstreamer-sections.txt:
12187         * gst/gsterror.c:
12188         * gst/gstghostpad.c:
12189         * gst/gstobject.h:
12190         * gst/gstxml.c:
12191           more section docs
12192
12193 2005-11-14  Wim Taymans  <wim@fluendo.com>
12194
12195         * common/gst.supp:
12196           add suppressions from Wim's Debian machine
12197
12198 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12199
12200         * common/gst.supp:
12201           add suppressions from Andy's AMD64 Ubuntu machine
12202
12203 2005-11-14  Andy Wingo  <wingo@pobox.com>
12204
12205         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
12206         STATE_LOCK not necessary. Fixes #311489.
12207
12208         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
12209         #305291.
12210
12211         * gst/gstindex.c (gst_index_add_object): Note in the docs that
12212         this function is not implemented.
12213
12214 2005-11-14  Julien MOUTTE  <julien@moutte.net>
12215
12216         * gst/base/gstbasetransform.c:
12217         (gst_base_transform_prepare_output_buf):
12218         Ref the source pad caps while we need them.
12219         Fixes (#321386)
12220
12221 2005-11-11  Wim Taymans  <wim@fluendo.com>
12222
12223         * docs/gst/gstreamer-sections.txt:
12224         Added some docs for GstCollectData.
12225
12226         * gst/base/gstadapter.c:
12227         Some small code example fix.
12228
12229         * gst/base/gstcollectpads.c:
12230         * gst/base/gstcollectpads.h:
12231         Document some more.
12232
12233 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12234
12235         * configure.ac: back to HEAD
12236
12237 === release 0.9.5 ===
12238
12239 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
12240
12241         * configure.ac:
12242           releasing 0.9.5, "Bike Lunch Day"
12243
12244 2005-11-11  Wim Taymans  <wim@fluendo.com>
12245
12246         * gst/gstbuffer.c: (_gst_buffer_copy):
12247         Copy more flags.
12248
12249         * gst/gstcaps.c: (gst_caps_is_equal):
12250         Fix some docs.
12251         Make _is_equal fast in the trivial cases.
12252
12253         * gst/gstminiobject.c:
12254         * gst/gstminiobject.h:
12255         More docs. Spifify .h file.
12256
12257         * gst/gstutils.c:
12258         Small doc update.
12259
12260 2005-11-11  Wim Taymans  <wim@fluendo.com>
12261
12262         * gst/base/gstbasetransform.c:
12263         (gst_base_transform_prepare_output_buf),
12264         (gst_base_transform_handle_buffer):
12265         Small cleanups.
12266         If we're processing a buffer and need to allocate an output
12267         buffer, we cannot accept a format change. If we did get a 
12268         format change, we have to alloc a buffer ourselves of the 
12269         right size.
12270
12271 2005-11-11  Wim Taymans  <wim@fluendo.com>
12272
12273         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
12274         While checking the flag for reentrancy in the gstcaps function
12275         is nice to detect recursive invocations, it also makes it 
12276         impossible to call getcaps from multiple threads, which must be
12277         possible. So, checking for recursive calls has to go.
12278
12279 2005-11-11  Michael Smith <msmith@fluendo.com>
12280
12281         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
12282           Don't sync on buffers that fall partially outside our current
12283           segment. Prevents an assertion failure/abort playing some files.
12284
12285 2005-11-10  Andy Wingo  <wingo@pobox.com>
12286
12287         * check/gst/gstbin.c (test_message_state_changed_children): Style
12288         fix..
12289
12290         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
12291         gst_bus_poll with the signal watch. Ensures that poll and a signal
12292         watch see the same messages.
12293
12294         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
12295         a poll and a watch at the same time get the same messages.
12296
12297 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12298
12299         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
12300         * gst/gstcaps.c: (gst_caps_intersect):
12301           Don't call gst_caps_do_simplify - it doesn't respect order of caps
12302           and it's not needed.
12303
12304 2005-11-10  Wim Taymans  <wim@fluendo.com>
12305
12306         * docs/design/part-TODO.txt:
12307         Updated todo.
12308
12309 2005-11-10  Wim Taymans  <wim@fluendo.com>
12310
12311         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
12312         * gst/base/gstbasesrc.c: (gst_base_src_wait),
12313         (gst_base_src_do_sync), (gst_base_src_get_range):
12314         Implement clock sync in base class.
12315
12316 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12317
12318         patch by: Tim-Philipp Müller <tim at centricular dot net>
12319
12320         * gst/gststructure.c: (gst_structure_parse_field),
12321         (gst_structure_from_string):
12322           Forward-port a 0.8 patch to handle escaped spaces in structure string,
12323           so that gst_parse_launch() can deal with spaces in filtered link
12324           caps (fixes #164479)
12325         * check/gst/capslist.h:
12326         * check/gst/gststructure.c: (GST_START_TEST):
12327           add unit tests for this change
12328
12329 2005-11-10  Wim Taymans  <wim@fluendo.com>
12330
12331         * docs/gst/gstreamer-sections.txt:
12332         * gst/gstelement.c:
12333         * gst/gstelement.h:
12334         Fix docs, move some STATE macros to private.
12335
12336 2005-11-10  Wim Taymans  <wim@fluendo.com>
12337
12338         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
12339         Added check for bug #317341
12340
12341         * gst/gstbuffer.c:
12342         * gst/gstbuffer.h:
12343         Some more spiffifying.
12344
12345         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
12346         Call peer linkfunction if we are a source pad. Totally fixes
12347         #317341
12348
12349         * gst/gstpad.c:
12350         Update docs, source pads should call the peer linkfunction
12351         so they can atomically perform the pad link.
12352
12353 2005-11-09  Wim Taymans  <wim@fluendo.com>
12354
12355         * gst/gstbuffer.c:
12356         * gst/gstbuffer.h:
12357         Uber-spiffy-spiffify some more.
12358
12359 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
12360
12361         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
12362         * gst/elements/gstfilesink.c: (gst_file_sink_init):
12363         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
12364         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
12365         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
12366         * gst/gstpad.c: (gst_pad_init):
12367           Use GST_DEBUG_FUNCPTR() more extensively.
12368
12369 2005-11-09  Wim Taymans  <wim@fluendo.com>
12370
12371         * gst/gstobject.c: (gst_object_class_init):
12372         * gst/gstobject.h:
12373         Documentation fixes.
12374
12375 2005-11-09  Edward Hervey  <edward@fluendo.com>
12376
12377         * gst/gsttypefindfactory.c:
12378         Fix docs.
12379         
12380 2005-11-09  Edward Hervey  <edward@fluendo.com>
12381
12382         * gst/base/gsttypefindhelper.c:
12383         * gst/gsttypefind.c:
12384         * gst/gsttypefind.h:
12385         Fix docs.
12386
12387 2005-11-09  Wim Taymans  <wim@fluendo.com>
12388
12389         * gst/gstiterator.c:
12390         Fix revision data.
12391
12392         * gst/gsttask.c:
12393         * gst/gsttask.h:
12394         Fix docs.
12395
12396 2005-11-09  Wim Taymans  <wim@fluendo.com>
12397
12398         * gst/gstevent.h:
12399         * gst/gsturi.h:
12400         Fix docs.
12401
12402 2005-11-09  Wim Taymans  <wim@fluendo.com>
12403
12404         * docs/gst/gstreamer-sections.txt:
12405         Moved the message async delivery private lock and cond
12406         to the private section.
12407
12408         * gst/gstmessage.c:
12409         * gst/gstmessage.h:
12410         Fixed docs.
12411
12412 2005-11-09  Edward Hervey  <edward@fluendo.com>
12413
12414         * docs/gst/gstreamer-sections.txt:
12415         * gst/gsturi.c:
12416         * gst/gsturi.h:
12417         Document GstURIHandler
12418
12419 2005-11-09  Wim Taymans  <wim@fluendo.com>
12420
12421         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
12422         (gst_iterator_find_custom):
12423         * gst/gstiterator.h:
12424         Fix iterator docs.
12425
12426 2005-11-09  Wim Taymans  <wim@fluendo.com>
12427
12428         * gst/gstbin.h:
12429         Document another field.
12430
12431         * gst/gststructure.c:
12432         * gst/gststructure.h:
12433         Document.
12434
12435 2005-11-09  Wim Taymans  <wim@fluendo.com>
12436
12437         * gst/gstbin.h:
12438         Documented structs.
12439
12440 2005-11-09  Wim Taymans  <wim@fluendo.com>
12441
12442         * docs/gst/gstreamer-sections.txt:
12443         Added some new macros.
12444
12445         * gst/gstclock.c:
12446         * gst/gstclock.h:
12447         * gst/gstobject.h:
12448         Docs updates.
12449
12450 2005-11-09  Wim Taymans  <wim@fluendo.com>
12451
12452         * docs/design/part-TODO.txt:
12453         Some more items for the TODO
12454
12455         * gst/gstcaps.c:
12456         * gst/gstcaps.h:
12457         Document GstCaps.
12458
12459 2005-11-09  Andy Wingo  <wingo@pobox.com>
12460
12461         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
12462         to work on something else now tho...
12463
12464         * gst/base/gstadapter.c: More adapter docs.
12465
12466         * gst/elements/gstfilesink.c (gst_file_sink_start) 
12467         (gst_file_sink_stop): New functions, replace the state change
12468         handler.
12469         (gst_file_sink_class_init): Hook up the start and stop functions.
12470         (gst_file_sink_base_init): Don't set the state change handler any
12471         more. It was a bit ugly too, being set from here...
12472         (gst_file_sink_get_property, gst_file_sink_set_property):
12473         Cleanups...
12474         (gst_file_sink_set_location): More robust check that doesn't call
12475         GST_STATE. Ugggggg.
12476
12477 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
12478
12479         * gst/base/gstbasetransform.c: (gst_base_transform_event):
12480           Hold STREAM_LOCK while pushing newsegment or tag events as well.
12481
12482 2005-11-08  Wim Taymans  <wim@fluendo.com>
12483
12484         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
12485         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
12486         (gst_base_sink_chain), (gst_base_sink_change_state):
12487         * gst/base/gstbasesink.h:
12488         * gst/base/gstbasesrc.h:
12489         * gst/gstelement.h:
12490         * gst/gstevent.h:
12491         Avoid excessive typechecking in macros.
12492
12493         * gst/gstminiobject.c: (gst_mini_object_get_type),
12494         (gst_mini_object_init), (gst_mini_object_new),
12495         (gst_mini_object_free):
12496         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
12497         (gst_object_finalize):
12498         Remove cruft code, optimize alloc_trace.
12499
12500 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
12501
12502         * docs/faq/gst-uninstalled:
12503           fix up PS1 for systems that try to reset it
12504
12505 2005-11-07  Wim Taymans  <wim@fluendo.com>
12506
12507         * gst/base/gstbasesrc.c: (gst_base_src_init),
12508         (gst_base_src_get_range):
12509         Set the segment_end to -1 initially. Fixed typefind.
12510
12511 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
12512
12513         * gst/base/gstadapter.c:
12514           Debug category should be 'adapter', not 'GstAdapter'.
12515           
12516         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
12517         (gst_collectpads_class_init), (gst_collectpads_init),
12518         (gst_collectpads_peek), (gst_collectpads_pop),
12519         (gst_collectpads_event), (gst_collectpads_chain):
12520           Add debug category and some debugging output. Use boilerplate
12521           macros. Remove some extraneous words from docs.
12522
12523 2005-11-05  Andy Wingo  <wingo@pobox.com>
12524
12525         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
12526         macro.
12527
12528 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
12529
12530         * docs/gst/gstreamer-sections.txt:
12531         * gst/gstcaps.h:
12532         * gst/gstinfo.c:
12533         * gst/gstminiobject.h:
12534         * gst/gstobject.h:
12535         * gst/gstutils.h:
12536           more docs added
12537
12538 2005-11-04  Wim Taymans  <wim@fluendo.com>
12539
12540         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
12541         Small update to stop at the configured segment_end
12542         position.
12543
12544 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
12545
12546         * gst/gstregistry.c:
12547         * gst/gstregistry.h:
12548           added missing docs
12549
12550 2005-11-04  Edward Hervey  <edward@fluendo.com>
12551
12552         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
12553         Check if we are doing a segment seek and have arrived at the
12554         end of that segment.
12555
12556 2005-11-04  Wim Taymans  <wim@fluendo.com>
12557
12558         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
12559         Don't leak a mutex unlock in case of an error.
12560
12561         * gst/gstbus.h:
12562         Doc fixes.
12563
12564 2005-11-04  Wim Taymans  <wim@fluendo.com>
12565
12566         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
12567         (gst_bus_post):
12568         Get the context to wake up only once.
12569
12570 2005-11-03  Wim Taymans  <wim@fluendo.com>
12571
12572         * check/states/sinks.c: (GST_START_TEST):
12573         Uncomment fixed check.
12574
12575         * docs/design/part-TODO.txt:
12576         Updated TODO.
12577
12578         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12579         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
12580         (gst_base_sink_get_position):
12581         If we are going to PLAYING, post the right pending state
12582         when we post the intermediate paused message.
12583
12584         * gst/gstelement.c: (gst_element_continue_state),
12585         (gst_element_set_state_func), (gst_element_change_state):
12586         Don't post state changes that were between the same state
12587         and were not ASYNC.
12588
12589 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
12590
12591         * docs/gst/gstreamer-sections.txt:
12592         * gst/gstcaps.h:
12593         * gst/gstinfo.c:
12594         * gst/gstminiobject.h:
12595         * gst/gstobject.h:
12596         * gst/gstutils.h:
12597           more docs and doc style fixes
12598
12599 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
12600
12601         * docs/gst/gstreamer-sections.txt:
12602         * gst/gstelement.c:
12603         * gst/gstminiobject.c:
12604         doc fixes
12605
12606 2005-11-03  Andy Wingo  <wingo@pobox.com>
12607
12608         * check/states/sinks.c (test_livesrc_sink): Add checks that the
12609         state-changed messages actually have the right order and the right
12610         values.
12611
12612 2005-11-03  Wim Taymans  <wim@fluendo.com>
12613
12614         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
12615         Added some more checks. Specifically the case where NO_PREROLL
12616         elements are in the pipeline.
12617
12618         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12619         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
12620         (gst_base_sink_get_position):
12621         Post READY->PAUSED state change messages too.
12622         Fix bug where VOID was posted as pending state...
12623
12624         * gst/gstbin.c: (gst_bin_recalc_state):
12625         use _element_continue_state() to continue the state change.
12626
12627         * gst/gstelement.c: (gst_element_continue_state),
12628         (gst_element_commit_state), (gst_element_set_state_func),
12629         (gst_element_change_state), (gst_element_change_state_func):
12630         Lots of state change cleanups, assign the STATE_RETURN in
12631         a new continue_state() function that also propagates the
12632         last return value from a state change to the app.
12633         Update some debug statements with proper category.
12634
12635 2005-11-03  Wim Taymans  <wim@fluendo.com>
12636
12637         * docs/design/part-events.txt:
12638         * docs/design/part-gstpipeline.txt:
12639         * docs/design/part-messages.txt:
12640         * docs/design/part-overview.txt:
12641         * docs/design/part-seeking.txt:
12642         * docs/design/part-states.txt:
12643         * docs/design/part-trickmodes.txt:
12644         * docs/manual/advanced-position.xml:
12645         Small docs updates.
12646
12647         * gst/gstobject.h:
12648         People think !! is ugly, this looks better.
12649
12650         * gst/gstpad.c: (gst_pad_set_blocked_async):
12651         Remove !! since it's fixed elsewhere now.
12652
12653 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
12654
12655         * gst/gstminiobject.h:
12656         * gst/gstobject.h:
12657           Add !! to _FLAG_IS_SET macros to make the result boolean.
12658
12659 2005-11-03  Edward Hervey  <edward@fluendo.com>
12660
12661         * gst/gstpad.c: (gst_pad_set_blocked_async):
12662         comparing a flag and a gboolean rarely returns coherent results...
12663         Added two characters (!!) to make that work correctly.
12664         
12665 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
12666
12667         * gst/gstbus.c: (gst_bus_class_init):
12668           Fix some typos.
12669           
12670         * gst/gstqueue.c: (gst_queue_loop):
12671           Don't assume a miniobject that isn't a buffer is an
12672           event (it could be that there is a refcounting
12673           problem somewhere and the pointer is stale and
12674           refers to an already destroyed miniobject).
12675
12676 2005-11-03  Julien MOUTTE  <julien@moutte.net>
12677
12678         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
12679
12680 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
12681
12682         * docs/manual/advanced-position.xml:
12683           Update seek example and explanations to current 0.9 API.
12684
12685         * gst/elements/gsttypefindelement.c:
12686         (gst_type_find_element_activate):
12687           Remove FIXME comment now that the found caps
12688           are unreffed.
12689
12690 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12691
12692         * gst/gstregistryxml.c: (load_feature):
12693           Add another GST_STR_NULL instance
12694
12695 2005-11-02  Edward Hervey  <edward@fluendo.com>
12696
12697         * gst/gstpad.c: (handle_pad_block):
12698         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
12699         
12700 2005-11-02  Wim Taymans  <wim@fluendo.com>
12701
12702         * gst/gstbin.c:
12703         Fix typo in docs.
12704
12705         * gst/gstelement.c: (gst_element_commit_state):
12706         Remove unused value.
12707
12708         * gst/gstiterator.c:
12709         Mention that the returned element is reffed in the docs.
12710
12711 2005-11-02  Wim Taymans  <wim@fluendo.com>
12712
12713         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
12714         (gst_pad_push), (gst_pad_push_event):
12715         Unlock blocked pads when they are flushed.
12716
12717 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12718
12719         * docs/README:
12720         * docs/gst/gstreamer-sections.txt:
12721         * gst/gstbin.c:
12722           doc updates
12723         * gst/gstregistry.c: (gst_registry_scan_path_level):
12724           fix for a nasty little missed situation where an installed plug-in
12725           which was in the cache did not get overridden by an uninstalled one
12726           which was earlier in the plugin path because the newly created plugin
12727           for the uninstalled one (not in the registry) didn't get its
12728           ->registered set to TRUE
12729
12730 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
12731
12732         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
12733         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
12734         (gst_collectpads_is_active), (gst_collectpads_collect),
12735         (gst_collectpads_collect_range), (gst_collectpads_start),
12736         (gst_collectpads_stop), (gst_collectpads_peek),
12737         (gst_collectpads_pop), (gst_collectpads_available),
12738         (gst_collectpads_read), (gst_collectpads_flush):
12739           Guard public API with assertions.
12740         
12741         * gst/gstpad.c:
12742           Fix docs for gst_pad_set_link_function().
12743
12744 2005-11-02  Johan Dahlin  <johan@gnome.org>
12745
12746         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
12747         Unref found_caps after we used it.
12748
12749 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
12750
12751         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
12752           Don't try to ref NULL.
12753
12754 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12755
12756         * win32/common/config.h.in:
12757           provide a GST_FUNCTION that just gives a string for now
12758
12759 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12760
12761         * win32/common/gstenumtypes.c: (register_gst_object_flags),
12762         (gst_object_flags_get_type), (register_gst_bin_flags),
12763         (gst_bin_flags_get_type), (register_gst_buffer_flag),
12764         (gst_buffer_flag_get_type), (register_gst_bus_flags),
12765         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
12766         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
12767         (gst_clock_return_get_type), (register_gst_clock_entry_type),
12768         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
12769         (gst_clock_flags_get_type), (register_gst_state),
12770         (gst_state_get_type), (register_gst_state_change_return),
12771         (gst_state_change_return_get_type), (register_gst_state_change),
12772         (gst_state_change_get_type), (register_gst_element_flags),
12773         (gst_element_flags_get_type), (register_gst_core_error),
12774         (gst_core_error_get_type), (register_gst_library_error),
12775         (gst_library_error_get_type), (register_gst_resource_error),
12776         (gst_resource_error_get_type), (register_gst_stream_error),
12777         (gst_stream_error_get_type), (register_gst_event_type),
12778         (gst_event_type_get_type), (register_gst_seek_type),
12779         (gst_seek_type_get_type), (register_gst_seek_flags),
12780         (gst_seek_flags_get_type), (register_gst_format),
12781         (gst_format_get_type), (register_gst_index_certainty),
12782         (gst_index_certainty_get_type), (register_gst_index_entry_type),
12783         (gst_index_entry_type_get_type),
12784         (register_gst_index_lookup_method),
12785         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
12786         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
12787         (gst_index_resolver_method_get_type), (register_gst_index_flags),
12788         (gst_index_flags_get_type), (register_gst_debug_level),
12789         (gst_debug_level_get_type), (register_gst_debug_color_flags),
12790         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
12791         (gst_iterator_result_get_type), (register_gst_iterator_item),
12792         (gst_iterator_item_get_type), (register_gst_message_type),
12793         (gst_message_type_get_type), (register_gst_mini_object_flags),
12794         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
12795         (gst_pad_link_return_get_type), (register_gst_flow_return),
12796         (gst_flow_return_get_type), (register_gst_activate_mode),
12797         (gst_activate_mode_get_type), (register_gst_pad_direction),
12798         (gst_pad_direction_get_type), (register_gst_pad_flags),
12799         (gst_pad_flags_get_type), (register_gst_pad_presence),
12800         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
12801         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
12802         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
12803         (gst_plugin_error_get_type), (register_gst_plugin_flags),
12804         (gst_plugin_flags_get_type), (register_gst_rank),
12805         (gst_rank_get_type), (register_gst_query_type),
12806         (gst_query_type_get_type), (register_gst_tag_merge_mode),
12807         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
12808         (gst_tag_flag_get_type), (register_gst_task_state),
12809         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
12810         (gst_alloc_trace_flags_get_type),
12811         (register_gst_type_find_probability),
12812         (gst_type_find_probability_get_type), (register_gst_uri_type),
12813         (gst_uri_type_get_type), (register_gst_parse_error),
12814         (gst_parse_error_get_type):
12815         * win32/common/gstversion.h:
12816           update win32 copies
12817
12818 2005-11-01  Luca Ognibene  <luogni@tin.it>
12819
12820         * gst/gst.c:
12821           fix docs. popt is dead, long live GOption.
12822
12823 2005-10-31  Wim Taymans  <wim@fluendo.com>
12824
12825         * gst/gstbuffer.h:
12826         Small doc fix.
12827
12828 2005-10-31  Andy Wingo  <wingo@pobox.com>
12829
12830         * Boo!
12831
12832         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
12833
12834         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
12835         need to serialize property notifications on GLib 2.8. GLib 2.6 has
12836         the possibility of deadlocks here if code calling notify() or
12837         set() has a lock that can be taken in another notify handler (ABBA
12838         with class lock and e.g. python GIL state lock).
12839
12840 2005-10-28  Julien MOUTTE  <julien@moutte.net>
12841
12842         * gst/gstbus.c: Doc updates.
12843
12844 2005-10-28  Wim Taymans  <wim@fluendo.com>
12845
12846         * docs/design/part-TODO.txt:
12847         * gst/gstiterator.c:
12848         * gst/gstsystemclock.c:
12849         * gst/gstsystemclock.h:
12850         Doc updates.
12851
12852 2005-10-28  Edward Hervey  <edward@fluendo.com>
12853
12854         * docs/gst/gstreamer-docs.sgml:
12855         * docs/gst/gstreamer-sections.txt:
12856         the GstURIType documentation page is private, it only defines GstURIType
12857         which should be defined in the GstURIHandler page
12858         
12859 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12860
12861         * gst/gstbin.c: (gst_bin_class_init):
12862         * gst/gstbin.h:
12863         * gst/gstutils.c:
12864         Documentation updates.
12865
12866 2005-10-28  Wim Taymans  <wim@fluendo.com>
12867
12868         * docs/gst/gstreamer-sections.txt:
12869         * gst/gstclock.c:
12870         * gst/gstclock.h:
12871         Documented the clocks.
12872
12873 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
12874
12875         * docs/gst/gstreamer-sections.txt:
12876           move some macros to private sections
12877         * gst/gstminiobject.c:
12878         * gst/gstminiobject.h:
12879           add descriptions provided by ds and some more
12880         * gst/gstpad.h:
12881           mark macro as to be removed
12882
12883 2005-10-28  Wim Taymans  <wim@fluendo.com>
12884
12885         * docs/design/part-TODO.txt:
12886         Add an item to TODO.
12887
12888         * gst/gstiterator.c: (gst_iterator_fold),
12889         (gst_iterator_find_custom):
12890         * gst/gstiterator.h:
12891         Add iterator docs.
12892
12893 2005-10-28  Wim Taymans  <wim@fluendo.com>
12894
12895         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
12896         (gst_base_transform_init):
12897         Don't leak class.
12898
12899         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
12900         An EOS event marks the queue as completely filled.
12901
12902 2005-10-27  Wim Taymans  <wim@fluendo.com>
12903
12904         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12905         (gst_base_sink_do_sync), (gst_base_sink_get_position):
12906         Some more debugging.
12907
12908         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
12909         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
12910         (gst_base_transform_event), (gst_base_transform_getrange),
12911         (gst_base_transform_chain):
12912         * gst/base/gstbasetransform.h:
12913         Fix debugging,
12914         Protect transform and concurrent buffer alloc with a new lock.
12915         Try not to break ABI/API.
12916
12917 2005-10-27  Wim Taymans  <wim@fluendo.com>
12918
12919         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
12920         (gst_base_src_init), (gst_base_src_query),
12921         (gst_base_src_default_newsegment),
12922         (gst_base_src_configure_segment), (gst_base_src_do_seek),
12923         (gst_base_src_send_event), (gst_base_src_event_handler),
12924         (gst_base_src_pad_get_range), (gst_base_src_loop),
12925         (gst_base_src_unlock), (gst_base_src_default_negotiate),
12926         (gst_base_src_start), (gst_base_src_deactivate),
12927         (gst_base_src_activate_push), (gst_base_src_change_state):
12928         Move some stuff around and cleanup things.
12929
12930 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
12931
12932         * gst/base/gstbasesrc.c: (gst_base_src_query):
12933           Add missing break statements.
12934
12935 2005-10-27  Wim Taymans  <wim@fluendo.com>
12936
12937         * check/gst/gstbin.c: (GST_START_TEST):
12938         An extra refcount is taken in basesrc.
12939
12940         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
12941         (gst_base_src_get_range), (gst_base_src_pad_get_range),
12942         (gst_base_src_loop):
12943         Small cleanups, check for flushing after being unlocked from the 
12944         LIVE_LOCK. take refcounts correctly (not yet everywhere).
12945         Don't send out EOS when going to READY.
12946
12947 2005-10-27  Wim Taymans  <wim@fluendo.com>
12948
12949         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12950         (gst_base_sink_get_position):
12951         Some more debug.
12952
12953         * gst/gstbin.c: (message_check), (bin_replace_message),
12954         (bin_remove_messages), (is_eos), (gst_bin_add_func),
12955         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
12956         (bin_query_duration_init), (bin_query_duration_fold),
12957         (bin_query_duration_done), (bin_query_generic_fold),
12958         (gst_bin_query):
12959         * tools/gst-launch.c: (main):
12960         Remove old option.
12961
12962 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
12963
12964         * examples/controller/audio-example.c: (main):
12965         * examples/queue/queue.c: (event_loop):
12966         * gst/base/gstbasetransform.h:
12967         * gst/gstelement.c: (gst_element_send_event):
12968         * gst/gstevent.h:
12969         * gst/gstpad.c: (gst_pad_send_event):
12970           fixing examples
12971           fixing docs typos
12972           changing log priority in error situations
12973
12974 2005-10-25  Wim Taymans  <wim@fluendo.com>
12975
12976         * gst/gstbin.c: (message_check), (bin_replace_message),
12977         (bin_remove_messages), (is_eos), (gst_bin_add_func),
12978         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
12979         (bin_query_duration_init), (bin_query_duration_fold),
12980         (bin_query_duration_done), (bin_query_generic_fold),
12981         (gst_bin_query):
12982         Some doc and debug updates.
12983         Cache previously requested query DURATION for speed. invalidate
12984         cached duration if element posts a DURATION message.
12985
12986 2005-10-25  Wim Taymans  <wim@fluendo.com>
12987
12988         * docs/design/part-TODO.txt:
12989         Update TODO.
12990
12991         * gst/gstbin.c: (message_check), (bin_replace_message),
12992         (bin_remove_messages), (is_eos), (gst_bin_add_func),
12993         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
12994         (bin_query_duration_init), (bin_query_duration_fold),
12995         (bin_query_duration_done), (bin_query_generic_fold),
12996         (gst_bin_query):
12997         Handle SEGMENT_START/DONE messages correctly.
12998         More evolved query algorithm that handles duration queries
12999         correctly.
13000
13001         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
13002         (gst_element_get_state_func), (gst_element_abort_state),
13003         (gst_element_commit_state), (gst_element_lost_state):
13004         Some more debugging.
13005
13006         * gst/gstmessage.h:
13007         Added doc.
13008
13009 2005-10-25  Wim Taymans  <wim@fluendo.com>
13010
13011         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
13012         Don't use invalid stream_time.
13013
13014         * gst/gstevent.c: (gst_event_new_newsegment):
13015         stream_time in newsegment cannot be undefined.
13016
13017 2005-10-24  Wim Taymans  <wim@fluendo.com>
13018
13019         * gst/gstbus.c:
13020         Doc fix.
13021
13022         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
13023         (gst_queue_loop):
13024         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
13025
13026 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
13027
13028         * docs/libs/tmpl/gstdparam.sgml:
13029         * docs/libs/tmpl/gstdplinint.sgml:
13030         * docs/libs/tmpl/gstdpman.sgml:
13031         * docs/libs/tmpl/gstdpsmooth.sgml:
13032         * docs/libs/tmpl/gstunitconvert.sgml:
13033           these are obsolete
13034
13035 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13036
13037         * configure.ac:
13038           back to HEAD
13039
13040 === release 0.9.4 ===
13041
13042 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13043
13044         * configure.ac:
13045           releasing 0.9.4, "Tyrannosaurus Rex"
13046
13047 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
13048
13049         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
13050         (gst_file_sink_get_current_offset):
13051           Use fseeko() and ftello() if available. When falling back on
13052           lseek() to get the current offset, fflush() first to make sure
13053           everything is up-to-date and we get the right offset.
13054
13055 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13056
13057         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13058         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13059         * gst/gsterror.c: (_gst_stream_errors_init):
13060         * gst/gsterror.h:
13061         * gst/gstqueue.c: (gst_queue_loop):
13062         * po/POTFILES.in:
13063           remove prematurely added error category and clean up the instances
13064
13065 2005-10-21  Wim Taymans  <wim@fluendo.com>
13066
13067         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13068         (gst_base_sink_get_position), (gst_base_sink_query),
13069         (gst_base_sink_change_state):
13070         Simply set the right flag when going to playing, that's all
13071         we need to do instead of calling a function inside the object
13072         lock (that could take the lock as well and deadlock)
13073
13074 2005-10-21  Wim Taymans  <wim@fluendo.com>
13075
13076         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
13077         (gst_base_src_loop):
13078         Don't warn, the peer element knows what to do best when
13079         the seek failed, it might try something else.
13080
13081 2005-10-21  Wim Taymans  <wim@fluendo.com>
13082
13083         * gst/base/gstbasesrc.c: (gst_base_src_init),
13084         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
13085         Fix seeking.
13086
13087 2005-10-21  Wim Taymans  <wim@fluendo.com>
13088
13089         * docs/design/part-segments.txt:
13090         More docs.
13091
13092         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
13093         Correctly set caps, even on the subbufer.
13094
13095 2005-10-21  Wim Taymans  <wim@fluendo.com>
13096
13097         * docs/gst/gstreamer-docs.sgml:
13098         * docs/gst/gstreamer-sections.txt:
13099         * gst/gstelement.h:
13100         * gst/gstevent.c:
13101         * gst/gstevent.h:
13102         * gst/gstmessage.h:
13103         * gst/gstpad.h:
13104         * gst/gstparse.h:
13105         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
13106         * gst/gsttask.h:
13107         * gst/gstutils.c:
13108         * gst/gstutils.h:
13109         And 2% more doc coverage.
13110
13111 2005-10-21  Andy Wingo  <wingo@pobox.com>
13112
13113         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
13114         position reporting.
13115
13116 2005-10-20  Wim Taymans  <wim@fluendo.com>
13117
13118         * gst/gsterror.c: (gst_error_get_message):
13119         * gst/gstparse.h:
13120         * gst/gstquery.h:
13121         * gst/gststructure.c:
13122         * gst/gsttrace.c:
13123         * gst/gstutils.c:
13124         More docs.
13125
13126 2005-10-20  Wim Taymans  <wim@fluendo.com>
13127
13128         * gst/gstbuffer.h:
13129         * gst/gstpad.c:
13130         * gst/gstparse.c:
13131         Another 1% more coverage.
13132
13133 2005-10-20  Wim Taymans  <wim@fluendo.com>
13134
13135         * docs/gst/gstreamer-sections.txt:
13136         * gst/gstelement.c: (gst_element_get_state_func),
13137         (gst_element_abort_state), (gst_element_commit_state),
13138         (gst_element_lost_state):
13139         * gst/gstevent.h:
13140         * gst/gstquery.c: (gst_query_set_position),
13141         (gst_query_parse_position), (gst_query_set_duration),
13142         (gst_query_parse_duration), (gst_query_new_convert):
13143         * gst/gstutils.c:
13144         Yay! 1% more docs coverage.
13145
13146 2005-10-20  Wim Taymans  <wim@fluendo.com>
13147
13148         * gst/gstpad.h:
13149         * gst/gstquery.c: (gst_query_set_position),
13150         (gst_query_parse_position), (gst_query_set_duration),
13151         (gst_query_parse_duration), (gst_query_new_convert):
13152         * gst/gstquery.h:
13153         * gst/gstutils.c: (gst_element_query_convert):
13154         * gst/gstutils.h:
13155         Docs and consistency fixes.
13156
13157 2005-10-20  Wim Taymans  <wim@fluendo.com>
13158
13159         * gst/gsttask.c:
13160         * gst/gsttask.h:
13161         More docs.
13162
13163 2005-10-20  Wim Taymans  <wim@fluendo.com>
13164
13165         * gst/gstbin.c: (message_check), (bin_replace_message),
13166         (bin_remove_messages), (is_eos), (gst_bin_add_func),
13167         (update_degree), (gst_bin_sort_iterator_next),
13168         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
13169         Reworked the message handling a bit, cache the messages instead of
13170         only the senders. alows us to do more in the future.
13171
13172 2005-10-20  Wim Taymans  <wim@fluendo.com>
13173
13174         * docs/design/part-TODO.txt:
13175         Update TODO
13176
13177         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
13178         (gst_base_sink_query):
13179         Don't use clock time to report position when in EOS.
13180
13181 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
13182
13183         * tools/gst-inspect.c: (print_interfaces),
13184         (print_element_properties_info), (print_element_info):
13185           Fix interface output with gst-inspect -a; don't print
13186           newlines after double/float properties.
13187
13188 2005-10-20  Wim Taymans  <wim@fluendo.com>
13189
13190         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
13191         (gst_base_sink_query):
13192         Speed up current position calculation.
13193
13194         * gst/base/gstbasesrc.c: (gst_base_src_query),
13195         (gst_base_src_default_newsegment):
13196         Correctly set stream position in newsegment.
13197
13198         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
13199         (update_degree), (gst_bin_sort_iterator_next),
13200         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
13201         * gst/gstmessage.c: (gst_message_new_custom):
13202         Clean up debugging info
13203
13204         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
13205         (gst_queue_loop), (gst_queue_handle_src_query):
13206         Pause task faster.
13207
13208 2005-10-19  Wim Taymans  <wim@fluendo.com>
13209
13210         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13211         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
13212         Fix query handling again.
13213
13214 2005-10-19  Wim Taymans  <wim@fluendo.com>
13215
13216         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13217         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
13218         * gst/base/gstbasesrc.c: (gst_base_src_query):
13219         * gst/elements/gstfilesink.c: (gst_file_sink_query):
13220         * gst/elements/gsttypefindelement.c:
13221         (gst_type_find_handle_src_query), (find_element_get_length),
13222         (gst_type_find_element_activate):
13223         API change fix.
13224
13225         * gst/gstquery.c: (gst_query_new_position),
13226         (gst_query_set_position), (gst_query_parse_position),
13227         (gst_query_new_duration), (gst_query_set_duration),
13228         (gst_query_parse_duration), (gst_query_set_segment),
13229         (gst_query_parse_segment):
13230         * gst/gstquery.h:
13231         Bundling query position/duration is not a good idea since duration
13232         does not change much and we don't want to recalculate it for every
13233         position query, so they are separated again..
13234         Base value in segment query is not needed.
13235
13236         * gst/gstqueue.c: (gst_queue_handle_src_query):
13237         * gst/gstutils.c: (gst_element_query_position),
13238         (gst_element_query_duration), (gst_pad_query_position),
13239         (gst_pad_query_duration):
13240         * gst/gstutils.h:
13241         Updates for query API change.
13242         Added some docs here and there.
13243
13244 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13245
13246         * check/gst/gstbin.c: (GST_START_TEST):
13247         * check/gst/gstghostpad.c: (GST_START_TEST):
13248         * check/pipelines/cleanup.c: (GST_START_TEST):
13249           wait on thread to die so we can check refcount correctly
13250
13251 2005-10-18  Wim Taymans  <wim@fluendo.com>
13252
13253         * check/pipelines/stress.c: (GST_START_TEST):
13254         Make check a little more time consuming.
13255
13256 2005-10-18  Wim Taymans  <wim@fluendo.com>
13257
13258         * check/Makefile.am:
13259         * check/pipelines/stress.c: (GST_START_TEST),
13260         (simple_launch_lines_suite), (main):
13261         Small state change torture test.
13262
13263         * docs/design/part-states.txt:
13264         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13265         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
13266         (gst_base_sink_change_state):
13267         Never take state lock from streaming thread, clean up ugly
13268         hacks. Unfortunatly core does not yet support nice ways to
13269         async commit state.
13270         
13271         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
13272         (bin_bus_handler):
13273         Start state recalc if a STATE_DIRTY message is posted, but only
13274         on the toplevel bin.
13275
13276         * gst/gstelement.c: (gst_element_sync_state_with_parent),
13277         (gst_element_get_state_func), (gst_element_abort_state),
13278         (gst_element_commit_state), (gst_element_lost_state),
13279         (gst_element_set_state_func), (gst_element_change_state):
13280         * gst/gstelement.h:
13281         State variables are now protected with the LOCK, the state
13282         lock is only used to serialize _set_state().
13283
13284 2005-10-18  Wim Taymans  <wim@fluendo.com>
13285
13286         * check/gst/gstbin.c: (GST_START_TEST):
13287         * check/gst/gstmessage.c: (GST_START_TEST):
13288         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
13289         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
13290         (bin_bus_handler):
13291         * gst/gstelement.c: (gst_element_abort_state),
13292         (gst_element_commit_state), (gst_element_lost_state):
13293         * gst/gstmessage.c: (gst_message_new_state_changed),
13294         (gst_message_new_state_dirty), (gst_message_new_segment_start),
13295         (gst_message_new_segment_done), (gst_message_new_duration),
13296         (gst_message_parse_state_changed),
13297         (gst_message_parse_segment_start),
13298         (gst_message_parse_segment_done), (gst_message_parse_duration):
13299         * gst/gstmessage.h:
13300         * tools/gst-launch.c: (event_loop):
13301         Seriously, this is better than a previous commit as we only need
13302         to notify the fact that an element changed state in a streaming
13303         thread, marking the state of the parents dirty, hence the 
13304         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
13305         message.
13306
13307 2005-10-18  Wim Taymans  <wim@fluendo.com>
13308
13309         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
13310         (gst_bin_recalc_func):
13311         * gst/gstelement.c: (gst_element_set_clock),
13312         (gst_element_abort_state), (gst_element_lost_state):
13313         Cleanups, prepare for state change fixes.
13314
13315 2005-10-18  Wim Taymans  <wim@fluendo.com>
13316
13317         * gst/gstbin.h:
13318         * gst/gstelement.c: (gst_element_class_init),
13319         (gst_element_set_state), (gst_element_set_state_func):
13320         * gst/gstelement.h:
13321         Pending ABI changes.
13322         GThreadPool in GstBinClass to monitor async state changes.
13323         state_cookie in GstElement to detect concurrent gst/set state.
13324         set_state is now virtual too in case a very complicated element
13325         has to be constructed.
13326
13327 2005-10-18  Wim Taymans  <wim@fluendo.com>
13328
13329         * check/gst/gstbin.c: (GST_START_TEST):
13330         * check/gst/gstmessage.c: (GST_START_TEST):
13331         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
13332         * gst/gstbin.c: (bin_bus_handler):
13333         * gst/gstelement.c: (gst_element_commit_state),
13334         (gst_element_lost_state):
13335         * gst/gstmessage.c: (gst_message_new_state_changed),
13336         (gst_message_new_segment_start), (gst_message_new_segment_done),
13337         (gst_message_new_duration), (gst_message_parse_state_changed),
13338         (gst_message_parse_segment_start),
13339         (gst_message_parse_segment_done), (gst_message_parse_duration):
13340         * gst/gstmessage.h:
13341         * tools/gst-launch.c: (event_loop):
13342         Make messages future proof.
13343         state-change gets a flag if it was a message comming from the
13344         streaming thread.
13345         segment-start/stop can also be specified in other formats.
13346         A message to notify an app that a pipeline changed playback 
13347         duration.
13348         Also fix a GstMessage leak in -launch
13349
13350 2005-10-18  Andy Wingo  <wingo@pobox.com>
13351
13352         * gst/gstelement.c (gst_element_dispose): More helpful message.
13353
13354 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13355
13356         reviewed by: <delete if not using a buddy>
13357
13358         * common/gtk-doc.mak:
13359
13360 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13361
13362         * gst/gstregistry.c: (gst_registry_scan_path_level):
13363           unref a plug-in we get that was already initialized
13364
13365 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
13366
13367         * docs/gst/gstreamer-sections.txt:
13368         * docs/libs/gstreamer-libs-sections.txt:
13369         * gst/gstelement.h:
13370           add new api entries
13371           hide internal macro
13372
13373 2005-10-17  Andy Wingo  <wingo@pobox.com>
13374
13375         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
13376         cleanup.
13377
13378         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
13379
13380         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
13381
13382         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
13383         (gst_element_get_state_func): Better debug message.
13384         (gst_element_commit_state): s/INFO/DEBUG/.
13385         (gst_element_lost_state, gst_element_change_state): 
13386
13387         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
13388         (gst_message_new_custom): s/INFO/LOG/.
13389
13390 2005-10-17  Michael Smith <msmith@fluendo.com>
13391
13392         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
13393           Check if end time is valid using end time, not start time.
13394
13395 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
13396
13397         * check/gst-libs/controller.c: (GST_START_TEST),
13398         (gst_controller_suite):
13399         * libs/gst/controller/gstcontroller.c:
13400         (gst_controlled_property_set_interpolation_mode):
13401         * libs/gst/controller/gstcontroller.h:
13402         * libs/gst/controller/gstinterpolation.c:
13403         * testsuite/controller/.cvsignore:
13404         * testsuite/controller/Makefile.am:
13405         * testsuite/controller/interpolator.c:
13406           merge controller testsuites
13407           fix broken tests
13408           remove mem-chunk from docs
13409
13410 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
13411
13412         * gst/gstmemchunk.c:
13413         * gst/gstmemchunk.h:
13414         * gst/gsttrashstack.c:
13415         * gst/gsttrashstack.h:
13416           out.  get out.  you're fired.  to the Attic !
13417
13418 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
13419
13420         * gst/gstcaps.c: (gst_caps_intersect):
13421           fix signedness issues in a (hopefully) correct way
13422         * gst/gstelement.c: (gst_element_pads_activate):
13423           some debugging
13424         * gst/gstobject.c: (gst_object_set_parent):
13425           some debugging
13426
13427 2005-10-17  Julien MOUTTE  <julien@moutte.net>
13428
13429         * gst/gstvalue.h: Fix prototypes.
13430
13431 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13432
13433         * docs/gst/gstreamer-sections.txt:
13434         * gst/gst.c: (gst_version_string):
13435         * gst/gst.h:
13436         * gst/gstversion.h.in:
13437         * win32/common/libgstreamer.def:
13438           add gst_version_string ()
13439
13440 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13441
13442         * configure.ac:
13443           clean up further
13444         * gst/gst.c: (init_post):
13445         * win32/common/config.h.in:
13446           it's PLUGINDIR now
13447         * gst/gstcaps.c: (gst_caps_intersect):
13448           use gint64, the range could be bigger than a guint
13449
13450 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13451
13452         * gst/gstclock.h:
13453           document potential problem in 2038
13454
13455 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13456
13457         * gst/gstcaps.c: (gst_caps_intersect):
13458           Fix guint j diving under 0
13459
13460 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13461
13462         * configure.ac:
13463         * win32/common/config.h:
13464         * win32/common/config.h.in:
13465           check for process.h, declares getpid() on Windows
13466         * gst/gstinfo.c:
13467           include process.h if we have it
13468         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
13469         * gst/gstmemchunk.h:
13470           fix signedness issues
13471         * win32/common/libgstreamer.def:
13472           fix get_type's
13473
13474 2005-10-16  Julien MOUTTE  <julien@moutte.net>
13475
13476         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
13477         fix. Because of unsigned ints, caps intersection was going nuts and
13478         trying to access structures with G_MAXUINT index. That fixes
13479         videotestsrc ! ffmpegcolorspace ! fakesink
13480         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
13481         consistency.
13482
13483 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13484
13485         * configure.ac:
13486           use the gettext macro
13487         * gst/elements/gstelements.c:
13488         * gst/gst.c:
13489         * gst/indexers/gstindexers.c:
13490           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
13491         * win32/common/config.h:
13492           updated config.h
13493         * win32/common/config.h.in:
13494           add the template to generate config.h
13495         * win32/common/gstenumtypes.c:
13496         * win32/common/gstversion.h:
13497           updated copies
13498
13499 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13500
13501         * gst/gst.c: (gst_version):
13502         * gst/gstversion.h.in:
13503           add the nano
13504
13505 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
13506
13507         * gst/gstevent.h:
13508           Oops, add missing closing bracket.
13509
13510 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13511
13512         * configure.ac:
13513           use common m4's for argument checking
13514
13515 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
13516
13517         * docs/gst/gstreamer-sections.txt:
13518         * gst/gstevent.h:
13519           Add GST_EVENT_TYPE_NAME() macro.
13520
13521 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13522
13523         * gst/gstinfo.c:
13524         * gst/gstpluginfeature.c:
13525         * gst/gsttask.c:
13526           privatize more symbols
13527
13528 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13529
13530         * configure.ac:
13531           add srcdir, builddir includes to GST_ALL_CFLAGS, since
13532           everything that uses GStreamer API should have the includes
13533
13534 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13535
13536         * docs/gst/gstreamer-sections.txt:
13537         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
13538         * gst/gstvalue.h:
13539           give each value a _get_type, removes the DATA exports
13540
13541 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13542
13543         * gst/gst.c:
13544         * gst/gst.h:
13545           remove _gst_registry_auto_load, not used anymore
13546         * gst/gstbin.c: (gst_bin_get_type):
13547         * gst/gstbin.h:
13548         * gst/gstelement.c: (gst_element_get_type):
13549         * gst/gstelement.h:
13550         * gst/gstobject.c: (gst_object_get_type):
13551         * gst/gstobject.h:
13552         * gst/gstpad.c: (gst_pad_get_type):
13553         * gst/gstpad.h:
13554           make _get_type functions similar, fixes data export from library
13555
13556 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13557
13558         * configure.ac:
13559           correctly make conditionals
13560         * gst/elements/Makefile.am:
13561         * gst/elements/gstelements.c:
13562           fix typo causing fdsrc not to build
13563
13564 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13565
13566         * testsuite/Makefile.am:
13567         * testsuite/bytestream/.cvsignore:
13568         * testsuite/bytestream/Makefile.am:
13569         * testsuite/bytestream/filepadsink.c:
13570         * testsuite/bytestream/gstbstest.c:
13571         * testsuite/bytestream/test1.c:
13572         * testsuite/bytestream/testfile1:
13573         * testsuite/caps/normalisation.c:
13574         * testsuite/caps/random.c: (main):
13575         * testsuite/cleanup/.cvsignore:
13576         * testsuite/cleanup/Makefile.am:
13577         * testsuite/cleanup/cleanup1.c:
13578         * testsuite/cleanup/cleanup2.c:
13579         * testsuite/cleanup/cleanup3.c:
13580         * testsuite/cleanup/cleanup4.c:
13581         * testsuite/cleanup/cleanup5.c:
13582         * testsuite/controller/interpolator.c:
13583         * testsuite/debug/printf_extension.c: (main):
13584         * testsuite/elements/tee.c:
13585         * testsuite/negotiation/.cvsignore:
13586         * testsuite/negotiation/Makefile.am:
13587         * testsuite/negotiation/pad_link.c:
13588         * testsuite/pad/Makefile.am:
13589         * testsuite/pad/chainnopull.c:
13590         * testsuite/pad/getnopush.c:
13591         * testsuite/pad/link.c:
13592         * testsuite/refcounting/sched.c: (create_pipeline):
13593         * testsuite/registry/Makefile.am:
13594         * testsuite/registry/gst-print-formats.c:
13595         * testsuite/schedulers/.cvsignore:
13596         * testsuite/schedulers/142183-2.c:
13597         * testsuite/schedulers/142183.c:
13598         * testsuite/schedulers/143777-2.c:
13599         * testsuite/schedulers/143777.c:
13600         * testsuite/schedulers/147713.c:
13601         * testsuite/schedulers/147819.c:
13602         * testsuite/schedulers/147894-2.c:
13603         * testsuite/schedulers/147894.c:
13604         * testsuite/schedulers/Makefile.am:
13605         * testsuite/schedulers/group_link.c:
13606         * testsuite/schedulers/queue_link.c:
13607         * testsuite/schedulers/relink.c:
13608         * testsuite/schedulers/unlink.c:
13609         * testsuite/schedulers/unref.c:
13610         * testsuite/schedulers/useless_iteration.c:
13611         * testsuite/states/bin.c:
13612           clean out/remove some stuff from the testsuite directories
13613
13614 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13615
13616         * configure.ac:
13617           check for some headers
13618         * gst/elements/Makefile.am:
13619         * gst/elements/gstelements.c:
13620           don't compile fdsrc without sys/socket.h
13621         * gst/indexers/Makefile.am:
13622         * gst/indexers/gstindexers.c: (plugin_init):
13623           don't compile fileindex without mmap
13624
13625 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13626
13627         * configure.ac:
13628           reorganize
13629           clean up
13630           document more
13631           remove cruft
13632         * check/Makefile.am:
13633         * docs/gst/Makefile.am:
13634         * examples/helloworld/Makefile.am:
13635         * gst/Makefile.am:
13636         * gst/base/Makefile.am:
13637         * gst/check/Makefile.am:
13638         * gst/elements/Makefile.am:
13639         * gst/indexers/Makefile.am:
13640         * gst/parse/Makefile.am:
13641         * libs/gst/controller/Makefile.am:
13642         * libs/gst/dataprotocol/Makefile.am:
13643         * examples/helloworld/helloworld.c: (event_loop):
13644           compile fixes, though it's not being compiled currently
13645
13646 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
13647
13648         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
13649           Add some simple tests for the new taglist date API.
13650
13651 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
13652
13653         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
13654         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
13655           Beautify 'last-message' output: print 'none' for buffer timestamps
13656           and durations if none is set; improve alignment with next messages.
13657
13658 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
13659
13660         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
13661         * gst/gstpluginfeature.h:
13662         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
13663         * gst/gstregistry.h:
13664         * docs/gst/gstreamer-sections.txt:
13665           Add new API to check plugin feature version requirements.
13666
13667         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
13668           Some basic tests for the above.         
13669
13670 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13671
13672         * gst/gststructure.c: (gst_structure_to_string):
13673           guard against NULL printf - happens when for example
13674           a message structure with GstClock gets serialized
13675
13676 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
13677
13678         * gst/base/gstcollectpads.c: (gst_collectpads_event):
13679           Fix presumable copy'n'pasto.
13680
13681 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13682
13683         * gst/elements/gstfakesrc.h:
13684         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
13685         * gst/elements/gsttypefindelement.c:
13686           fix some signedness
13687         * gst/elements/gstfilesink.c: (gst_file_sink_render):
13688           I wonder if this could actually write +2GB files before
13689
13690 2005-10-13  Andy Wingo  <wingo@pobox.com>
13691
13692         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
13693         Fix Timmeke Waymans bug.
13694         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
13695         string of the proper length to gst_caps_from_string. There's a
13696         potential for, before this fix, that this could cause someone
13697         connecting over the network to cause a segfault if the payload is
13698         not NUL-terminated.
13699
13700 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
13701
13702         * docs/design/draft-push-pull.txt:
13703         * docs/design/part-overview.txt:
13704         * docs/random/TODO-pre-0.9:
13705         * docs/random/old/ChangeLog.gstreamer:
13706         * gst/base/gstpushsrc.c:
13707         * gst/gstclock.c:
13708           fixed typos
13709
13710 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13711
13712         * gst/glib-compat.c: (gst_flags_get_first_value):
13713         * gst/glib-compat.h:
13714         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
13715         (gst_value_compare_double), (gst_value_serialize_flags):
13716           GLib 2.6 g_flags_get_first_value has a bug that triggers an
13717           infinite loop
13718
13719 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13720
13721         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13722         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
13723           fix up debugging
13724         * tools/gst-launch.c: (event_loop):
13725           print out clock nicely
13726
13727 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
13728
13729         * docs/gst/gstreamer-sections.txt:
13730         * gst/gsttaglist.h:
13731         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
13732         (gst_tag_list_get_date_index):
13733           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
13734           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
13735
13736 2005-10-13  Julien MOUTTE  <julien@moutte.net>
13737
13738         * gst/base/gstcollectpads.c: (gst_collectpads_event),
13739         (gst_collectpads_chain):
13740         * gst/base/gstcollectpads.h: Handle newsegment and store informations
13741         in CollectData.
13742
13743 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
13744
13745         * docs/gst/gstreamer-sections.txt:
13746         * gst/gst.c:
13747         * gst/gsterror.h:
13748         * tools/gst-inspect.c: (main):
13749         * tools/gst-launch.c: (main):
13750         * tools/gst-run.c: (main):
13751         * tools/gst-xmlinspect.c: (main):
13752           fix GOption context leaks
13753           doc fixes
13754
13755 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13756
13757         * gst/gstbus.c:
13758           use HAVE_UNISTD_H
13759         * win32/common/config.h:
13760           update config
13761         * win32/vs6/grammar.dsp:
13762         * win32/vs6/libgstelements.dsp:
13763         * win32/vs6/libgstreamer.dsp:
13764           update vs6 files
13765
13766 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13767
13768         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13769         * gst/base/gstbasesrc.c: (gst_base_src_query):
13770           fix more guint64<->gdouble conversions
13771
13772 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13773
13774         * Makefile.am:
13775           add win32-update target
13776         * win32/common/gstconfig.h:
13777         * win32/common/gstenumtypes.c:
13778         * win32/common/gstenumtypes.h:
13779         * win32/common/gstversion.h:
13780           add files that visual studio can't generate
13781
13782 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13783
13784         * Makefile.am:
13785           add a win32-update target
13786         * configure.ac:
13787
13788 2005-10-12  Wim Taymans  <wim@fluendo.com>
13789
13790         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
13791         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
13792         * gst/gstelement.c: (gst_element_commit_state),
13793         (gst_element_set_state):
13794         Protect flags with proper lock.
13795         unref provided cached clock in dispose.
13796
13797 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
13798
13799         * gst/gst.c:
13800         * gst/gstminiobject.h:
13801         * gst/gstpad.h:
13802         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
13803           removed unused flags from miniobject
13804           doc fixes
13805
13806 2005-10-12  Wim Taymans  <wim@fluendo.com>
13807
13808         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
13809         (gst_file_sink_event), (gst_file_sink_render):
13810         Flush before seeking.
13811
13812 2005-10-12  Andy Wingo  <wingo@pobox.com>
13813
13814         * gst/gst.c (gst_init_check): Ignore unknown options, as has
13815         always been the case.
13816
13817 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
13818
13819         * check/gst/gstbin.c: (GST_START_TEST):
13820         * docs/gst/gstreamer-sections.txt:
13821         * gst/base/gstbasesink.c: (gst_base_sink_init):
13822         * gst/base/gstbasesrc.c: (gst_base_src_init),
13823         (gst_base_src_get_range), (gst_base_src_check_get_range),
13824         (gst_base_src_start), (gst_base_src_stop):
13825         * gst/base/gstbasesrc.h:
13826         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
13827         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
13828         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
13829         (bin_bus_handler):
13830         * gst/gstbin.h:
13831         * gst/gstbuffer.h:
13832         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
13833         * gst/gstbus.h:
13834         * gst/gstelement.c: (gst_element_is_locked_state),
13835         (gst_element_set_locked_state), (gst_element_commit_state),
13836         (gst_element_set_state):
13837         * gst/gstelement.h:
13838         * gst/gstindex.c: (gst_index_init):
13839         * gst/gstindex.h:
13840         * gst/gstminiobject.h:
13841         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
13842         (gst_object_set_parent):
13843         * gst/gstobject.h:
13844         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
13845         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
13846         * gst/gstpad.h:
13847         * gst/gstpadtemplate.h:
13848         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
13849         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
13850         * gst/gstpipeline.h:
13851         * gst/indexers/gstfileindex.c: (gst_file_index_load),
13852         (gst_file_index_commit):
13853         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
13854         * testsuite/pad/link.c: (gst_test_src_init),
13855         (gst_test_filter_init), (gst_test_sink_init):
13856         * testsuite/states/locked.c: (main):
13857           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
13858           moved bitshift from macro to enum definition
13859
13860 2005-10-12  Wim Taymans  <wim@fluendo.com>
13861
13862         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
13863         * gst/elements/gstfilesink.c: (gst_file_sink_event),
13864         (gst_file_sink_render):
13865         Some more debugging info.
13866
13867 2005-10-12  Wim Taymans  <wim@fluendo.com>
13868
13869         * docs/design/part-states.txt:
13870         * tools/gst-launch.c: (main):
13871         Some doc updates.
13872         Revert non-intentional change.
13873
13874 2005-10-12  Wim Taymans  <wim@fluendo.com>
13875
13876         * check/gst/gstbin.c: (GST_START_TEST):
13877         * check/gst/gstelement.c: (GST_START_TEST):
13878         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
13879         * check/gst/gstghostpad.c: (GST_START_TEST):
13880         * check/gst/gstpipeline.c: (GST_START_TEST):
13881         * check/pipelines/simple_launch_lines.c: (run_pipeline):
13882         * check/states/sinks.c: (GST_START_TEST):
13883         * gst/elements/gsttypefindelement.c: (stop_typefinding):
13884         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
13885         (gst_bin_remove_func), (gst_bin_get_state_func),
13886         (gst_bin_recalc_state), (gst_bin_change_state_func),
13887         (bin_bus_handler):
13888         * gst/gstelement.c: (gst_element_get_state_func),
13889         (gst_element_get_state), (gst_element_abort_state),
13890         (gst_element_commit_state), (gst_element_set_state),
13891         (gst_element_change_state), (gst_element_change_state_func):
13892         * gst/gstelement.h:
13893         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
13894         (gst_pipeline_provide_clock_func):
13895         * gst/gstutils.c: (gst_element_link_pads_filtered):
13896         * tools/gst-launch.c: (main):
13897         * tools/gst-typefind.c: (main):
13898         Use GstClockTime in _get_state() instead of GTimeVal.
13899         Remove old code in gstutils.c
13900
13901 2005-10-12  Andy Wingo  <wingo@pobox.com>
13902
13903         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
13904         removed.
13905
13906         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
13907         there is no task. Shouldn't affect any code, as nothing in our
13908         plugins checks this return value.
13909         (gst_pad_stop_task): Also take the stream lock if the pad has no
13910         task. Docs updated.
13911
13912 2005-10-12  Wim Taymans  <wim@fluendo.com>
13913
13914         * gst/gstpad.c: (pre_activate), (post_activate),
13915         (gst_pad_activate_pull), (gst_pad_activate_push):
13916         Cleanup activation code. Reset old state if
13917         activation failed.
13918
13919 2005-10-12  Wim Taymans  <wim@fluendo.com>
13920
13921         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13922         (gst_base_sink_change_state):
13923         No need to prerol after receiving EOS.
13924
13925         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
13926         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
13927         * gst/elements/gstidentity.c: (gst_identity_event):
13928         Print events more verbosely.
13929
13930 2005-10-12  Wim Taymans  <wim@fluendo.com>
13931
13932         * check/Makefile.am:
13933         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
13934         * check/states/sinks2.c:
13935         Moved sinks2 testcode in sinks check.
13936
13937         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
13938         (gst_bin_remove_func), (gst_bin_recalc_state),
13939         (gst_bin_change_state_func), (bin_bus_handler):
13940         Fix potential race condition when _get_state() iterated over an
13941         ASYNC element right before it posted a state completion.
13942
13943         * gst/gstclock.h:
13944         Do proper cast here.
13945
13946         * gst/gstevent.c: (gst_event_new_newsegment),
13947         (gst_event_parse_newsegment):
13948         A playback rate of 0.0 is not allowed.
13949
13950 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13951
13952         * win32/common/config.h:
13953         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
13954         (_trewinddir), (_ttelldir), (_tseekdir):
13955         * win32/common/dirent.h:
13956         * win32/common/gtchar.h:
13957         * win32/common/libgstbase.def:
13958         * win32/common/libgstreamer.def:
13959         * win32/vs6/grammar.dsp:
13960         * win32/vs6/gst_inspect.dsp:
13961         * win32/vs6/gst_launch.dsp:
13962         * win32/vs6/gstreamer.dsw:
13963         * win32/vs6/libgstbase.dsp:
13964         * win32/vs6/libgstelements.dsp:
13965         * win32/vs6/libgstreamer.dsp:
13966           Visual Studio 6 project files, and a new common directory.
13967           Phear.
13968
13969 2005-10-11  Wim Taymans  <wim@fluendo.com>
13970
13971         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13972         (gst_base_sink_do_sync), (gst_base_sink_query),
13973         (gst_base_sink_change_state):
13974         * gst/base/gstbasesink.h:
13975         Correctly parse newsegment info.
13976
13977 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13978
13979         * gst/gst.c: (init_post):
13980           split plugin paths correctly
13981
13982 2005-10-11  Wim Taymans  <wim@fluendo.com>
13983
13984         * check/gst/gstevent.c: (GST_START_TEST):
13985         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13986         (gst_base_sink_change_state):
13987         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
13988         * gst/base/gstbasetransform.c: (gst_base_transform_event):
13989         * gst/elements/gstfilesink.c: (gst_file_sink_event):
13990         * gst/gstevent.c: (gst_event_new_newsegment),
13991         (gst_event_parse_newsegment):
13992         * gst/gstevent.h:
13993         Added extra flag to newsegment for future API freeze.
13994         Updated check and base elements.
13995
13996 2005-10-11  Julien MOUTTE  <julien@moutte.net>
13997
13998         * gst/base/gstcollectpads.c: (gst_collectpads_init),
13999         (gst_collectpads_add_pad), (gst_collectpads_pop),
14000         (gst_collectpads_event), (gst_collectpads_chain):
14001         * gst/base/gstcollectpads.h: Handle EOS correctly.
14002
14003 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14004
14005         * tools/gst-launch.c: (main):
14006           more null protecting
14007
14008 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14009
14010         * gst/gst-i18n-lib.h:
14011           check for ENABLE_NLS, not GETTEXT_PACKAGE
14012         * gst/gstregistry.c: (gst_registry_add_plugin),
14013         (gst_registry_scan_path_level),
14014         (_gst_registry_remove_cache_plugins):
14015           protect possibly NULL strings
14016         * gst/parse/types.h:
14017           config.h already included before
14018         * tools/gst-inspect.c: (main):
14019           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
14020           check for ENABLE_NLS, not GETTEXT_PACKAGE
14021         * tools/gst-launch.c: (main):
14022           check for ENABLE_NLS, not GETTEXT_PACKAGE
14023
14024 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14025
14026         * configure.ac:
14027           if we don't have glib, fail before testing 2.8
14028         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
14029           fix a leak, should fix plugins-base testsuite
14030
14031 2005-10-11  Andy Wingo  <wingo@pobox.com>
14032
14033         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
14034         take the mode we're going to as an arg. Go head and set the mode
14035         and flushing flags now, so that if the activate function starts a
14036         thread all the flags will be in the right state.
14037         (post_activate): Renamed also. Just handle making sure streaming
14038         finishes for the deactivation case, and setting the deactivated
14039         mode.
14040         (gst_pad_set_active): Complain loudly if deactivation fails.
14041         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
14042         (gst_pad_activate_push): Adapt to pre/post_activate changes,
14043         remove the terrible hack.
14044
14045 2005-10-11  Wim Taymans  <wim@fluendo.com>
14046
14047         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
14048         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
14049         (gst_bin_recalc_state), (gst_bin_change_state_func),
14050         (gst_bin_dispose), (bin_bus_handler):
14051         * gst/gstbin.h:
14052         Prepare to make current EOS message queue more generic.
14053         Fix some typos.
14054
14055         * gst/gstevent.c: (gst_event_new_newsegment),
14056         (gst_event_parse_newsegment):
14057         * gst/gstevent.h:
14058         Rename base to stream_time.
14059
14060         * gst/gstmessage.h:
14061         Fix typo in docs.
14062
14063 2005-10-11  Wim Taymans  <wim@fluendo.com>
14064
14065         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
14066         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
14067         (gst_bin_change_state_func), (bin_bus_handler):
14068         * gst/gstbin.h:
14069         Work on proper clock selection.
14070
14071 2005-10-11  Edward Hervey  <edward@fluendo.com>
14072
14073         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
14074         * libs/gst/controller/gstcontroller.h:
14075         Added GList* version of _remove_properties() in order to be able to wrap
14076         it in bindings.
14077
14078 2005-10-11  Wim Taymans  <wim@fluendo.com>
14079
14080         * docs/design/part-states.txt:
14081         Some more docs.
14082
14083         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
14084         (gst_bin_change_state_func), (bin_bus_handler):
14085         Doc updates. Don't distribute the same clock over and over again.
14086
14087         * gst/gstclock.c:
14088         * gst/gstclock.h:
14089         Doc updates.
14090
14091         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
14092         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
14093         (gst_pad_send_event):
14094         * gst/gstpad.h:
14095         Make probe emission threadsafe again.
14096         Register quarks and move _get_name() from utils.
14097         Doc updates.
14098
14099         * gst/gstpipeline.c: (gst_pipeline_class_init),
14100         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
14101         Only redistribute the clock of it changed.
14102
14103         * gst/gstsystemclock.h:
14104         Doc updates. 
14105
14106         * gst/gstutils.c:
14107         * gst/gstutils.h:
14108         Moved the _flow_get_name() to GstPad.
14109
14110 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14111
14112         * check/gst-libs/gdp.c: (GST_START_TEST):
14113         * check/gst/gstcaps.c: (GST_START_TEST):
14114         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
14115         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
14116         (gst_dp_packet_from_caps):
14117           fix more valgrind warnings before turning up the heat
14118
14119 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14120
14121         * gst/parse/grammar.y:
14122           some cleanup before the hacking
14123
14124 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14125
14126         * gst/base/gstbasesrc.c: (gst_base_src_query):
14127           use conversions
14128         * gst/gstutils.c: (gst_guint64_to_gdouble),
14129         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
14130         * gst/gstutils.h:
14131           externalize, basesrc uses it
14132           obviously the implementation needs testing
14133
14134 2005-10-10  Wim Taymans  <wim@fluendo.com>
14135
14136         * tests/sched/Makefile.am:
14137         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
14138         (make_pipeline3), (make_pipeline4), (print_elem), (main):
14139
14140 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14141
14142         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
14143           apparently converting from guint64 to double is not implemented
14144           on MSVC
14145
14146 2005-10-10  Wim Taymans  <wim@fluendo.com>
14147
14148         * check/Makefile.am:
14149         * check/generic/states.c: (GST_START_TEST):
14150         * check/gst/gstbin.c: (GST_START_TEST):
14151         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
14152         * check/states/sinks.c: (GST_START_TEST):
14153         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
14154         (main):
14155         Check fixes, use API as stated in design docs, remove hacks.
14156
14157         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14158         (gst_base_sink_change_state):
14159         Catch stopping our task while we're shutting down.
14160
14161         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
14162         (gst_bin_remove_func), (gst_bin_get_state_func),
14163         (gst_bin_recalc_state), (gst_bin_change_state_func),
14164         (bin_bus_handler):
14165         * gst/gstbin.h:
14166         * gst/gstelement.c: (gst_element_init),
14167         (gst_element_get_state_func), (gst_element_abort_state),
14168         (gst_element_commit_state), (gst_element_lost_state),
14169         (gst_element_set_state), (gst_element_change_state),
14170         (gst_element_change_state_func):
14171         * gst/gstelement.h:
14172         New state change algorithm (see #318116)
14173
14174         * gst/gstpipeline.c: (gst_pipeline_class_init),
14175         (gst_pipeline_init), (gst_pipeline_set_property),
14176         (gst_pipeline_get_property), (do_pipeline_seek),
14177         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
14178         * gst/gstpipeline.h:
14179         Remove crude state change hacks.
14180
14181         * gst/gstutils.h:
14182         Remove crude hacks.
14183
14184         * tools/gst-launch.c: (main):
14185         Fixes for state change. Needs some more work to fully use the
14186         new stuff.
14187
14188 2005-10-10  Andy Wingo  <wingo@pobox.com>
14189
14190         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
14191
14192         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
14193         this flag, but it's not even in GLib 2.6. Odd. Hack around the
14194         issue.
14195
14196 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
14197
14198         * gst/gstiterator.c: (gst_iterator_new):
14199           Fix my previous commit: GTypes passed to gst_iterator_new()
14200           can be fundamental types.
14201
14202 2005-10-10  Wim Taymans  <wim@fluendo.com>
14203
14204         * gst/gstelement.c: (gst_element_iterate_pad_list),
14205         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
14206         (gst_element_iterate_sink_pads):
14207         Use src/sink pads lists for the respective iterators instead
14208         of filtering.
14209
14210 2005-10-10  Andy Wingo  <wingo@pobox.com>
14211
14212         Merged in popt removal + GOption addition patch from Ronald, bug
14213         #169772.
14214
14215         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
14216         GstElement macros around, remove popt-related symbols, add goption
14217         stuff.
14218
14219         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
14220         
14221         * docs/gst/Makefile.am:
14222         * docs/libs/Makefile.am: No POPT_CFLAGS.
14223         
14224         * examples/manual/Makefile.am:
14225         * docs/manual/basics-init.xml: Doc updates with an example.
14226         
14227         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
14228         (gst_init), (parse_one_option), (parse_goption_arg):
14229         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
14230         bit of hand merging and debugging to get the GOption stuff working
14231         tho.
14232         
14233         * tests/Makefile.am:
14234         * tools/Makefile.am:
14235         * tools/gst-inspect.c: (main):
14236         * tools/gst-launch.c: (main):
14237         * tools/gst-run.c: (main):
14238         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
14239
14240 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
14241
14242         * gst/gstiterator.c: (gst_iterator_new):
14243           Add assertions to make sure passed GType is likely to really
14244           be a GType (as the compiler won't catch it if the size and
14245           GType arguments get mixed up, see #318447).
14246
14247 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
14248
14249         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
14250
14251         * gst/gstbin.c: (gst_bin_iterate_sorted):
14252           Pass GType and size arguments to gst_iterator_new() in the right
14253           order (maybe we should make _new() take the GType as first argument
14254           just like _new_list()?) (#318447).
14255           
14256
14257 2005-10-10  Wim Taymans  <wim@fluendo.com>
14258
14259         * gst/gstelement.c: (gst_element_finalize):
14260         And free the GStaticRecMutex too
14261
14262 2005-10-10  Andy Wingo  <wingo@pobox.com>
14263
14264         * gst/gstelement.c (gst_element_init, gst_element_finalize):
14265         Allocate and free the mutex properly.
14266
14267         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
14268         New macros.
14269         (GstElement): The state_lock is now recursive. Rebuild your
14270         plugins, suckers. Old macros adapted.
14271
14272         * docs/gst/gstreamer-sections.txt: Doc updates.
14273
14274         * gst/gstutils.h:
14275         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
14276         (g_static_rec_cond_wait): Ported from state changes patch, while
14277         we wait on bug #317802 to be solved in a well-distributed GLib.
14278
14279         * gst/gstelement.c (gst_element_change_state_func): Renamed from
14280         gst_element_change_state, variable name changes.
14281         (gst_element_change_state): Split out of gst_element_set_state in
14282         preparation for the state change merge. Doesn't pay attention to
14283         the 'transition' argument.
14284         (gst_element_set_state): Updates, hopefully purely cosmetic.
14285         (gst_element_sync_state_with_parent): MT-safety. Ported from the
14286         state change patch.
14287         (gst_element_get_state_func): Renamed from get_state, cosmetic
14288         changes.
14289
14290 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14291
14292         * gst/elements/gstelements.c:
14293         * win32/GStreamer.vcproj:
14294         * win32/config.h:
14295         * win32/dirent.c: (_tseekdir):
14296         * win32/gst-inspect.vcproj:
14297         * win32/gst-launch.vcproj:
14298         * win32/gstconfig.h:
14299         * win32/gstelements.vcproj:
14300         * win32/gstenumtypes.c: (gst_object_flags_get_type):
14301         * win32/gstreamer.def:
14302         * win32/msvc71.sln:
14303           updates for the win32 build (patch from Sebastien Moutte)
14304
14305 2005-10-10  Andy Wingo  <wingo@pobox.com>
14306
14307         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
14308         gst_bin_get_state, cleaned up (but no logic changes).
14309         (bin_element_is_sink): Comment updates.
14310         (sink_iterator_filter): Remove needless cast.
14311         (gst_bin_iterate_sinks): Doc update.
14312         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
14313         cleaned up (but no logic changes).
14314
14315         * check/states/sinks.c (test_src_sink): Cleanups from the state
14316         change patch.
14317         (test_livesrc_sink): Sync on the state.
14318
14319         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
14320         the state change patch.
14321
14322         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
14323         change patch.
14324
14325         * check/gst/gstbin.c: Merge in some style fixes and additional
14326         checks from Wim's state change patch.
14327
14328 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
14329
14330         * gst/base/gsttypefindhelper.c: (helper_find_peek),
14331         (gst_type_find_helper):
14332           Check whether we have the requested data already in our list of
14333           cached buffers before pulling a new buffer; also make the buffer
14334           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
14335
14336 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14337
14338         * gst/gstcaps.c:
14339         * gst/gstevent.c:
14340           doc updates
14341         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
14342           don't use long long, it's not portable.  Replacing with
14343           gint64 seems to work; let's hope no skeletons fall out of the closet.
14344
14345 2005-10-10  Andy Wingo  <wingo@pobox.com>
14346
14347         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
14348
14349 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
14350
14351         * docs/gst/gstreamer-sections.txt:
14352         * gst/gstevent.c:
14353         * gst/gstevent.h:
14354         * gst/gstinfo.c:
14355         * gst/gstinfo.h:
14356         * gst/gstmessage.c: (gst_message_parse_state_changed):
14357         * gst/gstpad.c:
14358         * gst/gstpad.h:
14359           more docs, fix compilation
14360
14361 2005-10-09  Philippe Khalaf <burger@speedy.org>
14362         * gst/gstmessage.c:
14363           Fixed a few forgotten variables on previous commit
14364
14365 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
14366
14367         * gst/base/gsttypefindhelper.c: (helper_find_peek):
14368           Fix evil typefind crasher: getrange() might return a short
14369           buffer at the end of a file, but gst_type_find_peek() must
14370           either return the full data as requested or NULL, but
14371           never a short buffer.
14372
14373 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14374
14375         * gst/gstmessage.c: (gst_message_new_state_changed),
14376         (gst_message_parse_state_changed):
14377         * gst/gstmessage.h:
14378           don't use "new", it's a C++ keyword
14379
14380 2005-10-08  Wim Taymans  <wim@fluendo.com>
14381
14382         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
14383         * gst/gstelement.c: (gst_element_post_message):
14384         * gst/gstpipeline.c: (gst_pipeline_change_state):
14385         Small docs and debug updates.
14386
14387 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
14388
14389         * docs/gst/gstreamer-sections.txt:
14390         * gst/gstelementfactory.c:
14391         * gst/gstevent.c:
14392         * gst/gsttaglist.c:
14393           more docs
14394
14395 2005-10-08  Wim Taymans  <wim@fluendo.com>
14396
14397         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
14398         (gst_bin_dispose), (bin_bus_handler):
14399         Fix typos, add comments.
14400         Clear EOS list when going to PAUSED from any direction and do it
14401         in a threadsafe way.
14402         Get base time in a threadsafe way too.
14403         Fix confusing debug in the change_state function.
14404         Various other small cleanups.
14405         
14406         * gst/gstelement.c: (gst_element_post_message):
14407         Fix very verbose bus posting code.
14408
14409         * gst/gstpipeline.c: (gst_pipeline_class_init),
14410         (gst_pipeline_set_property), (gst_pipeline_get_property),
14411         (gst_pipeline_change_state):
14412         Small ARG_ -> PROP_ cleanup
14413
14414 2005-10-08  Wim Taymans  <wim@fluendo.com>
14415
14416         * gst/gstbin.c: (is_eos), (bin_bus_handler):
14417         Do a less CPU demanding EOS check because we can.
14418
14419 2005-10-08  Wim Taymans  <wim@fluendo.com>
14420
14421         * libs/gst/dataprotocol/dataprotocol.c:
14422         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14423         (gst_dp_packet_from_event):
14424         * libs/gst/dataprotocol/dataprotocol.h:
14425         * libs/gst/dataprotocol/dp-private.h:
14426         It's about time we bump the version number.
14427         Since event types don't fit in the guint8 anymore describing
14428         the payload type, make payload type 16 bits wide.
14429
14430 2005-10-08  Wim Taymans  <wim@fluendo.com>
14431
14432         * docs/design/part-TODO.txt:
14433         * docs/design/part-clocks.txt:
14434         * docs/design/part-events.txt:
14435         * docs/design/part-gstbin.txt:
14436         * docs/design/part-gstelement.txt:
14437         * docs/design/part-gstpipeline.txt:
14438         * docs/design/part-live-source.txt:
14439         * docs/design/part-messages.txt:
14440         * docs/design/part-overview.txt:
14441         * docs/design/part-states.txt:
14442         Many doc updates.
14443
14444 2005-10-08  Wim Taymans  <wim@fluendo.com>
14445
14446         * gst/gstevent.c:
14447         * gst/gstevent.h:
14448         Fix event quark registration.
14449         Add some space between events so we can insert them in the
14450         right groups.
14451
14452 2005-10-08  Wim Taymans  <wim@fluendo.com>
14453
14454         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14455         (gst_base_sink_handle_buffer):
14456         Better log message.
14457
14458         * gst/gstbus.h:
14459         * gst/gstelement.h:
14460         More docs.
14461
14462         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
14463         (gst_queue_set_property), (gst_queue_get_property):
14464         * gst/gstqueue.h:
14465         Remove old unused properties.
14466
14467 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
14468         * docs/gst/gstreamer-sections.txt:
14469         * gst/gstmessage.c:
14470         * gst/gstmessage.h:
14471         * gst/gstminiobject.c:
14472         * gst/gstminiobject.h:
14473         * gst/gstobject.h:
14474         * gst/gstpad.h:
14475         * gst/gstutils.h:
14476           lots of new docs and doc fixes
14477
14478 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14479
14480         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
14481         * gst/gstplugin.h:
14482         * gst/gstregistry.c: (gst_registry_lookup_locked),
14483         (gst_registry_scan_path_level):
14484         * gst/gstregistryxml.c: (load_plugin):
14485           Only ever load one plugin for a given plugin basename.
14486           This ensures correct overriding of GST_PLUGIN_PATH over
14487           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
14488           system installed plugins.
14489
14490 2005-10-08  Wim Taymans  <wim@fluendo.com>
14491
14492         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14493         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
14494         Prepare for doing QOS.
14495
14496 2005-10-08  Wim Taymans  <wim@fluendo.com>
14497
14498         * check/gst/gstbin.c: (GST_START_TEST):
14499         * check/pipelines/cleanup.c: (GST_START_TEST):
14500         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
14501         Allow new clock message too.
14502
14503 2005-10-08  Wim Taymans  <wim@fluendo.com>
14504
14505         * gst/gstmessage.c: (gst_message_new_error),
14506         (gst_message_new_warning), (gst_message_new_tag),
14507         (gst_message_new_state_changed), (gst_message_new_clock_provide),
14508         (gst_message_new_clock_lost), (gst_message_new_new_clock),
14509         (gst_message_new_segment_start), (gst_message_new_segment_done),
14510         (gst_message_parse_state_changed),
14511         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
14512         (gst_message_parse_new_clock):
14513         * gst/gstmessage.h:
14514         Also carry the clock in question.
14515
14516 2005-10-08  Wim Taymans  <wim@fluendo.com>
14517
14518         * gst/gstmessage.c: (gst_message_new_custom),
14519         (gst_message_new_eos), (gst_message_new_error),
14520         (gst_message_new_warning), (gst_message_new_tag),
14521         (gst_message_new_state_changed), (gst_message_new_clock_provide),
14522         (gst_message_new_new_clock), (gst_message_new_segment_start),
14523         (gst_message_new_segment_done), (gst_message_parse_state_changed),
14524         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
14525         * gst/gstmessage.h:
14526         Clean up.
14527         Added clock related messages.
14528
14529         * gst/gstpipeline.c: (gst_pipeline_change_state):
14530         Post message when the clock changed.
14531
14532         * tools/gst-launch.c: (event_loop):
14533         Print new clock.
14534
14535 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
14536
14537         * tools/gst-inspect.c: (print_element_properties_info):
14538           Can't pass NULL strings to g_print() on windows.
14539
14540 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14541
14542         * docs/Makefile.am:
14543         * docs/gst/Makefile.am:
14544         * docs/gst/gstreamer-docs.sgml:
14545         * docs/gst/running.xml:
14546         * docs/version.entities.in:
14547           add a chapter on running GStreamer.
14548           document GST_DEBUG and GST_PLUGIN* env vars
14549
14550 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14551
14552         * Makefile.am:
14553           remove include dir
14554         * configure.ac:
14555           remove PLUGINS_BUILDDIR stuff
14556         * gst/gst.c: (init_post):
14557           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
14558         * idiottest.mak:
14559           remove, it was condescending and not needed
14560
14561 2005-10-08  Wim Taymans  <wim@fluendo.com>
14562
14563         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
14564         (gst_base_sink_handle_object), (gst_base_sink_event),
14565         (gst_base_sink_wait), (gst_base_sink_handle_event),
14566         (gst_base_sink_change_state):
14567         * gst/base/gstbasesink.h:
14568         Repost EOS message while going to PLAYING if still EOS.
14569         Make sure that when receiving a FLUSH_START we don't attempt
14570         to sync on the clock anymore.
14571
14572 2005-10-08  Wim Taymans  <wim@fluendo.com>
14573
14574         * tools/gst-launch.c: (event_loop):
14575         Better message printout.
14576
14577 2005-10-08  Wim Taymans  <wim@fluendo.com>
14578
14579         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
14580         (gst_bin_child_proxy_get_children_count):
14581         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
14582         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
14583         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
14584         (gst_child_proxy_set_valist):
14585         * gst/parse/grammar.y:
14586         Make ChildProxy threadsafe and fix mem leaks.
14587
14588 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14589
14590         * gst/gst.c: (init_post):
14591           debug the GST_PLUGIN_ env vars
14592
14593 2005-10-08  Wim Taymans  <wim@fluendo.com>
14594
14595         * check/gst/gstbin.c: (GST_START_TEST):
14596         * check/gst/gstmessage.c: (GST_START_TEST):
14597         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
14598         * gst/gstelement.c: (gst_element_commit_state),
14599         (gst_element_lost_state):
14600         * gst/gstmessage.c: (gst_message_new_state_changed),
14601         (gst_message_parse_state_changed):
14602         * gst/gstmessage.h:
14603         * tools/gst-launch.c: (event_loop):
14604         Added extra field to STATE_CHANGE message with the pending
14605         state, which will be different from the new state soon.
14606
14607 2005-10-08  Wim Taymans  <wim@fluendo.com>
14608
14609         * gst/gstbus.c: (gst_bus_pop):
14610         * gst/gstclock.c:
14611         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
14612         Small cleanups and doc updates.
14613
14614 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14615
14616         * gst/gst.c: (init_pre):
14617         * gst/gstbin.c: (gst_bin_add_func):
14618           log distributing clocks and base time
14619         * gst/gstregistry.c: (gst_registry_add_plugin),
14620         (gst_registry_scan_path_level), (gst_registry_scan_path):
14621           clean up the debugging output a little
14622         * gst/gstutils.c: (gst_element_state_get_name):
14623           warn about a memleak (I've actually seen this be used, though
14624           it was probably a bug)
14625
14626 2005-10-07  Wim Taymans  <wim@fluendo.com>
14627
14628         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14629         (gst_base_src_init), (gst_base_src_default_newsegment),
14630         (gst_base_src_newsegment), (gst_base_src_do_seek),
14631         (gst_base_src_loop), (gst_base_src_start):
14632         * gst/base/gstbasesrc.h:
14633         Make the newsegment event customizable by subclasses.
14634
14635 2005-10-07  Wim Taymans  <wim@fluendo.com>
14636
14637         * gst/gstevent.c: (gst_event_new_buffersize),
14638         (gst_event_parse_buffersize):
14639         * gst/gstevent.h:
14640         New event for future idea.
14641
14642 2005-10-07  Andy Wingo  <wingo@pobox.com>
14643
14644         * gst/gstelement.c (gst_element_post_message): Doc update.
14645
14646         * docs/gst/gstreamer-sections.txt: Update.
14647
14648         * gst/gstmessage.c (gst_message_new_application): Made into a
14649         function like honest API calls.
14650         (gst_message_new_element): New message type.
14651
14652         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
14653
14654         * check/elements/fakesrc.c (test_no_preroll): New check, checks
14655         that setting a live fakesrc to PAUSED returns NO_PREROLL both
14656         times.
14657
14658         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
14659         NO_PREROLL from gst_element_change_state to fall through.
14660
14661 2005-10-07  Wim Taymans  <wim@fluendo.com>
14662
14663         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
14664         (gst_ghost_pad_do_activate_push):
14665         Activating a ghostpad with no internal pad in push mode
14666         is ok.
14667
14668 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14669
14670         * gst/gstobject.h:
14671           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
14672           Fixes compilation on Windows.
14673
14674 2005-10-07  Michael Smith <msmith@fluendo.com>
14675
14676         * tools/gst-inspect.c:
14677           Print out feature and plugin count at the end when printing out
14678           all features.
14679
14680 2005-10-04  Michael Smith <msmith@fluendo.com>
14681
14682         * gst/gsterror.c: (_gst_stream_errors_init):
14683           Add another error string used in a few existing plugins.
14684
14685         * gst/gstplugin.c:
14686         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
14687         * tools/gst-inspect.c: (print_element_info):
14688           When a feature disappears from a plugin (and the feature exists in
14689           the cached registry file), things went horribly wrong. This isn't a
14690           complete fix, we should actually be removing the 'missing' features
14691           from the features list when we load the actual plugin. That's not
14692           yet implemented. 
14693
14694 2005-10-04  Johan Dahlin  <johan@gnome.org>
14695
14696         * check/gst/gstiterator.c: (GST_START_TEST):
14697         * gst/gstbin.c: (gst_bin_iterate_elements),
14698         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
14699         * gst/gstelement.c: (gst_element_iterate_pads):
14700         * gst/gstformat.c: (gst_format_iterate_definitions):
14701         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
14702         (gst_iterator_new_list), (gst_iterator_filter):
14703         * gst/gstiterator.h:
14704         * gst/gstquery.c: (gst_query_type_iterate_definitions):
14705         Add a GType to GstIterator, update callsites and tests.
14706
14707 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14708
14709         * gst/gstpad.c: (gst_pad_event_default_dispatch):
14710           give events a chance to be handled by event probes when the pad
14711           is not linked
14712
14713 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14714
14715         * gst/gstevent.c: (gst_event_type_get_name),
14716         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
14717         * gst/gstevent.h:
14718           add string representations for event types
14719
14720 2005-10-06  Wim Taymans  <wim@fluendo.com>
14721
14722         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
14723         Don't use NULL pointers.
14724
14725 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14726
14727         * gst/gst_private.h:
14728         * gst/gstbus.c:
14729         * gst/gstelement.c:
14730         * gst/gstinfo.c:
14731         * gst/gstpluginfeature.c:
14732           widen the debug category in output to fit the biggest one we have
14733           add a bus category and use it
14734           play with the colors
14735           fix up some categories
14736
14737 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14738
14739         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
14740           add push activation of sink ghost pads.
14741           Andye, please verify
14742
14743 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
14744
14745         * gst/gstutils.c: (gst_element_link_pads):
14746           fix a bug in the case where neither element has a pad
14747         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
14748           add a test for that case
14749
14750 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
14751
14752         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
14753           emit have-data before checking for peers.  This allows
14754           for probe handlers to connect elements.  This helps autopluggers.
14755         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
14756         (gst_pad_suite):
14757           add six checks, linked/unlinked with no/true/false probe
14758
14759 2005-10-04  Wim Taymans  <wim@fluendo.com>
14760
14761         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
14762         (gst_fake_sink_event), (gst_fake_sink_preroll),
14763         (gst_fake_sink_render), (gst_fake_sink_change_state):
14764         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
14765         (gst_fake_src_get_property), (gst_fake_src_create),
14766         (gst_fake_src_stop):
14767         * gst/elements/gstidentity.c: (gst_identity_stop):
14768         Protect last_message with lock.
14769
14770 2005-10-04  Edward Hervey  <edward@fluendo.com>
14771
14772         * gst/gstformat.h: 
14773         Added precision in the comments for GST_FORMAT_DEFAULT
14774
14775 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
14776
14777         * tools/gst-launch.c: (main):
14778           Don't try to run erroneous pipelines.
14779
14780 2005-10-04  Julien MOUTTE  <julien@moutte.net>
14781
14782         * gst/gstbus.c: We don't need this header.
14783
14784 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14785
14786         * configure.ac:
14787           back to development
14788
14789 === release 0.9.3 ===
14790
14791 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14792
14793         * README:
14794         * configure.ac:
14795           Releasing 0.9.3, "Unregistered"
14796
14797 2005-10-03  Andy Wingo  <wingo@pobox.com>
14798
14799         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
14800         whereby calling a pad's activatepush() function can start a thread
14801         that starts to push or pull before the pad gets the FLUSHING flag
14802         unset. Hack around it by holding the stream lock until the flag is
14803         set. Need to replace this with a proper solution. Together with
14804         the ghost pad fixes, this fixes mp3 playing/tagreading.
14805
14806         * docs/design/part-gstghostpad.txt: Add a note about activation of
14807         proxy pads outside of ghost pads.
14808
14809         * gst/gstghostpad.c: Implement the ghost pad activation design.
14810
14811 2005-10-02  Andy Wingo  <wingo@pobox.com>
14812
14813         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
14814         It is volatile, after all.
14815
14816         * docs/design/part-gstghostpad.txt: Flesh out activation with
14817         ghost pads.
14818
14819         * gst/base/gstbasesrc.c (gst_base_src_init): Use
14820         GST_DEBUG_FUNCPTR.
14821
14822 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
14823
14824         * configure.ac:
14825           Fix (unused) AM_CONDITIONAL tests.
14826
14827 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
14828
14829         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
14830
14831         * gst/gstutils.c: (gst_pad_query_convert):
14832           Add assertion that makes sure src_val is >=0, just like
14833           gst_query_new_convert() has. (#315895)
14834
14835 2005-09-30  Edward Hervey  <edward@fluendo.com>
14836
14837         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
14838         Let's not iterate pads we're not interested in, it avoids getting 
14839         sky-high refcounts on sinkpad.
14840
14841 2005-09-30  Wim Taymans  <wim@fluendo.com>
14842
14843         * gst/gstelement.c: (gst_element_set_state),
14844         (gst_element_change_state):
14845         Small tweak, element in ASYNC remains ASYNC.
14846
14847 2005-09-30  Wim Taymans  <wim@fluendo.com>
14848
14849         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
14850         Only error is an error.
14851
14852         * gst/gstbin.c: (gst_bin_change_state):
14853         Better debugging.
14854
14855         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
14856         Also call pad_block in pad alloc.
14857
14858         * gst/gstutils.c: (gst_flow_get_name):
14859         Better debugging.
14860
14861 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
14862
14863         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14864         (gst_base_src_get_range):
14865           Fix documentation typos. Add some more debug info.
14866
14867 2005-09-29  David Schleef  <ds@schleef.org>
14868
14869         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
14870           more end-user friendly.
14871         * tools/gst-inspect.c: (main): Check if command-line argument is
14872           a file and attempt to load that file as a plugin.
14873
14874 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14875
14876         * check/gst/gstbin.c:
14877         * check/states/sinks.c:
14878           fix tests for the new warning
14879         * check/gst/gstpipeline.c:
14880           add a test for pipeline and bus interaction
14881         * gst/gstelement.c:
14882           elements should be NULL if they get disposed; add a warning if not
14883
14884 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14885
14886         * gst/gstobject.c:
14887           for 2.6 refcounting, make debug log more correct by printing
14888           the actual refcounts at the time of swap (Wim)
14889
14890 2005-09-29  Andy Wingo  <wingo@pobox.com>
14891
14892         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
14893         removes signal watches previously added via
14894         gst_bus_add_signal_watch.
14895         (gst_bus_add_signal_watch): Don't return the source id, just store
14896         it on the bus if there wasn't an id already.
14897
14898         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
14899         add_signal_watch and remove_signal_watch.
14900
14901 2005-09-29  Edward Hervey  <edward@fluendo.com>
14902
14903         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
14904         Better if we actually iterate the list :)
14905
14906 2005-09-29  Wim Taymans  <wim@fluendo.com>
14907
14908         * check/gst/gstbin.c: (GST_START_TEST):
14909         Change for new bus API.
14910
14911         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
14912         (send_messages), (GST_START_TEST), (gstbus_suite):
14913         Change for new bus signal API.
14914
14915         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
14916         (gst_bus_source_prepare), (gst_bus_source_check),
14917         (gst_bus_create_watch), (gst_bus_add_watch_full),
14918         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
14919         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
14920         * gst/gstbus.h:
14921         Remove support for multiple GSources operating on different
14922         message types as it is too complex and unneeded when using
14923         signals.
14924         Added support for receiving signals from the bus.
14925
14926 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14927
14928         * docs/libs/tmpl/gstdataprotocol.sgml:
14929         * docs/manual/advanced-dataaccess.xml:
14930         * gst/elements/gstcapsfilter.c:
14931         * gst/gstutils.c:
14932           rename filter-caps to caps property
14933
14934 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
14935
14936         * gst/gstvalue.c: (gst_value_deserialize_fraction):
14937           More robust fraction string parsing.
14938
14939         * docs/pwg/appendix-porting.xml:
14940           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
14941
14942 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
14943
14944         * gst/gstcaps.c: (gst_caps_do_simplify):
14945           Thou shalt not free a structure and then continue using it
14946           in the next loop iteration.
14947
14948         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
14949         (gst_caps_suite):
14950           Add test case for caps simplification.
14951
14952 2005-09-29  Wim Taymans  <wim@fluendo.com>
14953
14954         * check/gst/gstbin.c: (GST_START_TEST):
14955         Oops.
14956
14957 2005-09-29  Wim Taymans  <wim@fluendo.com>
14958
14959         * check/gst/gstbin.c: (GST_START_TEST):
14960         Add bus to bin.
14961
14962         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
14963         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
14964         (find_element), (gst_bin_sort_iterator_next),
14965         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
14966         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
14967         (gst_bin_change_state), (gst_bin_dispose):
14968         A bin does not have a bus, it gets the bus from the parent.
14969
14970         * gst/gstelement.c: (gst_element_requires_clock),
14971         (gst_element_provides_clock), (gst_element_is_indexable),
14972         (gst_element_is_locked_state), (gst_element_change_state),
14973         (gst_element_set_bus_func):
14974         Small cleanups.
14975
14976         * gst/gstpipeline.c: (gst_pipeline_class_init),
14977         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
14978         The pipeline provides a bus.
14979
14980 2005-09-28  Johan Dahlin  <johan@gnome.org>
14981
14982         * gst/gstmessage.c (gst_message_parse_state_changed): Use
14983         gst_structure_get_enum instead of gst_structure_get_int
14984
14985         * gst/gststructure.c (gst_structure_get_enum): Impl.
14986
14987         * gst/gststructure.h (gst_structure_get_enum): Add
14988
14989         * docs/gst/gstreamer-sections.txt: Ditto
14990
14991         * gst/gstmessage.c (gst_message_new_state_changed): Use
14992         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
14993         which does introspection.
14994         Reviewed by Christian Schaller
14995
14996 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
14997
14998         * gst/gstinfo.c: (gst_debug_log_default):
14999           don't do dummy g_strdup()s
15000         * libs/gst/controller/gstcontroller.c:
15001         (on_object_controlled_property_changed),
15002         (gst_controlled_property_new), (gst_controller_new_valist),
15003         (gst_controller_new_list),
15004         (gst_controller_remove_properties_valist), (gst_controller_set),
15005         (gst_controller_get), (gst_controller_sync_values),
15006         (gst_controller_get_value_array), (_gst_controller_class_init),
15007         (gst_controller_get_type):
15008         * libs/gst/controller/gstcontroller.h:
15009         * libs/gst/controller/gstinterpolation.c:
15010         (gst_controlled_property_find_timed_value_node):
15011           convert // to /**/ comments
15012
15013 2005-09-28  Wim Taymans  <wim@fluendo.com>
15014
15015         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
15016         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
15017         (gst_bus_sync_signal_handler):
15018         * gst/gstbus.h:
15019         Added async-message and sync-message signals to the bus.
15020         Added helper BusFunc to emit signals for all posted messages.
15021
15022         * gst/gstmessage.c: (gst_message_type_get_name),
15023         (gst_message_type_to_quark), (gst_message_get_type):
15024         * gst/gstmessage.h:
15025         Register quarks for message names.
15026
15027 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
15028
15029         * docs/libs/gstreamer-libs-sections.txt:
15030         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
15031         (gst_controller_new_list):
15032         * libs/gst/controller/gstcontroller.h:
15033           added another constructor for language bindings
15034
15035 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
15036
15037         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
15038           add another check
15039         * gst/gstbus.c:
15040           add some doc
15041         * gst/gstinfo.c: (_gst_debug_init):
15042           slightly more readable color for refcount debugging
15043
15044 2005-09-28  Wim Taymans  <wim@fluendo.com>
15045
15046         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
15047         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
15048         (find_element), (gst_bin_sort_iterator_next),
15049         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15050         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15051         (gst_bin_change_state), (gst_bin_dispose):
15052         Small doc fixes. get_clock -> provide_clock.
15053
15054         * gst/gstelement.c: (gst_element_class_init),
15055         (gst_element_provides_clock), (gst_element_provide_clock),
15056         (gst_element_get_clock), (gst_element_commit_state),
15057         (gst_element_lost_state):
15058         * gst/gstelement.h:
15059         Make get/set_clock() symetric. Add provide_clock vmethod since
15060         that is actually what this function does.
15061
15062         * gst/gstpipeline.c: (gst_pipeline_class_init),
15063         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
15064         (gst_pipeline_get_clock):
15065         get_clock -> provide_clock.
15066
15067 2005-09-28  Andy Wingo  <wingo@pobox.com>
15068
15069         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
15070         lieu of real docs...
15071
15072         * gst/elements/gstfdsrc.c: Cleaned up a bit.
15073
15074 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
15075
15076         * gst/elements/gstcapsfilter.c:
15077         * gst/elements/gstfakesink.c:
15078         * gst/elements/gstfakesrc.c:
15079         * gst/elements/gstfdsink.c:
15080         * gst/elements/gstfdsrc.c:
15081         * gst/elements/gstfilesink.c:
15082         * gst/elements/gstfilesrc.c:
15083         * gst/elements/gstidentity.c:
15084         * gst/elements/gsttee.c:
15085         * gst/elements/gsttypefindelement.c:
15086           Make element details static.
15087
15088 2005-09-28  Wim Taymans  <wim@fluendo.com>
15089
15090         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
15091         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
15092         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15093         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15094         (gst_bin_change_state), (gst_bin_dispose):
15095         Some documentation updates.
15096         Clean up dispose handlers.
15097
15098         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
15099         * gst/gstpad.c: (gst_pad_dispose):
15100         Clean up dispose handler.
15101
15102         * gst/gstpipeline.c: (gst_pipeline_change_state):
15103         Removed spurious UNLOCK.
15104
15105 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
15106
15107         * docs/gst/gstreamer-sections.txt:
15108         * gst/base/gstbasesrc.h:
15109         * gst/gstelement.h:
15110         * gst/gstevent.h:
15111         * gst/gstobject.h:
15112         * gst/gstpad.h:
15113         * gst/gstpipeline.c:
15114         * gst/gstpipeline.h:
15115         * gst/gstutils.h:
15116         * gst/gstxml.h:
15117           added two new functions to the docs
15118                 documents all undocumented GstXXXFlags
15119                 completed some incomplete docs 
15120
15121 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
15122
15123         * gst/gstbin.c: (gst_bin_dispose):
15124         * gst/gstelement.c: (gst_element_dispose):
15125           remove now useless and leaky resurrection code in dispose
15126         * gst/base/gstbasesrc.c: (gst_base_src_init):
15127         * gst/gstelementfactory.c: (gst_element_factory_create):
15128         * gst/gstobject.c: (gst_object_set_parent):
15129           add some debugging
15130
15131 2005-09-27  Wim Taymans  <wim@fluendo.com>
15132
15133         * docs/design/part-TODO.txt:
15134         Update TODO.
15135
15136         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
15137         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
15138         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15139         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15140         (gst_bin_change_state):
15141         * gst/gstelement.h:
15142         Remove element variable, we keep element info in the iterator now.
15143
15144 2005-09-27  Andy Wingo  <wingo@pobox.com>
15145
15146         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
15147         values.
15148
15149 2005-09-27  Wim Taymans  <wim@fluendo.com>
15150
15151         * check/gst/gstbin.c: (GST_START_TEST):
15152         Enable check that works now.
15153
15154         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
15155         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
15156         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15157         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15158         (gst_bin_change_state):
15159         * gst/gstbin.h:
15160         Redid the state change algorithm using a topological sort algo.
15161         Handles all cases correctly.
15162         Exposed iterator for state change order.
15163
15164         * gst/gstelement.h:
15165         Temp storage for state changes. Need to get rid of this soon.
15166
15167 2005-09-27  Wim Taymans  <wim@fluendo.com>
15168
15169         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
15170         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
15171         (link_fold_func), (gst_pad_proxy_setcaps):
15172         Leak fixes, the fold functions need to unref the passed object and
15173         _get_parent_*() returns ref to parent.
15174
15175 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
15176
15177         * check/gst/gstbuffer.c: (test_make_writable):
15178           Plug leak in test case and fix 'make check-valgrind'
15179
15180 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
15181
15182         * gst/gstbuffer.c: (gst_subbuffer_init):
15183           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
15184           works correctly in all circumstances (we could have just copied
15185           the parent buffer's readonly flag, but conceptually it seems
15186           cleaner to mark all subbuffers as read-only). (based on patch
15187           by Alessandro Decina, #314710).
15188         
15189         * check/gst/gstbuffer.c: (create_read_only_buffer),
15190         (test_make_writable), (test_subbuffer_make_writable),
15191         (gst_test_suite):
15192           Add some tests for gst_buffer_make_writable().
15193
15194 2005-09-27  Wim Taymans  <wim@fluendo.com>
15195
15196         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
15197         use gst_object_has_ancestor().
15198
15199         * gst/gstobject.c: (gst_object_has_ancestor):
15200         * gst/gstobject.h:
15201         gst_object_has_ancestor() copied from gstbin.c as it is a
15202         useful function.
15203
15204         * tests/instantiate/create.c: (create_all_elements):
15205         * tests/lat.c: (handoff_src), (handoff_sink):
15206         * tests/sched/runxml.c: (main):
15207         * tests/seeking/seeking1.c: (main):
15208         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
15209         (main):
15210         Fix compilation of some tests.
15211
15212 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
15213
15214         * gst/gsterror.h:
15215           Remove comment. GST_TYPE_G_ERROR is here to stay,
15216           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
15217           (#316961, #300610).
15218
15219 2005-09-26  Wim Taymans  <wim@fluendo.com>
15220
15221         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
15222         Added check that shows error in state change order.
15223
15224 2005-09-26  Wim Taymans  <wim@fluendo.com>
15225
15226         * gst/gstbin.c: (gst_bin_change_state):
15227         Make state change function use 3 queues again, we were
15228         adding elements in the wrong order.
15229
15230         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
15231         Some debug info,
15232
15233         * gst/gstpad.c: (gst_pad_dispose):
15234         Added some debug info first.
15235
15236 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
15237
15238         * docs/design/draft-push-pull.txt:
15239         * docs/design/part-events.txt:
15240         * docs/design/part-overview.txt:
15241         * docs/design/part-scheduling.txt:
15242           Replace all _pull_region() with _pull_range()
15243           
15244 2005-09-26  Andy Wingo  <wingo@pobox.com>
15245
15246         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
15247
15248         * check/gst-libs/controller.c: Update for controller api change.
15249
15250         * configure.ac: 
15251         * tests/Makefile.am:
15252         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
15253         over by GLib bug 118439.
15254         
15255         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
15256         routines to a function.
15257
15258         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
15259
15260         * libs/gst/controller/gsthelper.c:
15261         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
15262         (gst_object_sync_values): Renamed from sink_values. Ugh.
15263
15264         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
15265
15266         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
15267         Renamed from controller_key, as it is exported.
15268
15269         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
15270
15271 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
15272
15273         * gst/Makefile.am:
15274         * gst/gst.h:
15275         * gst/gstpad.h:
15276         * gst/gstpadtemplate.h:
15277         * gst/gstquery.c:
15278         * gst/gstquery.h:
15279         * gst/gstqueryutils.c:
15280         * gst/gstqueryutils.h:
15281           remove queryutils headers after moving the two used functions
15282           to gstquery.  also fixes build problem for gstsiddec
15283
15284 2005-09-26  Michael Smith <msmith@fluendo.com>
15285
15286         * tools/gst-launch.1.in:
15287         Correct documentation in manpage of debug syntax
15288
15289 2005-09-26  Wim Taymans  <wim@fluendo.com>
15290
15291         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
15292         (gst_base_src_is_seekable), (gst_base_src_change_state):
15293         Some more debugging info.
15294
15295 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
15296
15297         * docs/gst/gstreamer-sections.txt:
15298         * gst/base/gstbasetransform.h:
15299         * gst/gstindex.h:
15300           added more docs
15301
15302 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
15303
15304         * docs/gst/.cvsignore:
15305         * docs/gst/tmpl/.cvsignore:
15306         * docs/gst/tmpl/gstpipeline.sgml:
15307         * docs/gst/tmpl/gstplugin.sgml:
15308         * gst/gstpipeline.c:
15309         * gst/gstplugin.c:
15310         * gst/gstplugin.h:
15311           inlined the last two docs files
15312           removed the tmpl directory from cvs (no more conflicts here!)
15313
15314 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
15315
15316         * docs/gst/gstreamer-sections.txt:
15317         * docs/gst/tmpl/.cvsignore:
15318         * docs/gst/tmpl/gstpad.sgml:
15319         * docs/gst/tmpl/gstpadtemplate.sgml:
15320         * gst/Makefile.am:
15321         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
15322         (gst_pad_finalize), (gst_pad_set_pad_template):
15323         * gst/gstpad.h:
15324         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
15325         (gst_pad_template_class_init), (gst_pad_template_init),
15326         (gst_pad_template_dispose), (name_is_valid),
15327         (gst_static_pad_template_get), (gst_pad_template_new),
15328         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
15329         (gst_pad_template_pad_created):
15330         * gst/gstpadtemplate.h:
15331           inlined two more docs
15332           factored gstpadtemplate out of gstpad
15333
15334 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
15335
15336         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
15337         (test_children_state_change_order_semi_sink):
15338           Fix test case: we can't rely on a fixed state change order when
15339           going from READY => PAUSED because the sink might commit its 
15340           new state first when the first buffer created by the source 
15341           reaches the sink before the source has finished its change state.
15342           (Test case still fails at times, see #316856, comment 5 onwards)
15343
15344 2005-09-24  Wim Taymans  <wim@fluendo.com>
15345
15346         * docs/design/part-events.txt:
15347         * docs/design/part-gstbus.txt:
15348         * docs/design/part-gstpipeline.txt:
15349         * docs/design/part-messages.txt:
15350         * docs/design/part-overview.txt:
15351         * docs/design/part-segments.txt:
15352         * gst/gstbin.c:
15353         * gst/gstbuffer.c:
15354         * gst/gstclock.c:
15355         * gst/gstelement.c:
15356         * gst/gstevent.c:
15357         * gst/gstfilter.c:
15358         * gst/gstiterator.c:
15359         Various documentation updates.
15360
15361 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
15362
15363         * gst/gstclock.h:
15364           Well, that's embarassing.  Luckily we weren't using
15365           GST_CLOCK_DIFF anywhere.
15366
15367 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15368
15369         * common/gtk-doc.mak:
15370           don't fail on building XML, FC4 slave shows a bunch of doc
15371           missing bits that I don't get
15372         * gst/gstpad.c:
15373         * gst/gstpipeline.c:
15374         * gst/gststructure.c:
15375           some doc updates
15376
15377 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
15378
15379         * docs/design/part-gstbin.txt:
15380         * docs/design/part-gstbus.txt:
15381         * gst/gstbus.c:
15382           Add blurb about how the bus goes into flushing mode and
15383           drops all messages when its bin goes from READY into NULL 
15384           state.
15385
15386 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15387
15388         * docs/gst/gstreamer-sections.txt:
15389         * gst/gststructure.c: (gst_structure_get_clock_time):
15390         * gst/gststructure.h:
15391           add a method to get a GstClockTime out of a structure
15392
15393 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
15394
15395         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
15396         (test_children_state_change_order_semi_sink), (gst_bin_suite):
15397           Added test to check state change order in bins (can still be made
15398           to fail here under heavy disk load; bails out with 'Push on pad
15399           fakesink:sink0, but it was not activated in push mode').
15400
15401         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
15402           Fix state change order when there is only a semi sink (#316856)
15403
15404         * gst/gstbus.c: (gst_bus_class_init):
15405           Use _class_peek_parent(), not _class_ref(); fix docs to say
15406           'default main context' instead of 'mainloop' where that is
15407           what's meant.
15408
15409         * gst/gstelement.c: (gst_element_commit_state),
15410         (gst_element_set_state):
15411           Fix typos in debug messages
15412
15413 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15414
15415         * docs/README:
15416         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
15417         * gst/gstpluginfeature.c:
15418         * gst/gstutils.c:
15419           various doc updates
15420         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15421           change an assert into an error until it gets fixed properly
15422
15423 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
15424
15425         * docs/gst/gstreamer-sections.txt:
15426         * docs/gst/tmpl/.cvsignore:
15427         * docs/gst/tmpl/gstelement.sgml:
15428         * docs/gst/tmpl/gstinfo.sgml:
15429         * docs/gst/tmpl/gstobject.sgml:
15430         * gst/gstelement.c:
15431         * gst/gstelement.h:
15432         * gst/gstinfo.c:
15433         * gst/gstinfo.h:
15434         * gst/gstobject.c: (gst_object_class_init):
15435         * gst/gstobject.h:
15436           inlined 3 more biiiig doc files and added some missing docs on the fly
15437
15438 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15439
15440         * check/gst/.cvsignore:
15441         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
15442         * gst/gstregistryxml.c: (load_plugin),
15443         (gst_registry_xml_save_plugin):
15444           put back source in registry.  add checks for find_plugin.
15445         * testsuite/states/bin.c: (assert_state), (empty_bin),
15446         (test_adding_one_element), (main):
15447         * testsuite/states/locked.c: (main):
15448           some compile/run fixes
15449
15450 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15451
15452         * check/gst/gstvalue.c: (GST_START_TEST):
15453           fix leaks in the test itself
15454
15455 2005-09-22  Wim Taymans  <wim@fluendo.com>
15456
15457         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
15458         (gst_base_sink_send_event), (gst_base_sink_peer_query),
15459         (gst_base_sink_query):
15460         Prepare for more accurate position reporting and query
15461         handling.
15462
15463         * gst/gstelement.c: (gst_element_send_event),
15464         (gst_element_set_state):
15465         Add some comment.
15466
15467 2005-09-22  Wim Taymans  <wim@fluendo.com>
15468
15469         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
15470         (gst_query_parse_segment):
15471         * gst/gstquery.h:
15472         More documentation.
15473         Add segment query for future use.
15474
15475 2005-09-22  Wim Taymans  <wim@fluendo.com>
15476
15477         * gst/gstbin.c: (gst_bin_add_func):
15478         Some more debug info.
15479
15480         * gst/gstelement.c: (gst_element_send_event):
15481         Simplify send_event
15482
15483         * gst/gstelement.h:
15484         Don't know how flags got broken.
15485
15486         * gst/gstquery.h:
15487         Added new query.
15488
15489 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
15490
15491         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
15492           Add simplistic test suite for GST_TYPE_DATE serialisation and
15493           deserialisation.
15494
15495 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
15496
15497         * docs/gst/gstreamer-sections.txt:
15498         * gst/gststructure.c: (gst_structure_set_valist),
15499         (gst_structure_get_date):
15500         * gst/gststructure.h:
15501         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
15502         (gst_date_copy), (gst_value_compare_date),
15503         (gst_value_serialize_date), (gst_value_deserialize_date),
15504         (gst_value_transform_date_string),
15505         (gst_value_transform_string_date), (_gst_value_initialize):
15506         * gst/gstvalue.h:
15507           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
15508           bunch of utility functions along with a hack that checks that
15509           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
15510           is required. Part of the grand scheme in #170777.
15511
15512 2005-09-22  Andy Wingo  <wingo@pobox.com>
15513
15514         * gst/gstconfig.h.in: Psych out gtk-doc.
15515
15516         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
15517
15518         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
15519
15520         * tools/gst-inspect.c (print_element_list): Plug some
15521         inconsequential leaks.
15522
15523         * gst/gstregistry.c (gst_registry_get_default): Doc.
15524
15525         * check/gst/gstplugin.c: 
15526         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
15527         * gst/gstelementfactory.c (gst_element_factory_create): 
15528         * gst/gstindexfactory.c (gst_index_factory_create): Update for
15529         refcount changes.
15530
15531         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
15532         (gst_plugin_feature_load): Doc, don't eat refs.
15533
15534         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
15535         (gst_plugin_list_free): Doc.
15536         (gst_plugin_load_file): Doc updates.
15537
15538         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
15539         accessors returning refcounted objects, return a ref.
15540
15541         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
15542         accessor for caps. IDEMPOTENCE. Oh yes.
15543
15544 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
15545
15546         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
15547
15548         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
15549         (_gst_debug_register_funcptr):
15550           Add mutex to serialise access to the hash table with
15551           the function pointer => function name string mapping;
15552           make that hash table static scope (#316809).
15553
15554         * gst/registries/.cvsignore:
15555           Remove left-over file.
15556
15557 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
15558
15559         * docs/pwg/appendix-porting.xml:
15560           And something about newsegment events and caps-on-buffers to
15561           the porting guide (feel free to improve).
15562
15563 2005-09-21  Andy Wingo  <wingo@pobox.com>
15564
15565         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
15566         data and event probes on the same pad.
15567         (test_buffer_probe_once): Test that removing probes from within
15568         the probe functions works.
15569
15570 2005-09-21  Andy Wingo  <wingo@pobox.com>
15571
15572         * check/gst/gstutils.c: New file.
15573         (test_buffer_probe_n_times): A simple buffer probe test. More to
15574         come, foolios.
15575
15576         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
15577         have-data::buffer, not have-data.
15578         (gst_pad_add_event_probe): Likewise for have-data::event.
15579         (gst_pad_add_data_probe): More docs. The part about 'resolving the
15580         peer' isn't quite right yet though.
15581         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
15582         (gst_pad_remove_data_probe): Change to take the guint handler_id
15583         as their arg, not the function+data, which is more glib-like.
15584
15585         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
15586         the signal emission to indicate if the data is a buffer or an
15587         event.
15588         (gst_pad_get_type): Initialize buffer and event quarks.
15589         (gst_pad_class_init): have-data is now a detailed signal, yes it
15590         is.
15591
15592 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
15593
15594         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
15595         * gst/gstutils.c: (gst_util_set_value_from_string),
15596         (gst_util_set_object_arg):
15597           Don't put functional code in g_return_if_fail() or
15598           g_return_val_if_fail() statements, otherwise things will 
15599           break when G_DISABLE_CHECKS is defined during compilation.
15600
15601 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
15602
15603         * docs/gst/tmpl/.cvsignore:
15604         * docs/gst/tmpl/gstvalue.sgml:
15605         * gst/gstvalue.c:
15606         * gst/gstvalue.h:
15607           inlied another one and added  some obvious docs
15608
15609 2005-09-21  Wim Taymans  <wim@fluendo.com>
15610
15611         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
15612         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
15613         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
15614         (gst_fdsrc_get_property), (gst_fdsrc_create):
15615         * gst/elements/gstfdsrc.h:
15616         Properly implement fdsrc. Removed signal and timeout,
15617         better implemented somewhere else.
15618
15619 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
15620
15621         * docs/gst/tmpl/.cvsignore:
15622         * docs/gst/tmpl/gstimplementsinterface.sgml:
15623         * gst/gstinterface.c:
15624           inlined more docs
15625
15626 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
15627
15628         * docs/gst/gstreamer-sections.txt:
15629         * docs/gst/tmpl/.cvsignore:
15630         * docs/gst/tmpl/gstenumtypes.sgml:
15631           remove obsolete doc file
15632
15633 2005-09-21  David Schleef  <ds@schleef.org>
15634
15635         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
15636         little beer, fix a little leak.
15637
15638 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
15639
15640         * docs/gst/gstreamer-docs.sgml:
15641         * docs/gst/gstreamer-sections.txt:
15642         * docs/gst/tmpl/.cvsignore:
15643         * gst/Makefile.am:
15644         * gst/gst.h:
15645         * gst/gstbin.c:
15646         * gst/gstelement.h:
15647         * gst/gstindex.c: (gst_index_class_init):
15648         * gst/gstindex.h:
15649         * gst/gstindexfactory.c: (gst_index_factory_get_type),
15650         (gst_index_factory_class_init), (gst_index_factory_init),
15651         (gst_index_factory_finalize), (gst_index_factory_new),
15652         (gst_index_factory_destroy), (gst_index_factory_find),
15653         (gst_index_factory_create), (gst_index_factory_make):
15654         * gst/gstindexfactory.h:
15655         * gst/gstpluginfeature.c:
15656         * gst/gstpluginfeature.h:
15657         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
15658           more docs inlined, splitted gstindex.{c,h}
15659
15660 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
15661
15662         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
15663           fix a leak
15664
15665 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
15666
15667         * gst/elements/gstfilesink.c: (gst_file_sink_init):
15668           Set sync to FALSE by default.
15669
15670 2005-09-20  Wim Taymans  <wim@fluendo.com>
15671
15672         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
15673         (gst_base_sink_init):
15674         Make sync property settable from subclass.
15675
15676         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
15677         (gst_fake_sink_change_state):
15678         Set sync to FALSE by default.
15679
15680 2005-09-20  Wim Taymans  <wim@fluendo.com>
15681
15682         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
15683         * tools/gst-launch.c: (main):
15684         The timeout handler should have lower priority than the source
15685         so we don't timeout before popping a message with 0 timeout.
15686         Dump error messages after failed state change.
15687
15688 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
15689
15690         * tools/gst-inspect.c: (print_element_properties_info):
15691           Fix two typos.
15692
15693 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
15694
15695         * check/gst/gstevent.c:
15696         * gst/elements/gstfakesink.c:
15697         * gst/elements/gstfakesink.h:
15698           remove the sync property from fakesink.
15699           has the side effect of setting sync TRUE
15700           for fakesink, which is a change.  Anyone who knows how
15701           to fix this nicely in a GObject-y way, feel free.
15702
15703 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
15704
15705         * docs/gst/gstreamer-docs.sgml:
15706           remove probe refsection
15707
15708 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
15709
15710         * check/Makefile.am:
15711           disable valgrinding the controller test again
15712         * docs/gst/gstreamer-sections.txt:
15713           update for api-changes
15714
15715 2005-09-20  Wim Taymans  <wim@fluendo.com>
15716
15717         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
15718         (gst_base_sink_set_property), (gst_base_sink_get_property),
15719         (gst_base_sink_do_sync):
15720         * gst/base/gstbasesink.h:
15721         Added sync property to basesink to disable clock sync.
15722
15723 2005-09-20  Andy Wingo  <wingo@pobox.com>
15724
15725         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
15726         eating the caller's refcount.
15727
15728         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
15729         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
15730         refcount.
15731
15732         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
15733         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
15734         of GLib 2.8 public, so we can know which refcount to check in
15735         tests.
15736
15737         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
15738         (gst_object_init): Only set the gst refcount if we're going ahead
15739         with the refcount hack.
15740
15741 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
15742
15743         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
15744         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
15745           more leaks plumbed, added more debug-logging
15746         * gst/gstmacros.h:
15747           whitespace fix
15748
15749 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
15750
15751         * gst/gstmessage.c:
15752           remove include of gstmemchunk.h
15753
15754 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
15755
15756         * gst/gstclock.c: (_gst_clock_id_free):
15757           Commit from the Political Party For More Atomic CVS Commits,
15758           so that people don't waste too much of their day fishing
15759           out obvious leaks out of massive commits.
15760           Oh, and fix a pretty damn obvious leak in the memchunk
15761           removal code.
15762
15763 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
15764
15765         * check/Makefile.am:
15766         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
15767           plug mem-leak, re-add to valgrindable tests
15768
15769 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
15770
15771         * gst/gstplugin.h:
15772           unbreak the build for those who have chronic arthritis
15773           and typing "make check" is just too taxing on the hands
15774
15775 2005-09-20  Andy Wingo  <wingo@pobox.com>
15776
15777         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
15778         really want it out, you should fix plugins at the same time.
15779
15780 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
15781
15782         * configure.ac:
15783         * docs/gst/gstreamer-sections.txt:
15784         * gst/gstobject.c:
15785           added missing symbols to api docs
15786           disable ref-count hack if we have glib >= 2.8
15787
15788 2005-09-19  David Schleef  <ds@schleef.org>
15789
15790         * docs/gst/Makefile.am: Ignore a few more internal headers
15791         * docs/gst/gstreamer-docs.sgml: Remove old sections
15792         * docs/gst/gstreamer-sections.txt: Remove old sections
15793         * docs/gst/tmpl/gstobject.sgml: update
15794         * docs/gst/tmpl/gstplugin.sgml: update
15795         * docs/gst/tmpl/gstpluginfeature.sgml: update
15796         * docs/random/ds/0.9-suggested-changes: update.
15797         * gst/Makefile.am: remove memchunk and trashstack, since they're
15798           not used.
15799         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
15800         * gst/gst.h: don't include some headers
15801         * gst/gstchildproxy.c: add gstmarshal.h
15802         * gst/gstclock.c: Don't use memchunks
15803         * gst/gstminiobject.c: Add some docs
15804         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
15805         * gst/gstobject.h: same
15806         * gst/gstplugin.c: include gstmacros.h
15807         * gst/gstplugin.h: don't include gstmacros.h, since it's private
15808         * gst/gstquery.c: don't use memchunks
15809         * gst/gstregistry.c: rename gst_registry_deinit()
15810         * gst/gstregistry.h: same
15811
15812 2005-09-19  David Schleef  <ds@schleef.org>
15813
15814         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
15815         * docs/libs/gstreamer-libs-sections.txt:
15816         * docs/libs/tmpl/gstgetbits.sgml:
15817         * docs/libs/tmpl/gstputbits.sgml:
15818
15819 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
15820
15821         * win32/gstenumtypes.c:
15822         * win32/gstenumtypes.h:
15823           Update.
15824
15825 2005-09-19  Wim Taymans  <wim@fluendo.com>
15826
15827         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
15828         Automatically PAUSE and RESUME a pipeline when a flushing seek
15829         is performed.
15830
15831 2005-09-19  Andy Wingo  <wingo@pobox.com>
15832
15833         * gst/gstregistry.h: Spacing fixen.
15834
15835 2005-09-19  Wim Taymans  <wim@fluendo.com>
15836
15837         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
15838         Handle state change failure more correctly.
15839
15840 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15841
15842         * check/Makefile.am:
15843         * check/pipelines/cleanup.c: (run_pipeline):
15844         * check/pipelines/simple_launch_lines.c: (run_pipeline),
15845         (GST_START_TEST):
15846           enable cleanup again after fixing the leak
15847         * docs/README:
15848           some more info on docs
15849
15850 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15851
15852         * check/Makefile.am:
15853           re-enable tests now that leaks are plugged
15854         * check/gst/gst.c:
15855         * check/gst/gstbin.c:
15856         * check/gst/gstpipeline.c:
15857           add some more tests while fixing leaks
15858         * common/check.mak:
15859           make sure binaries are uptodate when valgrinding/gdbing
15860         * gst/gst.c:
15861         * gst/gstelementfactory.c:
15862           remove a ref too many, and add a FIXME for when we get
15863           round to disposing of classes
15864         * gst/gstplugin.c:
15865           fix the refcounting when loading a plugin from a file and
15866           the code pretends that the pointer is the same even though
15867           of course it can change
15868         * gst/gstpluginfeature.c:
15869           unref plugins marked cached (a bit confusing as a name)
15870           as the docs state should be done
15871           various doc additions to explain refcounting
15872         * gst/gstregistry.c:
15873         * gst/gstregistryxml.c:
15874           debugging
15875
15876 2005-09-19  Wim Taymans  <wim@fluendo.com>
15877
15878         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
15879         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
15880         (send_messages), (GST_START_TEST), (gstbus_suite):
15881         * check/gst/gstpipeline.c: (GST_START_TEST):
15882         * check/pipelines/cleanup.c: (run_pipeline):
15883         * check/pipelines/simple_launch_lines.c: (run_pipeline),
15884         (GST_START_TEST):
15885         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
15886         (gst_bus_source_check), (gst_bus_source_dispatch),
15887         (gst_bus_create_watch), (gst_bus_add_watch_full),
15888         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
15889         * gst/gstbus.h:
15890         * tools/gst-launch.c: (event_loop):
15891         * tools/gst-md5sum.c: (event_loop):
15892         GstBusHandler -> GstBusFunc, return value has the same meaning as
15893         any other GSource (FALSE == remove source).
15894         _add_watch() and _add_watch_full() now take a MessageType mask to
15895         only handle specific types of messages.
15896         _poll() returns the GstMessage instead of the message type to avoid
15897         race conditions.
15898         _have_pending() takes a MessageType mask now too.
15899         Added testsuite for multiple bus watches.
15900         Fix testsuites and applications for new bus API.
15901
15902 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15903
15904         * check/Makefile.am:
15905           mark a bunch of the tests as to fix until we fix them
15906
15907 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
15908
15909         * common/check.mak:
15910           use GST_PLUGIN settings for valgrind tests as well, so we're
15911           valgrinding the correct thing
15912         * gst/gst.c: (init_post):
15913           plug another leak
15914
15915 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
15916
15917         * gst/gst.c: (init_post), (gst_deinit):
15918         * gst/gstelementfactory.c: (gst_element_factory_class_init),
15919         (gst_element_factory_finalize), (gst_element_factory_cleanup):
15920         * gst/gstindex.c: (gst_index_factory_class_init),
15921         (gst_index_factory_finalize):
15922         * gst/gstobject.c: (gst_object_dispose):
15923         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
15924         (gst_plugin_load_file), (gst_plugin_desc_free):
15925         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
15926         (gst_plugin_feature_finalize):
15927         * gst/gstregistry.c: (gst_registry_class_init),
15928         (gst_registry_init), (gst_registry_finalize),
15929         (gst_registry_get_default), (gst_registry_deinit):
15930         * gst/gstregistry.h:
15931         * gst/gstregistryxml.c: (load_feature), (load_plugin):
15932           various cleanups and memleak plugging.  make valgrind is happy now.
15933
15934 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
15935
15936         * common/check.mak:
15937           add a check-valgrind target
15938
15939 2005-09-18  David Schleef  <ds@schleef.org>
15940
15941         * tools/gst-inspect.c: Revert the GOption code.
15942
15943 2005-09-17  David Schleef  <ds@schleef.org>
15944
15945         * check/Makefile.am: Fix environment variables.
15946         * check/gst/gstplugin.c: Fix for API changes.
15947         * tools/gst-inspect.c: Fix for API changes.
15948         * tools/gst-xmlinspect.c: Fix for API changes.
15949         * gst/gstelementfactory.c:
15950         * gst/gstplugin.c:
15951         * gst/gstplugin.h:
15952         * gst/gstpluginfeature.c:
15953         * gst/gstpluginfeature.h:
15954         * gst/gstregistry.c:
15955         * gst/gstregistry.h:
15956         * gst/gstregistryxml.c:
15957         * gst/gsttypefind.c:
15958         * gst/gsttypefindfactory.c:
15959         * gst/indexers/gstfileindex.c:
15960         * gst/indexers/gstmemindex.c:
15961         * gst/schedulers/Makefile.am:
15962           Change registry to keep track of both plugins and features,
15963           removing the feature tracking from plugins themselves.
15964
15965 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15966
15967         * check/Makefile.am:
15968         * tools/gst-register.1.in:
15969           remove gst-register
15970
15971 2005-09-15  David Schleef  <ds@schleef.org>
15972
15973         * check/gst/gstplugin.c:
15974         * gst/gstelementfactory.c:
15975         * gst/gstplugin.c:
15976         * gst/gstpluginfeature.c:
15977         * gst/gstregistry.c:
15978           Getting tired of debugging.  Disabled all the unreffing of
15979           plugins and features, which fixes the segfaults, but of
15980           course leaks like crazy.  At least playbin works.
15981
15982 2005-09-15  David Schleef  <ds@schleef.org>
15983
15984         * check/gst/gstplugin.c: (register_check_elements),
15985         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
15986         More testing
15987         * gst/elements/gsttypefindelement.c: Fix refcounting.
15988         * gst/gsttypefind.c:
15989         * gst/gsttypefindfactory.c:
15990         * gst/gsttypefindfactory.h:
15991
15992 2005-09-15  David Schleef  <ds@schleef.org>
15993
15994         * gst/gstindex.c: get refcounting correct.
15995         * gst/gstregistry.c: Handle the case where a feature/plugin is
15996           not found.
15997
15998 2005-09-15  David Schleef  <ds@schleef.org>
15999
16000         * check/Makefile.am:
16001         * check/gst/gstplugin.c: Add test
16002         * gst/gstplugin.c: Fix problems noticed by testsuite
16003         * gst/gstplugin.h:
16004         * gst/gstregistry.c: 
16005         * gst/gstregistry.h:
16006
16007 2005-09-15  David Schleef  <ds@schleef.org>
16008
16009         * gst/gstplugin.c: Implement semi-decent recounting and locking
16010           in plugins and plugin features.
16011         * gst/gstplugin.h:
16012         * gst/gstpluginfeature.c:
16013         * gst/gstpluginfeature.h:
16014         * gst/gstregistry.c:
16015
16016 2005-09-15  Michael Smith <msmith@fluendo.com>
16017
16018         * gst/gstregistry.c: (gst_registry_get_feature_list):
16019           Implement this. Makes oggdemux work; decodebin still broken.
16020
16021 2005-09-14  David Schleef  <ds@schleef.org>
16022
16023         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
16024           #316076)
16025         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
16026         * gst/check/Makefile.am:
16027         * libs/gst/controller/Makefile.am:
16028         * libs/gst/dataprotocol/Makefile.am:
16029
16030 2005-09-14  David Schleef  <ds@schleef.org>
16031
16032         * configure.ac: Remove getbits library.  Nothing uses it, and
16033           it should be in something like liboil if someone did want
16034           to use it.
16035         * libs/gst/Makefile.am:
16036         * libs/gst/getbits/Makefile.am:
16037         * libs/gst/getbits/gbtest.c:
16038         * libs/gst/getbits/getbits.c:
16039         * libs/gst/getbits/getbits.h:
16040         * libs/gst/getbits/gstgetbits_generic.c:
16041         * libs/gst/getbits/gstgetbits_i386.s:
16042         * libs/gst/getbits/gstgetbits_inl.h:
16043
16044 2005-09-14  David Schleef  <ds@schleef.org>
16045
16046         * gst/Makefile.am: Dist glib-compat.h
16047
16048 2005-09-14  David Schleef  <ds@schleef.org>
16049
16050         * configure.ac: Remove gst/registries, since it's no longer used.
16051         * gst/registries/Makefile.am:
16052         * gst/registries/gstlibxmlregistry.c:
16053         * gst/registries/gstlibxmlregistry.h:
16054         * gst/registries/gstxmlregistry.c:
16055         * gst/registries/gstxmlregistry.h:
16056         * gst/registries/registrytest.c:
16057
16058 2005-09-14  David Schleef  <ds@schleef.org>
16059
16060         * gst/glib-compat.h:
16061         * gst/gstregistryxml.c:
16062           Convergence is near.  Seriously.
16063
16064 2005-09-14  David Schleef  <ds@schleef.org>
16065
16066         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
16067         * gst/glib-compat.h:
16068           Attempt #4 to appease the buildbots.
16069
16070 2005-09-14  David Schleef  <ds@schleef.org>
16071
16072         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
16073           Attempt #3.
16074
16075 2005-09-14  David Schleef  <ds@schleef.org>
16076
16077         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
16078         Attempt #2.
16079
16080 2005-09-14  David Schleef  <ds@schleef.org>
16081
16082         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
16083           the new functions.
16084
16085 2005-09-14  David Schleef  <ds@schleef.org>
16086
16087         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
16088         * gst/glib-compat.h: Add some functions that are in newer versions
16089           of glib than we care to require.
16090         * gst/gstregistryxml.c: Use them.
16091
16092 2005-09-14  David Schleef  <ds@schleef.org>
16093
16094         * po/POTFILES.in: remove gst-register.c
16095
16096 2005-09-14  David Schleef  <ds@schleef.org>
16097
16098         * docs/gst/gstreamer-docs.sgml:
16099         * docs/gst/gstreamer-sections.txt:
16100         * docs/gst/gstreamer.types:
16101         * docs/gst/tmpl/gstelement.sgml:
16102         * docs/gst/tmpl/gstplugin.sgml:
16103         * docs/gst/tmpl/gstpluginfeature.sgml:
16104           Documentation updates for registry changes.
16105
16106 2005-09-14  David Schleef  <ds@schleef.org>
16107
16108         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
16109           because we don't require glib-2.8.
16110
16111 2005-09-14  David Schleef  <ds@schleef.org>
16112
16113         * gst/gstregistryxml.c: Added.  Essentially moved out of the
16114           registries directory.
16115
16116 2005-09-14  David Schleef  <ds@schleef.org>
16117
16118         * check/Makefile.am:
16119         * check/generic/states.c:
16120         * gst/Makefile.am:
16121         * gst/gst.c:
16122         * gst/gst.h:
16123         * gst/gst_private.h:
16124         * gst/gstelementfactory.c:
16125         * gst/gstindex.c:
16126         * gst/gstinfo.c:
16127         * gst/gstplugin.c:
16128         * gst/gstplugin.h:
16129         * gst/gstpluginfeature.c:
16130         * gst/gstpluginfeature.h:
16131         * gst/gstregistry.c:
16132         * gst/gstregistry.h:
16133         * gst/gstregistrypool.c: remove
16134         * gst/gstregistrypool.h: remove
16135         * gst/gsttypefind.c:
16136         * gst/gsttypefindfactory.c:
16137         * gst/gsturi.c:
16138         * tools/Makefile.am:
16139         * tools/gst-compprep.c:
16140         * tools/gst-inspect.c:
16141         * tools/gst-register.c: remove
16142         * tools/gst-xmlinspect.c:
16143           Registry rewrite.  Changes registry from being a file created
16144           by a tool into a simple cache file created automatically by 
16145           libgstreamer.  Removed gst-register (because it's no longer
16146           needed).  Remove registry pools, because we only have one
16147           registry implementation (XML).  Fix up other subsystems as
16148           necessary.
16149
16150 2005-09-13  Michael Smith <msmith@fluendo.com>
16151
16152         * gst/gstconfig.h.in:
16153           Don't Use windows linking attributes for MinGW. Fixes #316157
16154
16155 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
16156
16157         * gst/gstutils.c: (set_state_async_thread_func),
16158         (gst_element_set_state_async):
16159           Apparently people think it's better if this function doesn't
16160           try to set the state to whatever state was asked for on the first
16161           call to this function for any object.  Seriously.
16162
16163 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16164
16165         * check/gst/gstpipeline.c: (GST_START_TEST):
16166         * docs/gst/gstreamer-sections.txt:
16167         * gst/gstutils.c: (set_state_async_thread_func),
16168         (gst_element_set_state_async):
16169         * gst/gstutils.h:
16170           add a "gst_element_set_state_async" method that
16171           sets the state and starts a thread to make sure the state
16172           change completes as best as it can
16173
16174 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16175
16176         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
16177           codify design+behaviour in testsuite after discussion
16178
16179 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16180
16181         * docs/gst/tmpl/gstelement.sgml:
16182         * docs/manual/appendix-quotes.xml:
16183           add a quote
16184         * gst/gstelement.c: (gst_element_set_state):
16185           add some debug
16186
16187 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
16188
16189         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
16190         (gst_base_transform_prepare_output_buf),
16191         (gst_base_transform_handle_buffer):
16192         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
16193         (gst_capsfilter_prepare_buf):
16194           Remove the requirement for sub-classes to call the parent
16195           implementation of prepare_output_buffer with a wrapper function.
16196           
16197         * gst/gsttaglist.h:
16198         * gst/gsttagsetter.h:
16199           Fix #define wrapper
16200
16201 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
16202
16203         * docs/gst/gstreamer-sections.txt:
16204           more doc cleanups
16205
16206 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16207
16208         * docs/gst/gstreamer-sections.txt:
16209         * docs/gst/tmpl/gstelement.sgml:
16210         * docs/gst/tmpl/gstplugin.sgml:
16211         * gst/gstminiobject.c:
16212         * gst/gstvalue.h:
16213           docs now stop throwing warnings
16214
16215 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16216
16217         * docs/gst/gstreamer-sections.txt:
16218         * docs/gst/gstreamer.types:
16219         * docs/gst/tmpl/gstpad.sgml:
16220         * docs/gst/tmpl/gsttypes.sgml:
16221         * gst/base/gstadapter.h:
16222         * gst/base/gstbasesink.h:
16223         * gst/base/gstbasesrc.h:
16224         * gst/gstbin.h:
16225         * gst/gstbuffer.h:
16226         * gst/gstbus.h:
16227         * gst/gstcaps.h:
16228         * gst/gstclock.h:
16229         * gst/gstelement.h:
16230         * gst/gstevent.h:
16231         * gst/gstmessage.h:
16232         * gst/gstpad.h:
16233         * gst/gststructure.c:
16234         * gst/registries/gstlibxmlregistry.h:
16235           various documentation fixes
16236
16237 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16238
16239         * docs/gst/gstreamer-sections.txt:
16240         * docs/gst/tmpl/gstvalue.sgml:
16241           rearrange gstvalue section
16242         * gst/gstutils.c: (gst_element_state_get_name):
16243           NONE -> VOID
16244         * gst/gstvalue.c: (_gst_value_initialize):
16245         * gst/gstvalue.h:
16246           doc updates
16247
16248 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
16249
16250         * check/gst-libs/controller.c:
16251           Header include fix.
16252         * gst/base/gstbasetransform.c:
16253         (gst_base_transform_default_prepare_buf),
16254         (gst_base_transform_handle_buffer):
16255         * gst/base/gstbasetransform.h:
16256           Some more basetransform changes and fixes to enable sub-classes
16257           that modify buffer metadata only.
16258         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
16259         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
16260         (gst_capsfilter_prepare_buf):
16261           If the output pad has fixed allowed caps and input buffers 
16262           don't have any, set the fixed caps on outgoing buffers.
16263
16264 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
16265         * check/elements/identity.c: (GST_START_TEST):
16266           Make the error a little clearer when the test fails because
16267           identity made a copy of the buffer.
16268         * docs/gst/gstreamer-sections.txt:
16269           New symbols in gstbasetransform.h
16270         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
16271         (gst_base_transform_init), (gst_base_transform_transform_size),
16272         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
16273         (gst_base_transform_default_prepare_buf),
16274         (gst_base_transform_get_unit_size),
16275         (gst_base_transform_buffer_alloc),
16276         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
16277         (gst_base_transform_change_state),
16278         (gst_base_transform_set_passthrough),
16279         (gst_base_transform_set_in_place),
16280         (gst_base_transform_is_in_place):
16281         * gst/base/gstbasetransform.h:
16282           Change BaseTransform to separate in_place operate from same_caps
16283           output. in_place implies that the element can perform the transform
16284           on incoming buffers in-place, even if the caps on the output are
16285           different.
16286           Sub-class elements can now implement special buffer allocation
16287           methods for outgoing buffers if they wish to.
16288           Big documentation addition.
16289         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
16290         * gst/elements/gstelements.c:
16291           Changes for basetransform modifications.
16292         * gst/elements/Makefile.am:
16293         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
16294           Compile fix. Extra debug output.
16295
16296 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16297
16298         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
16299         (gst_pad_suite):
16300           add tests for valid pad naming
16301         * gst/check/gstcheck.c: (gst_check_log_message_func),
16302         (gst_check_log_critical_func):
16303           add ASSERT_WARNING
16304           remove printing of code, it is fragile when the code contains
16305           % and the line number is enough info
16306         * gst/check/gstcheck.h:
16307         * gst/gstpad.c: (gst_pad_template_new):
16308           fix memleaks
16309
16310 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16311
16312         * configure.ac:
16313           say what CHECK flags we use
16314         * docs/libs/gstreamer-libs.types:
16315         * libs/gst/controller/Makefile.am:
16316         * libs/gst/controller/gst-controller.c:
16317         * libs/gst/controller/gst-controller.h:
16318         * libs/gst/controller/gst-helper.c:
16319         * libs/gst/controller/gst-interpolation.c:
16320         * libs/gst/controller/gstcontroller.c:
16321         * libs/gst/controller/gsthelper.c:
16322         * libs/gst/controller/gstinterpolation.c:
16323         * tools/gst-inspect.c: (print_plugin_info):
16324           we don't use dashes in header names
16325
16326 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16327
16328         * check/Makefile.am:
16329         * check/gst/.cvsignore:
16330         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
16331         (gst_pipeline_suite), (main):
16332           adding a test for pipelines and state changes
16333         * gst/gstutils.c: (get_state_func):
16334           add some debugging
16335         * gstreamer.spec.in:
16336           fix up spec file
16337
16338 2005-09-08  Michael Smith <msmith@fluendo.com>
16339
16340         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
16341         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
16342         (gst_file_src_is_seekable), (gst_file_src_get_size),
16343         (gst_file_src_start):
16344         * gst/elements/gstfilesrc.h:
16345           Various fixes for unseekable, unmmapable, and non-normal files, so
16346           that fallback to read() rather than mmap() works.
16347         * gst/gstevent.c: (gst_event_new_newsegment):
16348           Allow newsegment events with segment_start == segment_end, as will
16349           correctly happen if you use filesrc on a zero-size file, for
16350           example.
16351
16352 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
16353
16354         * gst/gstplugin.c: (gst_plugin_load_file):
16355           Call g_module_close when we don't load the module
16356
16357         * gst/registries/gstlibxmlregistry.c:
16358         (gst_xml_registry_get_property):
16359           Port leak fix from 0.8
16360
16361 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
16362
16363         * docs/gst/gstreamer-docs.sgml:
16364         * docs/gst/tmpl/.cvsignore:
16365         * docs/gst/tmpl/gsttrace.sgml:
16366         * docs/gst/tmpl/gsttrashstack.sgml:
16367         * gst/Makefile.am:
16368         * gst/gst.h:
16369         * gst/gstelement.h:
16370         * gst/gstevent.h:
16371         * gst/gstmessage.c:
16372         * gst/gstmessage.h:
16373         * gst/gsttag.c:
16374         * gst/gsttag.h:
16375         * gst/gsttaginterface.c:
16376         * gst/gsttaginterface.h:
16377         * gst/gsttaglist.c:
16378         * gst/gsttaglist.h:
16379         * gst/gsttagsetter.c:
16380         * gst/gsttagsetter.h:
16381         * gst/gsttrace.c:
16382         * gst/gsttrace.h:
16383         * gst/gsttrashstack.c:
16384           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
16385           inlined docs for gsttrace, gsttrashstack
16386
16387 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
16388
16389         * gst/Makefile.am:
16390         * gst/elements/gstbufferstore.h:
16391         * gst/elements/gsttypefindelement.c:
16392         * gst/elements/gsttypefindelement.h:
16393         * gst/gst.h:
16394         * gst/gsttypefind.c:
16395         * gst/gsttypefind.h:
16396         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
16397         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
16398         (gst_type_find_factory_dispose),
16399         (gst_type_find_factory_unload_thyself),
16400         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
16401         (gst_type_find_factory_get_caps),
16402         (gst_type_find_factory_get_extensions),
16403         (gst_type_find_factory_call_function):
16404         * gst/gsttypefindfactory.h:
16405         * gst/registries/gstlibxmlregistry.c:
16406         * gst/registries/gstxmlregistry.c:
16407           splitted gsttypefind into gsttypefind, gsttypefindfactory
16408
16409 2005-09-07  Andy Wingo  <wingo@pobox.com>
16410
16411         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
16412         condition whereby the pad's task function is entered before the
16413         pad_mode variable was set.
16414
16415 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
16416
16417         * gst/gstpad.c: (gst_pad_alloc_buffer):
16418           Catch misbehaving pad_alloc functions that don't
16419           set up caps and do it for them.
16420
16421 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
16422
16423         * check/pipelines/simple_launch_lines.c: (run_pipeline):
16424           test for pipe!=NULL
16425         * docs/gst/tmpl/.cvsignore:
16426         * docs/gst/tmpl/gstmemchunk.sgml:
16427         * docs/gst/tmpl/gstparse.sgml:
16428         * docs/gst/tmpl/gsttaglist.sgml:
16429         * docs/gst/tmpl/gsttagsetter.sgml:
16430         * docs/gst/tmpl/gsttypefind.sgml:
16431         * docs/gst/tmpl/gsttypefindfactory.sgml:
16432         * gst/gstmemchunk.c:
16433         * gst/gstparse.c:
16434         * gst/gsttag.c:
16435         * gst/gsttaginterface.c:
16436         * gst/gsttypefind.c:
16437         * gst/gsttypefind.h:
16438           inlined more docs
16439
16440 === release 0.9.2 ===
16441
16442 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
16443
16444         * NEWS:
16445         * RELEASE:
16446         * configure.ac:
16447           releasing 0.9.2, "South"
16448
16449 2005-09-05  Andy Wingo  <wingo@pobox.com>
16450
16451         * gst/registries/gstxmlregistry.h:
16452         * gst/registries/gstxmlregistry.c: Um... resurrect...
16453         
16454         * gst/registries/gstxmlregistry.h:
16455         * gst/registries/gstxmlregistry.c: and update to newer API.
16456         Incidentally they should be a bit faster now that they don't have
16457         to parse the caps.
16458         
16459 2005-09-05  Andy Wingo  <wingo@pobox.com>
16460
16461         * gst/registries/gstxmlregistry.h:
16462         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
16463         replaced by the libxml registry a while back
16464
16465 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
16466
16467         * docs/gst/tmpl/gstplugin.sgml:
16468         * gst/elements/gstelements.c:
16469         * gst/gst.c:
16470         * gst/gstplugin.c: (gst_plugin_register_func),
16471         (gst_plugin_desc_copy), (gst_plugin_desc_free),
16472         (gst_plugin_get_source):
16473         * gst/gstplugin.h:
16474         * gst/registries/gstlibxmlregistry.c: (load_plugin),
16475         (gst_xml_registry_save_plugin):
16476         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
16477         (gst_xml_registry_save_plugin):
16478         * tools/gst-inspect.c: (print_plugin_info):
16479           add a "source" plugin description field, to represent the source
16480           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
16481           will set it to PACKAGE, which is automake's idea of the name of
16482           the source project.
16483
16484 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
16485
16486         * Makefile.am:
16487         * autogen.sh:
16488         * configure.ac:
16489         * docs/Makefile.am:
16490         * docs/faq/Makefile.am:
16491         * docs/gst/tmpl/gstelement.sgml:
16492         * docs/gst/tmpl/gsttypes.sgml:
16493         * docs/htmlinstall.mak:
16494         * docs/manual/Makefile.am:
16495         * docs/pwg/Makefile.am:
16496           reorganize doc build a little
16497           split out docbook and gtk-doc stuff
16498           have two separate --enable's and enable them through autogen
16499           but disable by default in configure (to be similar to other
16500           projects)
16501         * gstreamer.spec.in:
16502           clean up docs install
16503         * po/af.po:
16504         * po/az.po:
16505         * po/ca.po:
16506         * po/cs.po:
16507         * po/de.po:
16508         * po/en_GB.po:
16509         * po/fr.po:
16510         * po/it.po:
16511         * po/nb.po:
16512         * po/nl.po:
16513         * po/ru.po:
16514         * po/sq.po:
16515         * po/sr.po:
16516         * po/sv.po:
16517         * po/tr.po:
16518         * po/uk.po:
16519         * po/vi.po:
16520           translation updates
16521
16522 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
16523
16524         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
16525           Add comment.
16526           
16527         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
16528         (gst_fake_sink_change_state):
16529           Make state change function thread-safe.
16530           
16531         * gst/gstpad.c: (gst_pad_alloc_buffer):
16532           Set offset on generic buffer allocated by fallback.
16533
16534 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
16535
16536         * docs/gst/gstreamer-sections.txt:
16537         * docs/gst/tmpl/gstelement.sgml:
16538         * gst/gstpad.c:
16539         * libs/gst/controller/gst-controller.c:
16540         (gst_controlled_property_set_interpolation_mode),
16541         (gst_controlled_property_new),
16542         (gst_controller_find_controlled_property):
16543          run the wingo-magic script against the docs
16544
16545 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
16546
16547         * docs/gst/gstreamer-docs.sgml:
16548         * docs/gst/gstreamer-sections.txt:
16549         * docs/gst/tmpl/.cvsignore:
16550         * docs/gst/tmpl/gstelementdetails.sgml:
16551         * docs/gst/tmpl/gstelementfactory.sgml:
16552         * gst/gst.c:
16553         * gst/gstbus.c:
16554         * gst/gstelementfactory.c:
16555         * gst/gstelementfactory.h:
16556           merged elementdetails docs into elementfactory docs
16557           inlined both
16558
16559 2005-09-02  Andy Wingo  <wingo@pobox.com>
16560
16561         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
16562         consider this enum an enum and not a flags.
16563
16564 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
16565
16566         * docs/gst/gstreamer-docs.sgml:
16567         * docs/gst/tmpl/.cvsignore:
16568         * docs/gst/tmpl/gstghostpad.sgml:
16569         * docs/gst/tmpl/gstiterator.sgml:
16570         * docs/gst/tmpl/gstmacros.sgml:
16571         * docs/gst/tmpl/gstrealpad.sgml:
16572         * docs/gst/tmpl/gstregistry.sgml:
16573         * docs/gst/tmpl/gstregistrypool.sgml:
16574         * docs/gst/tmpl/gststructure.sgml:
16575         * docs/gst/tmpl/gstsystemclock.sgml:
16576         * docs/gst/tmpl/gsttrace.sgml:
16577         * gst/gstghostpad.c:
16578         * gst/gstmacros.h:
16579         * gst/gstmemchunk.c:
16580         * gst/gstmemchunk.h:
16581         * gst/gstqueue.c:
16582         * gst/gstregistry.c:
16583         * gst/gstregistrypool.c:
16584         * gst/gststructure.c:
16585         * gst/gstsystemclock.c:
16586           more docs inlined
16587
16588 2005-09-02  Andy Wingo  <wingo@pobox.com>
16589
16590         * gst/gstelement.h (GstState): Renamed from GstElementState,
16591         changed to be a normal enum instead of flags.
16592         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
16593         munged to be GST_STATE_CHANGE_*.
16594         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
16595         work with the new state representation.
16596         (GstStateChange): New enumeration of possible state transitions.
16597         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
16598         (GstElementClass::change_state): Pass the GstStateChange along as
16599         an argument. Helps language bindings, so they don't have to use
16600         tricky lock-needing macros like GST_STATE_CHANGE ().
16601
16602         * scripts/update-states (file): New script. Run it on a file to
16603         update it for state naming and API changes. Updates files in
16604         place.
16605
16606         * All files updated for the new API.
16607
16608 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16609
16610         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
16611         * gst/gstutils.c: (gst_util_set_value_from_string),
16612         (gst_util_set_object_arg):
16613           fix a bunch of unchecked return values
16614         * tools/gst-complete.c: (main):
16615         * gstreamer.spec.in:
16616           clean up a little
16617
16618 2005-09-01  Wim Taymans  <wim@fluendo.com>
16619
16620         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16621         (gst_base_sink_event), (gst_base_sink_do_sync),
16622         (gst_base_sink_handle_event):
16623         * gst/base/gstbasesink.h:
16624         Handle newsegments more correctly.
16625
16626         * gst/gstbus.c:
16627         Fix docs.
16628
16629         * gst/gstevent.c: (gst_event_new_newsegment):
16630         A newsegment cannot have a start_time of -1
16631
16632 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
16633
16634         * win32/gstenumtypes.c:
16635         * win32/gstenumtypes.h:
16636           Update
16637
16638 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
16639
16640         * libs/gst/controller/gst-controller.c:
16641         (gst_controlled_property_set_interpolation_mode),
16642         (gst_controlled_property_new):
16643          fixed boolean again
16644
16645 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
16646
16647         * docs/faq/gst-uninstalled:
16648           add -good
16649         * gst/gstevent.c:
16650         * gst/gstevent.h:
16651           remove wrong docs
16652         * gst/gstutils.c: (gst_element_link_filtered):
16653         * gst/gstutils.h:
16654           add gst_element_link_filtered
16655
16656 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
16657
16658         * docs/gst/gstreamer-docs.sgml:
16659         * docs/gst/gstreamer-sections.txt:
16660         * docs/gst/tmpl/.cvsignore:
16661         * docs/gst/tmpl/gsterror.sgml:
16662         * docs/gst/tmpl/gstfilter.sgml:
16663         * docs/gst/tmpl/gsturihandler.sgml:
16664         * docs/gst/tmpl/gsturitype.sgml:
16665         * docs/gst/tmpl/gstutils.sgml:
16666         * docs/gst/tmpl/gstxml.sgml:
16667         * gst/gsterror.c:
16668         * gst/gsterror.h:
16669         * gst/gstfilter.c:
16670         * gst/gsturi.c:
16671         * gst/gsturitype.c:
16672         * gst/gstutils.c:
16673         * gst/gstxml.c:
16674           inlined more docs, fixed double id-ref
16675
16676 2005-08-31  Wim Taymans  <wim@fluendo.com>
16677
16678         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
16679         (gst_base_transform_handle_buffer):
16680         Passthrough elements don't need the caps as they don't care.
16681
16682 2005-08-31  Wim Taymans  <wim@fluendo.com>
16683
16684         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
16685         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
16686         Don't leak refcounts on buffers.
16687
16688 2005-08-31  Wim Taymans  <wim@fluendo.com>
16689
16690         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
16691         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
16692         (gst_base_transform_chain), (gst_base_transform_change_state):
16693         * gst/base/gstbasetransform.h:
16694         Handle the case where we are not negotiated more gracefully.
16695
16696 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
16697
16698         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
16699         (gst_file_src_map_region):
16700           Set READONLY flag on mmap'ed buffers, otherwise
16701           gst_buffer_make_writable() won't work properly (#314708).
16702
16703 2005-08-31  Wim Taymans  <wim@fluendo.com>
16704
16705         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
16706         passthrough elements can even do inplace on non writable
16707         buffers (as they don't touch them).
16708
16709 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
16710
16711         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
16712         (gst_test_mono_source_set_property),
16713         (gst_test_mono_source_class_init), (GST_START_TEST),
16714         (gst_controller_suite):
16715           more tests (hehe I have the most)
16716         * gst/gstbus.c:
16717           describe popping messages whenusing mulltiple sources
16718         * libs/gst/controller/gst-controller.c:
16719         (gst_controlled_property_set_interpolation_mode),
16720         (gst_controlled_property_new):
16721         * libs/gst/controller/gst-controller.h:
16722         * libs/gst/controller/gst-interpolation.c:
16723           implement boolean properties
16724
16725 2005-08-31  Wim Taymans  <wim@fluendo.com>
16726
16727         * gst/gstminiobject.c: (gst_mini_object_ref):
16728         Cannot assert that the refcount has to be positive
16729         since a disposed object can be resurrected.
16730
16731 2005-08-31  Wim Taymans  <wim@fluendo.com>
16732
16733         * gst/gstpad.c: (gst_pad_init):
16734         Revert change, need to first fix badly behaving 
16735         apps.
16736
16737 2005-08-30  Wim Taymans  <wim@fluendo.com>
16738
16739         * check/elements/fakesrc.c: (setup_fakesrc):
16740         * check/elements/identity.c: (setup_identity):
16741         Activate pads before using them.
16742
16743 2005-08-30  Wim Taymans  <wim@fluendo.com>
16744
16745         * gst/base/gstadapter.c: (gst_adapter_flush):
16746         Flushing out 0 bytes is ok for this function.
16747
16748         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16749         no newsegment gives a warning and sets the start/stop to 
16750         invalid.
16751
16752         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
16753         (gst_base_transform_set_passthrough):
16754         Some debug info.
16755
16756         * gst/gstminiobject.c: (gst_mini_object_ref):
16757         Check refcount here too.
16758
16759         * gst/gstpad.c: (gst_pad_init):
16760         Pads are initially flushing and refusing data.
16761
16762         * gst/gstutils.c: (gst_element_link_pads_filtered):
16763         When adding a capsfilter element make sure it has the
16764         same state as the parent bin.
16765
16766 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
16767
16768         * docs/gst/tmpl/.cvsignore:
16769         * docs/gst/tmpl/gstformat.sgml:
16770         * docs/gst/tmpl/gstversion.sgml:
16771         * gst/gstbus.h:
16772         * gst/gstformat.c:
16773         * gst/gstformat.h:
16774         * gst/gstversion.h.in:
16775           more docs and two more inlined
16776
16777 2005-08-30  Wim Taymans  <wim@fluendo.com>
16778
16779         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
16780         Don't sync to clock.
16781
16782 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
16783
16784         * docs/gst/gstreamer-sections.txt:
16785           ultral33t func10ns deserve to appear in the docs actually
16786         * docs/gst/tmpl/.cvsignore:
16787         * docs/gst/tmpl/gstcompat.sgml:
16788         * docs/gst/tmpl/gstconfig.sgml:
16789         * gst/check/gstcheck.c:
16790         * gst/gstcompat.h:
16791         * gst/gstconfig.h.in:
16792           inlined more docs
16793
16794 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
16795
16796         * docs/gst/tmpl/.cvsignore:
16797         * docs/gst/tmpl/gstquery.sgml:
16798         * docs/gst/tmpl/gstutils.sgml:
16799         * gst/gstquery.c:
16800         * gst/gstquery.h:
16801           inlined and extended docs
16802
16803 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
16804
16805         * check/gst-libs/controller.c: (GST_START_TEST),
16806         (gst_controller_suite):
16807           more tests
16808         * docs/gst/tmpl/gstutils.sgml:
16809         * docs/libs/gstreamer-libs-sections.txt:
16810         * docs/libs/tmpl/gstdataprotocol.sgml:
16811           include path fixes
16812         * examples/controller/audio-example.c: (main):
16813           controller example works now
16814         * gst/gstclock.h:
16815           doc fixes
16816         * tools/gst-inspect.c: (print_element_properties_info):
16817           show param spec flags
16818
16819 2005-08-29  Andy Wingo  <wingo@pobox.com>
16820
16821         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
16822
16823 2005-08-28  Andy Wingo  <wingo@pobox.com>
16824
16825         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
16826         as having two arguments instead of just one. Allows superclasses
16827         to access information on subclasses -- see the terrible for() loop
16828         in gtype.c:g_type_create_instance for the reason why. All callers
16829         changed.
16830
16831 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
16832
16833         * docs/design/part-messages.txt:
16834           update info
16835         * docs/gst/tmpl/.cvsignore:
16836         * docs/gst/tmpl/gstcaps.sgml:
16837         * docs/gst/tmpl/gstclock.sgml:
16838         * gst/gstbus.c:
16839         * gst/gstcaps.c:
16840         * gst/gstcaps.h:
16841         * gst/gstclock.c:
16842         * gst/gstclock.h:
16843         * gst/gstmessage.c:
16844           added descriptions for bus and message
16845           inline caps and clock docs
16846
16847 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
16848
16849         * gst/gstmessage.c:
16850         * gst/gstmessage.h:
16851           doc fixes
16852
16853 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
16854
16855         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
16856           fix div-by-zero
16857
16858 2005-08-26  Andy Wingo  <wingo@pobox.com>
16859
16860         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
16861         element_set_state's return val.
16862         (test_2_elements): Add test that's been disabled for months.
16863
16864         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
16865         can-activate-pull properties.
16866
16867         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
16868         can-activate-pull properties. Implement is_seekable so fakesrc can
16869         operate in pull mode.
16870
16871         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
16872         properties.
16873         (gst_base_sink_activate, gst_base_sink_activate_pull)
16874         (gst_base_sink_activate_push): Make activation mode choosing work.
16875         Cleanups.
16876         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
16877         is right. Make pull mode work. Post an eos before pausing in pull
16878         mode.
16879         (gst_base_sink_change_state): Pay attention to the core's
16880         change_state() return val.
16881         
16882         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
16883         has-getrange properties. Cleanups.
16884         
16885         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
16886         has_getrange and replace with can_activate_pull and
16887         can_activate_push.
16888
16889         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
16890         locking comments. Remove has_loop, has_chain and replace with
16891         can_activate_pull and can_activate_push.
16892
16893 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
16894
16895         * configure.ac:
16896         * examples/Makefile.am:
16897         * examples/metadata/Makefile.am:
16898         * examples/metadata/read-metadata.c: (message_loop),
16899         (have_pad_handler), (make_pipeline), (print_tag), (main):
16900           Add metadata reading example that loops over a list of filenames,
16901           dumping any tags found.
16902
16903         * gst/gstbus.c: (gst_bus_dispose):
16904         * gst/gstelement.c: (gst_element_dispose):
16905           Release a few potentially-held references in dispose.
16906
16907 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
16908
16909         * docs/gst/tmpl/gstminiobject.sgml:
16910           do *not* add tmpl/*.sgml files to CVS!
16911
16912 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
16913
16914         * libs/gst/bytestream/.cvsignore:
16915         * libs/gst/bytestream/Makefile.am:
16916         * libs/gst/bytestream/adapter.c:
16917         * libs/gst/bytestream/adapter.h:
16918         * libs/gst/bytestream/bytestream.c:
16919         * libs/gst/bytestream/bytestream.h:
16920         * libs/gst/bytestream/filepad.c:
16921         * libs/gst/bytestream/filepad.h:
16922           removing obsolete files
16923
16924 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
16925
16926         * docs/gst/gstreamer-docs.sgml:
16927         * docs/libs/gstreamer-libs-docs.sgml:
16928           disabed additional index entries again, as this makes docs-gen just
16929           slow and they aren't useful yet
16930         * docs/libs/gstreamer-libs-sections.txt:
16931           little -section.txt cleanup for libs
16932
16933 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
16934
16935         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16936         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
16937           fix up some debugging
16938         (gst_base_transform_get_unit_size),
16939         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
16940         (gst_base_transform_handle_buffer):
16941         * gst/base/gstbasetransform.h:
16942           handle and store timed NEWSEGMENT events so that subclasses that
16943           calculate time by counting samples have a segment_start time they
16944           need to add to their timestamps - see audioresample
16945
16946 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
16947
16948         * gst/gstbin.h:
16949           removed ';' from the end of macro defs
16950         * docs/gst/gstreamer-docs.sgml:
16951         * docs/gst/gstreamer-sections.txt:
16952         * docs/gst/tmpl/.cvsignore:
16953         * gst/gstbus.h:
16954         * gst/gstelement.c: (gst_element_class_init),
16955         (gst_element_set_state), (activate_pads),
16956         (gst_element_save_thyself):
16957         * gst/gstevent.c: (gst_event_new_newsegment):
16958         * gst/gstevent.h:
16959         * gst/gstiterator.c:
16960         * gst/gstiterator.h:
16961         * gst/gstpad.c:
16962         * gst/gstprobe.h:
16963         * gst/gstutils.c: (gst_pad_query_convert):
16964         * gst/gstutils.h:
16965           fixed parameter name mismatches between source, header and docs
16966           added some more docs, resolved the last batch of unused elements in
16967           docs (now someone needs to doc them)
16968
16969 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
16970
16971         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
16972         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
16973           don't walk through the plugins backwards.  Where is all this
16974           reversed logic coming from ?
16975
16976 2005-08-25  Wim Taymans  <wim@fluendo.com>
16977
16978         * gst/base/gstbasetransform.c: (gst_base_transform_init),
16979         (gst_base_transform_transform_size),
16980         (gst_base_transform_configure_caps),
16981         (gst_base_transform_get_unit_size),
16982         (gst_base_transform_buffer_alloc),
16983         (gst_base_transform_change_state):
16984         * gst/base/gstbasetransform.h:
16985         Cache caps unit_size.
16986         Make sure we cannot negotiate up and downstream at the
16987         same time.
16988
16989 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
16990
16991         * gst/gst.c: (init_pre), (init_post):
16992           register the installed plugin path after the env var
16993         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
16994         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
16995           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
16996           directories, so the tests can prefer uninstalled over installed
16997
16998 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
16999
17000         * gst/base/gstbasetransform.h:
17001           comment
17002         * gst/gstpad.c:
17003           add to docs
17004
17005 2005-08-25  Wim Taymans  <wim@fluendo.com>
17006
17007         * gst/gstbin.c: (bin_bus_handler):
17008         Be a bit more conservative about the posted message.
17009         
17010         * gst/gstbus.c: (gst_bus_post):
17011         Some cleanups, warn wrong return values.
17012
17013 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
17014
17015         * check/gst/gstbin.c: (GST_START_TEST):
17016         * gst/gstbin.c: (bin_bus_handler):
17017         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
17018         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
17019         (gst_message_new_warning), (gst_message_new_tag),
17020         (gst_message_new_state_changed), (gst_message_new_segment_start),
17021         (gst_message_new_segment_done), (gst_message_new_custom):
17022         * gst/gstmessage.h:
17023         * tools/gst-launch.c: (event_loop):
17024         * tools/gst-md5sum.c: (event_loop):
17025           Revert unpopular change for GST_MESSAGE_SRC to GObject.
17026
17027 2005-08-25  Wim Taymans  <wim@fluendo.com>
17028
17029         * check/generic/states.c: (GST_START_TEST):
17030         Cleanup can be done at the end.
17031
17032         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
17033         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
17034         (gst_task_get_state), (gst_task_start), (gst_task_pause):
17035         Oh boy.. Thanks for finding this, Thomas. 
17036
17037 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
17038
17039         * docs/gst/gstreamer.types:
17040           added missing types
17041
17042 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
17043
17044         * docs/gst/gstreamer-docs.sgml:
17045         * docs/gst/gstreamer-sections.txt:
17046         * docs/gst/tmpl/.cvsignore:
17047         * gst/gstbin.c:
17048         * gst/gstiterator.c:
17049         * gst/gstutils.c:
17050         * gst/registries/gstxmlregistry.h:
17051           added missing classes and symbols (123 more to go)
17052           removed removed symbols from section file
17053           fixed many doc-comments
17054
17055 2005-08-24  Wim Taymans  <wim@fluendo.com>
17056
17057         * check/generic/states.c: (GST_START_TEST):
17058         Make sure all tasks are stopped.
17059
17060         * check/gst/gstbin.c: (GST_START_TEST):
17061         Unref after usage for proper valgrinding.
17062
17063         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
17064         Really wait for the task to stop before destroying the
17065         mutex.
17066
17067         * gst/gstqueue.c: (gst_queue_sink_activate_push),
17068         (gst_queue_src_activate_push):
17069         Small cleanups. Don't stop the task when we did not start
17070         it.
17071
17072         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
17073         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
17074         (gst_task_get_state), (gst_task_start), (gst_task_pause),
17075         (gst_task_join):
17076         * gst/gsttask.h:
17077         Protect the stream lock with the object lock.
17078         Disallow setting the stream lock when running.
17079         Add cleanup_all to wait for the threadpool to finish.
17080         Remove code to autoallocate a mutex if none was provided.
17081         Add _join() to wait for a task to stop.
17082         Protect the thread pool with a global lock.
17083
17084 2005-08-24  Wim Taymans  <wim@fluendo.com>
17085
17086         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17087         (gst_base_sink_get_times), (gst_base_sink_do_sync),
17088         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
17089         * gst/base/gstbasesink.h:
17090         Handle newsegment events correctly.
17091         Drop buffers out of the segment range.
17092
17093 2005-08-22  Andy Wingo  <wingo@pobox.com>
17094
17095         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
17096         macro, implements an interface and gstimplementsinterface for a
17097         new type.
17098
17099 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
17100
17101         * check/Makefile.am:
17102         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
17103           add a test that does a bunch of state changes on elements
17104           needs some fixing for valgrind
17105         * check/states/sinks.c: (gst_object_suite):
17106           whitespace
17107         * gst/gstcaps.h:
17108           add prototype for gst_caps_is_equal_fixed
17109         * gst/gstplugin.c:
17110         * gst/gstregistrypool.c:
17111           doc fixes
17112
17113 2005-08-24  Andy Wingo  <wingo@pobox.com>
17114
17115         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
17116         convert a negative value. Doesn't make much sense. Mostly this is
17117         here to force callers to ensure -1 maps to -1.
17118
17119 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
17120
17121         * docs/pwg/advanced-types.xml:
17122           Well done to Michael for catching my deliberate introduction
17123           of this spelling mistake. 
17124         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
17125         * gst/gstelement.h:
17126           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
17127           unlink pads before removing the element from the bin.
17128
17129 2005-08-24  Andy Wingo  <wingo@pobox.com>
17130
17131         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
17132         the same thing as GST_DEBUG=*:4.
17133         (parse_debug_level, parse_debug_category): New helper parsers.
17134
17135 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
17136
17137         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
17138         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
17139         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
17140         (gst_base_transform_buffer_alloc),
17141         (gst_base_transform_handle_buffer):
17142           use gboolean return values and pointers to size so we can use the
17143           full GST_BUFFER_SIZE range (guint) for buffer sizes
17144           use GstPadDirection for transform_caps
17145         * gst/base/gstbasetransform.h:
17146           rename get_size to get_unit_size since that's what it is
17147         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
17148           use GstPadDirection for transform_caps
17149         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
17150         * gst/gstutils.h:
17151           cleanup and debugging
17152
17153 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
17154
17155         * gst/gstelement.c: (gst_element_class_init),
17156         (gst_element_set_state), (activate_pads),
17157         (gst_element_save_thyself):
17158         * tools/gst-compprep.c: (main):
17159         * tools/gst-inspect.c: (print_element_properties_info):
17160         * tools/gst-xmlinspect.c: (print_element_properties):
17161           Fixed long standing mem-leak
17162
17163 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
17164
17165         * check/gst/gstbin.c: (GST_START_TEST):
17166         * gst/gstbin.c: (bin_bus_handler):
17167         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
17168         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
17169         (gst_message_new_warning), (gst_message_new_tag),
17170         (gst_message_new_state_changed), (gst_message_new_segment_start),
17171         (gst_message_new_segment_done), (gst_message_new_custom):
17172         * gst/gstmessage.h:
17173         * tools/gst-launch.c: (event_loop):
17174         * tools/gst-md5sum.c: (event_loop):
17175           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
17176           that applications can sensibly post custom messages with references
17177           to their own objects.
17178
17179 2005-08-24  Andy Wingo  <wingo@pobox.com>
17180
17181         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
17182         already.
17183
17184 2005-08-24  Wim Taymans  <wim@fluendo.com>
17185
17186         * gst/base/gstbasetransform.c: (gst_base_transform_init),
17187         (gst_base_transform_transform_caps),
17188         (gst_base_transform_transform_size),
17189         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
17190         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
17191         (gst_base_transform_handle_buffer):
17192         * gst/base/gstbasetransform.h:
17193         Many fixes and new features added by Thomas. Can now also do
17194         transforms with variable sizes and a custom fixate_caps function.
17195
17196 2005-08-24  Wim Taymans  <wim@fluendo.com>
17197
17198         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
17199         Some debugging.
17200
17201         * gst/gstclock.h:
17202         Cast to ClockTime before formatting to time.
17203
17204         * gst/gstutils.h:
17205         Cleanups.
17206
17207 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
17208
17209         * check/gst-libs/controller.c: (GST_START_TEST),
17210         (gst_controller_suite):
17211         * docs/gst/tmpl/gstcaps.sgml:
17212         * docs/gst/tmpl/gstghostpad.sgml:
17213         * docs/gst/tmpl/gstquery.sgml:
17214         * docs/gst/tmpl/gstutils.sgml:
17215         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
17216         (gst_object_sink_values), (gst_object_get_value_arrays),
17217         (gst_object_get_value_array):
17218           gracefully handle helper method calls to objects that are not beeing
17219           controlled, added test case for that          
17220
17221 2005-08-23  Wim Taymans  <wim@fluendo.com>
17222
17223         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
17224         (gst_event_new_newsegment), (gst_event_parse_newsegment),
17225         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
17226         (gst_event_parse_qos), (gst_event_new_seek),
17227         (gst_event_parse_seek):
17228         * gst/gstevent.h:
17229         Some more debugging output and doc cleanups.
17230
17231         * gst/gstqueue.c: (gst_queue_handle_sink_event):
17232         Fix possible deadlock.
17233
17234 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
17235
17236         * docs/gst/gstreamer-docs.sgml:
17237         * docs/gst/gstreamer-sections.txt:
17238         * docs/gst/gstreamer.types:
17239         * docs/gst/tmpl/.cvsignore:
17240         * gst/gstbin.h:
17241         * gst/gstbus.c:
17242         * gst/gstelement.c:
17243         * gst/gstevent.h:
17244           added 100 symbols from gstreamer-unused.txt to the right sections
17245           fixed more broken comments
17246           added GstBus to docs
17247
17248 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
17249
17250         * docs/gst/gstreamer-sections.txt:
17251         * docs/gst/tmpl/.cvsignore:
17252         * docs/gst/tmpl/gstbin.sgml:
17253         * docs/gst/tmpl/gstbuffer.sgml:
17254         * gst/base/gstbasesrc.c:
17255         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
17256         * gst/gstbuffer.c:
17257         * gst/gstbuffer.h:
17258         * tools/gst-launch.1.in:
17259           inlined more doc comments, added missing comments and fixed comments
17260           fixed typos
17261
17262 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
17263
17264         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
17265           some debugging
17266         * gst/gstcaps.h:
17267           whitespace fixes
17268         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
17269           more debugging
17270         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
17271         * gst/gststructure.h:
17272           add a fixate function for booleans; add a FIXME that these func
17273           names should probably be gst_structure_fixate_*
17274
17275 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
17276
17277         * docs/gst/gstreamer-docs.sgml:
17278         * docs/gst/gstreamer-sections.txt:
17279         * gst/Makefile.am:
17280         * gst/gstbin.c: (gst_bin_get_type),
17281         (gst_bin_child_proxy_get_child_by_index),
17282         (gst_bin_child_proxy_get_children_count),
17283         (gst_bin_child_proxy_init):
17284         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
17285         (gst_child_proxy_get_child_by_index),
17286         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
17287         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
17288         (gst_child_proxy_get), (gst_child_proxy_set_property),
17289         (gst_child_proxy_set_valist), (gst_child_proxy_set),
17290         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
17291         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
17292         * gst/gstchildproxy.h:
17293         * gst/parse/grammar.y:
17294         * tools/gst-inspect.c: (print_interfaces),
17295         (print_element_properties_info), (print_element_info):
17296           ported gstchildproxy over from 0.8
17297           ported gst-inspect fixes and enhancements over from 0.8
17298
17299 2005-08-22  Wim Taymans  <wim@fluendo.com>
17300
17301         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
17302         (gst_base_transform_handle_buffer):
17303         Also call the transform function if we have ANY caps.
17304
17305         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
17306         Fix debug info.
17307
17308 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
17309
17310         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
17311           Don't pretend to handle seek events if the source is not seekable
17312
17313 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
17314
17315         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17316           Remove extra parameter to debug output
17317
17318         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
17319         (gst_base_src_do_seek), (gst_base_src_activate_push):
17320           Fix seek event handling.
17321
17322         * gst/gstpipeline.c: (gst_pipeline_change_state):
17323         * gst/gstqueue.c: (gst_queue_handle_sink_event),
17324         (gst_queue_src_activate_push):
17325           Don't start the src pad task on FLUSH_STOP if the pad
17326           isn't linked.
17327           Debug changes.
17328
17329 2005-08-22  Wim Taymans  <wim@fluendo.com>
17330
17331         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
17332         Added check for gst_static_caps_get() refcounting.
17333
17334 2005-08-22  Wim Taymans  <wim@fluendo.com>
17335
17336         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
17337         Make _static_caps_get() refcounting sane.
17338         
17339         * gst/gstelement.c: (gst_element_set_state):
17340         Add g_return_val_if_fail() to protect against segfaults.
17341
17342 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
17343
17344         * docs/gst/tmpl/gstevent.sgml:
17345         * gst/gstevent.c:
17346         * gst/gstevent.h:
17347           inlined remaining docs, added missing doc comments
17348
17349 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
17350
17351         * check/gst/gstbin.c: (GST_START_TEST):
17352           since we don't know when preroll is done, use refcount range
17353           check for the sink
17354         * gst/check/gstcheck.h:
17355           add macro for checking refcount range
17356
17357 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
17358
17359         * check/Makefile.am:
17360           clean up environment for when registry gets built versus
17361           when actual tests are run; valgrind seems to not report
17362           leaks if GST_PLUGIN_PATH is set to some specific values
17363         * check/gst/gstbin.c: (GST_START_TEST):
17364           add more refcounting checks; maybe this exposes a
17365           preroll lock bug ?
17366         * common/check.mak:
17367         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17368         * gst/check/gstcheck.h:
17369         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
17370         (gst_bin_change_state):
17371         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
17372           add/fix debugging/whitespace
17373
17374 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
17375
17376         * check/gst/gstevent.c: (event_probe), (test_event),
17377         (GST_START_TEST):
17378          Er, don't call gst_bin_watch_for_state_change you idiot.
17379
17380 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
17381
17382         * check/Makefile.am:
17383           Use CHECK_CFLAGS and CHECK_LIBS
17384         * check/gst/gstevent.c: (event_probe), (test_event),
17385         (GST_START_TEST):
17386           Don't leak events.
17387         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
17388         (gst_base_src_start), (gst_base_src_stop),
17389         (gst_base_src_activate_push), (gst_base_src_activate_pull),
17390         (gst_base_src_change_state):
17391           Sprinkle gst_base_src_stop liberally around error paths to fix
17392           problems reusing a source after failed state changes.
17393         * gst/base/gsttypefindhelper.c: (helper_find_peek),
17394         (helper_find_suggest), (gst_type_find_helper):
17395           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
17396         * gst/gstevent.h:
17397         * docs/gst/tmpl/gstevent.sgml:
17398           Migrate part of the docs from the SGML file. Wait for ensonic to
17399           tell me how I did it wrong ;)
17400         * tools/gst-typefind.c: (main):
17401           Extra robustness to state changes between files.
17402
17403 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
17404
17405         * check/Makefile.am:
17406           don't valgrind the controller test - it's leaking - Stefan, HELP
17407         * gst/check/gstcheck.c: (gst_check_message_error),
17408         (gst_check_chain_func), (gst_check_setup_element),
17409         (gst_check_teardown_element), (gst_check_setup_src_pad),
17410         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
17411         (gst_check_teardown_sink_pad):
17412         * gst/check/gstcheck.h:
17413           add a bunch of methods to set up elements, and src and sink pads
17414         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
17415         * check/elements/identity.c: (setup_identity), (cleanup_identity),
17416         (GST_START_TEST):
17417           use them
17418         * gst/gstmessage.c:
17419         * gst/gsttag.h:
17420           whitespace/doc fixes
17421
17422 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17423
17424         * gst/gstelement.h:
17425           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
17426           be handled by the application and not always printed as well
17427
17428 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17429
17430         * check/Makefile.am:
17431           set GST_TOOLS_DIR
17432         * gst/check/gstcheck.c: (gst_check_message_error):
17433         * gst/check/gstcheck.h:
17434           add a fail_unless_equals_int
17435           add fail_unless for error messages
17436
17437 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17438
17439         * check/Makefile.am:
17440         * check/gst.supp:
17441         * common/Makefile.am:
17442         * common/check.mak:
17443         * common/gst.supp:
17444           factor out some of the common stuff so we can use it
17445
17446 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17447
17448         * check/Makefile.am:
17449         * check/gst/gstiterator.c: (GST_START_TEST):
17450         * check/gst/gstsystemclock.c: (GST_START_TEST),
17451         (gst_systemclock_suite):
17452         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
17453         * gst/gstclock.c:
17454           valgrind more tests
17455
17456 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17457
17458         * check/elements/.cvsignore:
17459         * check/elements/gstfakesrc.c:
17460           rename to name of element
17461         * check/elements/identity.c: (chain_func), (event_func),
17462         (setup_identity), (cleanup_identity), (GST_START_TEST),
17463         (identity_suite), (main):
17464           add a test for identity
17465         * check/Makefile.am:
17466         * pkgconfig/Makefile.am:
17467         * pkgconfig/gstreamer-check.pc.in:
17468         * pkgconfig/gstreamer-check-uninstalled.pc.in:
17469         * gst/check:
17470         * gst/Makefile.am:
17471         * configure.ac:
17472           move the check stuff to a library that gets installed
17473         * check/gst-libs/controller.c: (GST_START_TEST):
17474         * check/gst-libs/gdp.c:
17475         * check/gst/gst.c: (GST_START_TEST):
17476         * check/gst/gstbin.c:
17477         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
17478         * check/gst/gstbus.c:
17479         * check/gst/gstcaps.c: (GST_START_TEST):
17480         * check/gst/gstelement.c:
17481         * check/gst/gstghostpad.c:
17482         * check/gst/gstiterator.c:
17483         * check/gst/gstmessage.c:
17484         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
17485         * check/gst/gstobject.c:
17486         * check/gst/gstpad.c: (GST_START_TEST):
17487         * check/gst/gststructure.c: (GST_START_TEST):
17488         * check/gst/gstsystemclock.c: (GST_START_TEST),
17489         (gst_systemclock_suite):
17490         * check/gst/gsttag.c: (gst_tag_suite):
17491         * check/gst/gstvalue.c:
17492         * check/pipelines/cleanup.c:
17493         * check/pipelines/simple_launch_lines.c:
17494         * check/states/sinks.c:
17495           change include statement
17496
17497         * docs/gst/gstreamer-sections.txt:
17498         * docs/gst/tmpl/gstpad.sgml:
17499           document more pad stuff
17500         * gst/gstminiobject.c: (gst_mini_object_ref),
17501         (gst_mini_object_unref):
17502           debug refcounting
17503
17504 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
17505
17506         * docs/gst/tmpl/gst.sgml:
17507         * gst/gst.c:
17508           eliminate another tmpl file, fix spelling in the long-description
17509
17510 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
17511
17512         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
17513         (test_event), (timediff), (gstevents_suite):
17514           Should fix build on 64-bit arch's
17515
17516 2005-08-18  Andy Wingo  <wingo@pobox.com>
17517
17518         Make sure that when a pipeline goes to PLAYING, that data has
17519         actually hit the sink.
17520
17521         * check/states/sinks.c (test_sink): A sink that doesn't get any
17522         data shouldn't return SUCCESS for going to either PLAYING or
17523         PAUSED. Test also the return values on the way back down.
17524
17525         * gst/gstelement.c (gst_element_set_state): When changing the
17526         state of an element currently changing state asynchronously, go to
17527         lost-state after commiting the pending state. Makes future calls
17528         to get_state continue to return ASYNC.
17529
17530         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
17531         ASYNC when going to PLAYING if we still don't have preroll, as can
17532         happen with live sources.
17533
17534 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
17535
17536         * docs/pwg/advanced-types.xml:
17537           Hack long paragraph into 2 chunks as a workaround for buggy
17538           jadetex version in sid and breezy that loops infinitely and
17539           eats all RAM.
17540
17541 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
17542
17543         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
17544         (test_event), (timediff), (gstevents_suite):
17545           Provide more error margin in clock measurements to allow for 
17546           g_get_current_time inaccuracies.
17547
17548 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
17549
17550         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
17551         (test_event), (timediff), (gstevents_suite):
17552            Fix error message output so I might be able to tell why the
17553            test works here but fails on the build farm.
17554
17555 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
17556
17557         * check/Makefile.am:
17558         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
17559         (test_event), (timediff), (gstevents_suite), (main):
17560           I wrote a test!
17561
17562         * docs/design/part-seeking.txt:
17563           Spelling correction
17564
17565         * docs/gst/tmpl/gstevent.sgml:
17566         * docs/gst/tmpl/gstfakesrc.sgml:
17567           Docs updates.
17568
17569         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17570           Treat a buffer-without-newsegment the same as a receiving 
17571           a newsegment not in time format, and disable syncing to the clock
17572           with a warning.
17573
17574         * gst/gstbus.c: (gst_bus_set_sync_handler):
17575           Assert if anyone tries to replace the existing sync_handler for bus, 
17576           as only the owner should be setting it.
17577
17578         * gst/gstevent.h:
17579           Have a fixed set of custom event enums with events identified by
17580           their structure name (as in 0.8), rather than a free-for-all
17581           allowing collisions between enum values from different plugins.
17582
17583         * gst/gstpad.c: (gst_pad_class_init):
17584           Docs change.
17585           
17586         * gst/gstqueue.c: (gst_queue_handle_sink_event):
17587           Handle out-of-band downstream events from the sending thread.
17588
17589 2005-08-17  Andy Wingo  <wingo@pobox.com>
17590
17591         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
17592         play-timeout==0 to mean no timeout at all. In that case, don't
17593         bother with a get_state or a warning, just return directly, even
17594         if it's ASYNC.
17595
17596         * gst/base/gstbasetransform.c: Debug changes.
17597
17598         * gst/gstutils.h:
17599         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
17600         ensure bins post state change messages. A bit of a hack but I can't
17601         think of a way to avoid it.
17602
17603         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
17604
17605 2005-08-16  Andy Wingo  <wingo@pobox.com>
17606
17607         * gst/base/gstadapter.h:
17608         * gst/base/gstadapter.c (gst_adapter_take): New function, like
17609         peek() but you own the data. Not terribly efficient atm.
17610
17611 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17612
17613         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
17614         (gst_element_found_tags):
17615         * gst/gstutils.h:
17616           Add two utility functions for tag handling.
17617
17618 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17619
17620         * docs/manual/advanced-dataaccess.xml:
17621         * docs/manual/basics-helloworld.xml:
17622           Fix docs to use _bin_add() before _link(), which fixes the examples
17623           with recent core versions (reported by Madhan Raj M
17624           <raj_madan@rediffmail.com>, #313199).
17625
17626 2005-08-16  Wim Taymans  <wim@fluendo.com>
17627
17628         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
17629         Added subtract checks.
17630
17631         * docs/design/part-events.txt:
17632         Some more docs about newsegment
17633
17634         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
17635         Fix FIXME
17636
17637         * gst/gstcaps.c: (gst_caps_to_string):
17638         Add comments, cleanups.
17639         
17640         * gst/gstelement.c: (gst_element_save_thyself):
17641         cleanups
17642         
17643         * gst/gstvalue.c: (gst_value_collect_int_range),
17644         (gst_string_unwrap), (gst_value_union_int_int_range),
17645         (gst_value_union_int_range_int_range),
17646         (gst_value_intersect_int_int_range),
17647         (gst_value_intersect_int_range_int_range),
17648         (gst_value_intersect_double_double_range),
17649         (gst_value_intersect_double_range_double_range),
17650         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
17651         (gst_value_subtract_int_range_int),
17652         (gst_value_subtract_double_range_double),
17653         (gst_value_subtract_double_range_double_range),
17654         (gst_value_subtract_from_list), (gst_value_subtract_list),
17655         (gst_value_can_compare), (gst_value_compare_fraction):
17656         Cleanups, add comments, remove unneeded asserts.
17657
17658 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
17659
17660         * tools/gst-launch.c: (event_loop):
17661           don't convert NULL structures to strings
17662
17663 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
17664
17665         * docs/gst/gstreamer-sections.txt:
17666           made some defines private
17667         * docs/gst/tmpl/gstconfig.sgml:
17668         * docs/gst/tmpl/gstqueue.sgml:
17669         * docs/gst/tmpl/gsttaglist.sgml:
17670         * docs/gst/tmpl/gsttypes.sgml:
17671         * docs/gst/tmpl/gstutils.sgml:
17672         * docs/pwg/appendix-porting.xml:
17673         * gst/base/gstbasesink.h:
17674         * gst/base/gstbasesrc.c:
17675         * gst/base/gstbasesrc.h:
17676         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
17677         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
17678         * gst/gstelement.c: (gst_element_class_init):
17679         * gst/gstpad.c: (gst_pad_class_init):
17680         * gst/gstqueue.c: (gst_queue_class_init):
17681         * gst/gstxml.c: (gst_xml_class_init):
17682           documented all undocumented signal inline
17683         * libs/gst/controller/gst-controller.h:
17684           added padding
17685
17686 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17687
17688         * docs/pwg/appendix-porting.xml:
17689           Document _set_link_function -> _set_setcaps_function.
17690
17691 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
17692
17693         * check/Makefile.am:
17694           add a .check target for running the check
17695         * check/gst-libs/controller.c: (GST_START_TEST):
17696           cosmetic fixups
17697         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
17698           complete checks for gstbuffer; would be nice if I could get the
17699           gcov stuff to work so I can see if I actually completed gstbuffer.c
17700         * check/gstcheck.h:
17701           add ASSERT_BUFFER_REFCOUNT
17702
17703 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
17704
17705         * docs/gst/gstreamer-sections.txt:
17706         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
17707         * gst/gsttag.h:
17708           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
17709           spew out a warning if a tag that is already registered
17710           is re-registered, unless it is re-registered with a 
17711           different type (#308438).
17712
17713 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
17714
17715         * docs/pwg/appendix-porting.xml:
17716         * docs/pwg/building-state.xml:
17717           Add some paragraphs about state changes in 0.9 to the PWG
17718           and the porting guide, in particular about the new meaning
17719           of GST_STATE_PAUSED and how to write state change functions
17720           with concurrent access by multiple threads in mind.
17721
17722 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
17723
17724         * docs/gst/gstreamer-docs.sgml:
17725         * docs/libs/gstreamer-libs-docs.sgml:
17726           added deprecation and since indexes
17727         * libs/gst/controller/gst-controller.c:
17728         * libs/gst/controller/gst-helper.c:
17729           added since tags
17730
17731
17732 2005-08-11  Wim Taymans  <wim@fluendo.com>
17733
17734         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
17735         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
17736         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
17737         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
17738         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
17739         (gst_ghost_pad_set_target):
17740         Actually implement (re)setting the target on a ghostpad
17741         as described in the docs.
17742
17743 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
17744
17745         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
17746           Check whether GST_DEBUG_NO_COLOR environment variable is
17747           set and disable coloured debug output if that is the case.
17748
17749 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
17750
17751         * gst/base/gsttypefindhelper.c: (helper_find_peek),
17752         (gst_type_find_helper):
17753           The memory returned by gst_type_find_peek() needs to
17754           stay valid until the end of a typefind function, and
17755           typefind functions may keep results from different 
17756           offsets around, so we can't just unref the buffer from
17757           the previous _peek(), but have to save all buffers 
17758           returned by _peek() until typefinding is done and only
17759           free them then.
17760
17761 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
17762
17763         * docs/gst/gstreamer-sections.txt:
17764         * gst/gstutils.h:
17765           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
17766
17767 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17768
17769         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
17770           Fix a pretty good memleak.
17771
17772 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
17773
17774         * gst/gstiterator.h:
17775           Fix wrong include and 'make distcheck'.
17776
17777 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17778
17779         * gst/gstbin.c: (bin_bus_handler):
17780           Use gst_element_post_message() instead.
17781
17782 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
17783
17784         * gst/base/gstadapter.h:
17785         * gst/base/gstbasesink.h:
17786         * gst/base/gstbasesrc.h:
17787         * gst/base/gstbasetransform.h:
17788         * gst/base/gstcollectpads.h:
17789         * gst/base/gstpushsrc.h:
17790         * gst/gstiterator.h:
17791           Add padding to our base elements' class and instance structs and
17792           to GstIterator (you will need to rebuild all plugins and apps!)
17793
17794 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17795
17796         * gst/gstbin.c: (bin_bus_handler):
17797           Make default message forwarding from child->bus to bin->bus
17798           threadsafe and make it not emit warnings if the parent has no bus.
17799
17800 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17801
17802         * gst/gstelement.c: (activate_pads):
17803           On paused->ready, set pad->caps to NULL, as is the documented
17804           behaviour in this state change. Fixes playback of series of
17805           media files when visualization is enabled in Totem.
17806
17807 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17808
17809         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
17810           Allow NULL as filter-caps (which means "any").
17811
17812 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
17813
17814         * docs/libs/gstreamer-libs-sections.txt:
17815         * libs/gst/controller/gst-controller.c:
17816         * libs/gst/controller/gst-controller.h:
17817         * libs/gst/controller/gst-helper.c:
17818           adding more entries to the docs and fix small doc-bugs
17819
17820 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
17821
17822         * docs/gst/gstreamer-docs.sgml:
17823         * docs/gst/gstreamer-sections.txt:
17824         * docs/gst/gstreamer.types:
17825         * docs/gst/tmpl/gstbasesink.sgml:
17826         * docs/gst/tmpl/gstbasesrc.sgml:
17827         * docs/gst/tmpl/gstbasetransform.sgml:
17828         * docs/gst/tmpl/gstfakesrc.sgml:
17829         * gst/base/gstcollectpads.c:
17830         * gst/base/gstcollectpads.h:
17831         * libs/gst/controller/gst-controller.c:
17832         * libs/gst/controller/gst-controller.h:
17833         * libs/gst/controller/gst-helper.c:
17834         * libs/gst/controller/gst-interpolation.c:
17835         * libs/gst/controller/lib.c:
17836           added long/short desc for controller docs
17837           added collectpads base class docs
17838           added correct includes to base-class docs
17839
17840 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
17841
17842         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
17843         (gst_test_mono_source_set_property),
17844         (gst_test_mono_source_class_init), (GST_START_TEST),
17845         (gst_controller_suite):
17846         * docs/gst/gstreamer-docs.sgml:
17847         * docs/gst/gstreamer-sections.txt:
17848         * docs/gst/gstreamer.types:
17849         * docs/libs/gstreamer-libs-docs.sgml:
17850         * docs/libs/gstreamer-libs-sections.txt:
17851         * gst/base/gstadapter.c:
17852         * libs/gst/controller/gst-controller.c:
17853         (gst_controlled_property_new), (gst_controlled_property_free),
17854         (gst_controller_new_valist),
17855         (gst_controller_remove_properties_valist),
17856         (gst_controller_sink_values), (_gst_controller_finalize):
17857         * libs/gst/controller/gst-controller.h:
17858         * libs/gst/controller/gst-helper.c:
17859         (gst_object_control_properties), (gst_object_uncontrol_properties),
17860         (gst_object_get_controller), (gst_object_set_controller),
17861         (gst_object_sink_values), (gst_object_get_value_arrays),
17862         (gst_object_get_value_array):
17863           more tests (and fixes) for the controller
17864           more docs for the controller
17865           integrated companies docs for the adapter 
17866
17867 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
17868
17869         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
17870         (GST_START_TEST), (fakesrc_suite):
17871           add tests for sizetype
17872
17873 2005-08-04  Andy Wingo  <wingo@pobox.com>
17874
17875         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
17876         fixes buffer_alloc proxying among other things.
17877
17878         * gst/base/gstbasetransform.c:
17879         * gst/base/gstbasetransform.h:
17880         Revert patch to gstbasetransform from 7-28 removing
17881         delay_configure.
17882
17883         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
17884         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
17885         Semantics changed, should return not the size of the output buffer
17886         but the byte size of a buffer with a given caps.
17887
17888         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
17889         debug object.
17890         (gst_base_transform_configure_caps): Don't set out_size here: (in,
17891         out) are not the pad caps until setcaps finishes.
17892         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
17893         not-in-place case as well. Deal with changing from in-place to
17894         not-in-place within calling pad_alloc_buffer. Still a bit
17895         concerned about the overhead here...
17896
17897 2005-08-03  Andy Wingo  <wingo@pobox.com>
17898
17899         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
17900         fixating is an error.
17901
17902 2005-08-04  Edward Hervey  <edward@fluendo.com>
17903
17904         * gst/base/gstadapter.h: 
17905         Added gst_adapter_get_type() to the header
17906
17907 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
17908
17909         * check/Makefile.am:
17910         * check/gst-libs/controller.c:
17911         * libs/gst/controller/gst-controller.c:
17912         (gst_controller_new_valist):
17913           added check test suite for the controller
17914         * gst/base/gstpushsrc.c:
17915           fixed a doc typo
17916
17917 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
17918
17919         * docs/gst/Makefile.am:
17920         * docs/gst/gstreamer-docs.sgml:
17921         * docs/gst/gstreamer-sections.txt:
17922         * docs/gst/gstreamer.types:
17923         * docs/gst/tmpl/gstfakesrc.sgml:
17924         * gst/base/README:
17925         * gst/base/gstbasesink.c:
17926         * gst/base/gstbasesink.h:
17927         * gst/base/gstbasesrc.c:
17928         * gst/base/gstbasesrc.h:
17929         * gst/base/gstbasetransform.c:
17930         * gst/base/gstpushsrc.c:
17931         * gst/base/gstpushsrc.h:
17932           add short/long description docs to base classes
17933           add pushsrc to the docs
17934           remove consolidated doc fragments
17935
17936 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
17937
17938         * configure.ac:
17939         * docs/libs/Makefile.am:
17940         * docs/libs/gstreamer-libs-docs.sgml:
17941         * docs/libs/gstreamer-libs-sections.txt:
17942         * docs/libs/gstreamer-libs.types:
17943         * examples/Makefile.am:
17944         * examples/controller/.cvsignore:
17945         * examples/controller/Makefile.am:
17946         * examples/controller/audio-example.c: (main):
17947         * libs/gst/Makefile.am:
17948         * libs/gst/controller/.cvsignore:
17949         * libs/gst/controller/Makefile.am:
17950         * libs/gst/controller/gst-controller.c:
17951         (on_object_controlled_property_changed), (gst_timed_value_compare),
17952         (gst_timed_value_find),
17953         (gst_controlled_property_set_interpolation_mode),
17954         (gst_controlled_property_new), (gst_controlled_property_free),
17955         (gst_controller_find_controlled_property),
17956         (gst_controller_new_valist), (gst_controller_new),
17957         (gst_controller_remove_properties_valist),
17958         (gst_controller_remove_properties), (gst_controller_set),
17959         (gst_controller_set_from_list), (gst_controller_unset),
17960         (gst_controller_get), (gst_controller_get_all),
17961         (gst_controller_sink_values), (gst_controller_get_value_arrays),
17962         (gst_controller_get_value_array),
17963         (gst_controller_set_interpolation_mode),
17964         (_gst_controller_finalize), (_gst_controller_init),
17965         (_gst_controller_class_init), (gst_controller_get_type):
17966         * libs/gst/controller/gst-controller.h:
17967         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
17968         (g_object_uncontrol_properties), (g_object_get_controller),
17969         (g_object_set_controller), (g_object_sink_values),
17970         (g_object_get_value_arrays), (g_object_get_value_array):
17971         * libs/gst/controller/gst-interpolation.c:
17972         (gst_controlled_property_find_timed_value_node),
17973         (interpolate_none_get), (interpolate_trigger_get),
17974         (interpolate_trigger_get_value_array):
17975         * libs/gst/controller/lib.c: (gst_controller_init):
17976         * pkgconfig/Makefile.am:
17977         * pkgconfig/gstreamer-control-uninstalled.pc.in:
17978         * pkgconfig/gstreamer-control.pc.in:
17979         * testsuite/Makefile.am:
17980         * testsuite/controller/.cvsignore:
17981         * testsuite/controller/Makefile.am:
17982         * testsuite/controller/interpolator.c: (main):
17983           added controller code
17984           removed dparam pc files
17985
17986 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
17987         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
17988         (gst_collectpads_stop):
17989           Broadcast the condition when shutting down, to make sure we wake all
17990           threads up. Shut down pads on finalize, for safety.
17991
17992 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
17993         * gst/base/gstbasetransform.c: (gst_base_transform_init),
17994         (gst_base_transform_handle_buffer),
17995         (gst_base_transform_change_state):
17996           Handle PAUSED->READY->PAUSED transition after negotiation
17997           occurred already.
17998         * gst/gstmessage.c: (gst_message_init):
17999           Extra piece of debug for new messages.
18000
18001 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
18002
18003         * configure.ac:
18004         * docs/gst/tmpl/gstbasesrc.sgml:
18005         * docs/gst/tmpl/gstelement.sgml:
18006         * docs/gst/tmpl/gstevent.sgml:
18007         * docs/gst/tmpl/gstfakesrc.sgml:
18008         * docs/gst/tmpl/gstformat.sgml:
18009         * docs/gst/tmpl/gstghostpad.sgml:
18010         * docs/gst/tmpl/gstpad.sgml:
18011         * docs/gst/tmpl/gstquery.sgml:
18012         * docs/gst/tmpl/gststructure.sgml:
18013         * docs/gst/tmpl/gsttaglist.sgml:
18014         * docs/gst/tmpl/gstvalue.sgml:
18015         * docs/libs/gstreamer-libs-docs.sgml:
18016         * docs/libs/gstreamer-libs-sections.txt:
18017         * docs/libs/gstreamer-libs.types:
18018         * libs/gst/Makefile.am:
18019         * libs/gst/control/.cvsignore:
18020         * libs/gst/control/Makefile.am:
18021         * libs/gst/control/control.c:
18022         * libs/gst/control/control.h:
18023         * libs/gst/control/dparam.c:
18024         * libs/gst/control/dparam.h:
18025         * libs/gst/control/dparam_smooth.c:
18026         * libs/gst/control/dparam_smooth.h:
18027         * libs/gst/control/dparamcommon.h:
18028         * libs/gst/control/dparammanager.c:
18029         * libs/gst/control/dparammanager.h:
18030         * libs/gst/control/dplinearinterp.c:
18031         * libs/gst/control/dplinearinterp.h:
18032         * libs/gst/control/unitconvert.c:
18033         * libs/gst/control/unitconvert.h:
18034         * testsuite/Makefile.am:
18035         * testsuite/dynparams/.cvsignore:
18036         * testsuite/dynparams/Makefile.am:
18037         * testsuite/dynparams/dparamstest.c:
18038         * tools/Makefile.am:
18039         * tools/gst-inspect.c: (print_element_info), (main):
18040         * tools/gst-xmlinspect.c: (print_element_info), (main):
18041           deactivate and remove dparams (libgstcontrol)
18042
18043 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
18044
18045         * gst/elements/gsttypefindelement.c:
18046         (gst_type_find_element_have_type), (gst_type_find_element_init),
18047         (stop_typefinding), (gst_type_find_element_handle_event),
18048         (gst_type_find_element_chain), (gst_type_find_element_getrange):
18049         * gst/elements/gsttypefindelement.h:
18050           Set caps on all outgoing buffers, not just the first one.
18051
18052 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
18053
18054         * gst/elements/gsttypefindelement.c:
18055         (gst_type_find_element_have_type),
18056         (gst_type_find_element_check_set_buffer_caps),
18057         (gst_type_find_element_init), (stop_typefinding),
18058         (gst_type_find_element_handle_event),
18059         (gst_type_find_element_chain), (gst_type_find_element_getrange):
18060         * gst/elements/gsttypefindelement.h:
18061           Set caps on first outgoing buffer when we've found the type.
18062
18063 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
18064
18065         * docs/gst/gstreamer-docs.sgml:
18066         * docs/gst/gstreamer-sections.txt:
18067         * docs/gst/tmpl/gstscheduler.sgml:
18068         * docs/gst/tmpl/gstschedulerfactory.sgml:
18069           Remove some old cruft from docs.
18070
18071 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
18072
18073         * gst/gstpad.h:
18074           Fix inline docs for GstPadLinkReturn.
18075           
18076         * gst/gststructure.c: (gst_structure_has_name):
18077         * gst/gststructure.h:
18078         * docs/gst/gstreamer-sections.txt:
18079           New API: gst_structure_has_name().
18080
18081 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
18082
18083         * configure.ac:
18084           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
18085           and _LARGEFILE_SOURCE in config.h as required. Do not 
18086           export those flags in our .pc files any longer (#142209).
18087
18088           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
18089
18090         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
18091         (gst_file_sink_do_seek), (gst_file_sink_event),
18092         (gst_file_sink_get_current_offset), (gst_file_sink_render):
18093           Redo seek/tell calls with large file support in mind; add some
18094           debugging messages; add log message that tells us when large
18095           file support is unavailable or not enabled for some reason.
18096
18097         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
18098           Add log message that tells us when large file support 
18099           is unavailable or not enabled for some reason.
18100
18101 2005-07-29  Wim Taymans  <wim@fluendo.com>
18102
18103         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
18104         Added test for removing an element with ghostpad from a bin.
18105         Fixed test as current implementation does the right thing.
18106
18107         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
18108         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
18109         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
18110         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
18111         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
18112         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
18113         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
18114         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
18115         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
18116         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
18117         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
18118         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
18119         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
18120         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
18121         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
18122         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
18123         * gst/gstghostpad.h:
18124         Clean up ghostpads, remove properties for internal stuff.
18125         Make threadsafe.
18126         Fix refcounting.
18127         Prepare for switching targets, not all use cases work yet.
18128
18129 2005-07-29  Wim Taymans  <wim@fluendo.com>
18130
18131         * docs/design/part-gstghostpad.txt:
18132         Small update.
18133
18134         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
18135         (gst_bin_remove_func):
18136         Unlinking pads while holding the bin LOCK is not a good
18137         idea.
18138
18139         * gst/gstpad.c: (gst_pad_class_init),
18140         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
18141         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
18142         No prob setting template after creating the pad.
18143
18144 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
18145
18146         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
18147         (gst_bus_peek), (gst_bus_source_dispatch),
18148         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
18149         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
18150           gst_bus_poll may be called from other threads. Handle
18151           this nicely by not making poll_data disappear off the
18152           stack once gst_bus_poll returns.
18153           gst_bus_peek now increments the refcount on the returned
18154           message.
18155
18156 2005-07-29  Wim Taymans  <wim@fluendo.com>
18157
18158         * docs/design/part-gstghostpad.txt:
18159         Overview of current GhostPad datastructures and use
18160         cases for changing the target.
18161
18162 2005-07-28  Wim Taymans  <wim@fluendo.com>
18163
18164         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
18165         Added checks for hierarchy consistency whan adding linked
18166         elements to bins.
18167
18168         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
18169         Added check to test element scheduling without bin/pipeline.
18170
18171         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
18172         First add elements to bin, then link.
18173         
18174         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
18175         (gst_bin_remove_func):
18176         Unlink pads from elements added/removed from bin to maintain
18177         hierarchy consistency.
18178
18179 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18180
18181         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
18182         (gst_base_transform_handle_buffer):
18183         * gst/base/gstbasetransform.h:
18184           Remove broken delay_configure (fixes renegotiation of software
18185           scaling pipelines); remove some leftover printf()s.
18186
18187 2005-07-28  Wim Taymans  <wim@fluendo.com>
18188
18189         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
18190         Added some more tests for wrong hierarchy
18191
18192         * docs/design/part-overview.txt:
18193         Some updates.
18194
18195         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
18196         Cleanups.
18197
18198         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
18199         (gst_element_dispose):
18200         Some more cleanups.
18201
18202         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
18203         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
18204         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
18205         (gst_pad_set_caps), (gst_pad_send_event):
18206         Check for correct hierarchy when linking pads. Moving to
18207         strict requirement for ghostpads when linking elements in
18208         different bins.
18209
18210         * gst/gstpad.h:
18211         Clean ups. Added WRONG_HIERARCHY return value.
18212
18213 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18214
18215         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
18216           Better debug if no transform is possible.
18217
18218 2005-07-27  Wim Taymans  <wim@fluendo.com>
18219
18220         * docs/random/wtay/network-transp:
18221         Some old doc I had.
18222
18223 2005-07-27  Wim Taymans  <wim@fluendo.com>
18224
18225         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
18226         (gst_dp_event_from_packet):
18227         Fix serialization of seek events.
18228
18229 2005-07-27  Wim Taymans  <wim@fluendo.com>
18230
18231         * check/gst-libs/gdp.c: (GST_START_TEST):
18232         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
18233         Fix compilation and fix event serialization.
18234
18235 2005-07-27  Wim Taymans  <wim@fluendo.com>
18236
18237         * CHANGES-0.9:
18238         * docs/design/part-TODO.txt:
18239         * docs/design/part-events.txt:
18240         Some docs updates
18241
18242         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18243         (gst_base_sink_event), (gst_base_sink_do_sync),
18244         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
18245         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
18246         (gst_base_src_do_seek), (gst_base_src_event_handler),
18247         (gst_base_src_loop):
18248         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
18249         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
18250         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
18251         (gst_base_transform_event), (gst_base_transform_handle_buffer),
18252         (gst_base_transform_set_passthrough),
18253         (gst_base_transform_is_passthrough):
18254         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
18255         * gst/elements/gstfilesink.c: (gst_file_sink_event):
18256         Event updates.
18257
18258         * gst/gstbuffer.h:
18259         Use faster casts.
18260
18261         * gst/gstelement.c: (gst_element_seek):
18262         * gst/gstelement.h:
18263         Update gst_element_seek.
18264
18265         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
18266         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
18267         (gst_event_new_flush_start), (gst_event_new_flush_stop),
18268         (gst_event_new_eos), (gst_event_new_newsegment),
18269         (gst_event_parse_newsegment), (gst_event_new_tag),
18270         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
18271         (gst_event_parse_qos), (gst_event_new_seek),
18272         (gst_event_parse_seek), (gst_event_new_navigation):
18273         * gst/gstevent.h:
18274         Make GstEvent use GstStructure. Add parsing code, make sure the
18275         API is sufficiently generic.
18276         Mark possible directions of events and serialization.
18277
18278         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
18279         (_gst_message_copy), (gst_message_new_segment_start),
18280         (gst_message_new_segment_done), (gst_message_new_custom),
18281         (gst_message_parse_segment_start),
18282         (gst_message_parse_segment_done):
18283         Small cleanups.
18284
18285         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
18286         (gst_pad_set_caps), (gst_pad_send_event):
18287         Update for new events. 
18288         Catch events sent in wrong directions.
18289
18290         * gst/gstqueue.c: (gst_queue_link_src),
18291         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
18292         (gst_queue_handle_src_query):
18293         Event updates.
18294
18295         * gst/gsttag.c:
18296         * gst/gsttag.h:
18297         Remove event code from this file.
18298
18299         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
18300         (gst_dp_event_from_packet):
18301         Event updates.
18302
18303 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18304
18305         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
18306         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
18307         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
18308           Make debugging actually useful.
18309
18310 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18311
18312         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
18313         (gst_pad_fixate_caps):
18314           Implement default fixation once again, so that gst_pad_fixate()
18315           actually does anything at all. This probably needs to be some
18316           sort of a last resort, and use profile-based fixation first, but
18317           since that doesn't exist yet, this is the best we have. Fixes
18318           visualization in Totem.
18319
18320 2005-07-22  Wim Taymans  <wim@fluendo.com>
18321
18322         * docs/design/part-events.txt:
18323         Small update.
18324
18325         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18326         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
18327         (gst_base_sink_activate_pull):
18328         Some more comments.
18329
18330         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
18331         (gst_fake_src_create):
18332         Fix handoff marshall.
18333
18334         * gst/elements/gstidentity.c: (gst_identity_class_init),
18335         (gst_identity_transform_ip):
18336         We're a real inplace element.
18337
18338         * gst/gstbus.c: (gst_bus_post):
18339         Added some comments.
18340
18341         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
18342         * tests/muxing/case1.c: (main):
18343         * tests/sched/dynamic-pipeline.c: (main):
18344         * tests/sched/interrupt1.c: (main):
18345         * tests/sched/interrupt2.c: (main):
18346         * tests/sched/interrupt3.c: (main):
18347         * tests/sched/runxml.c: (main):
18348         * tests/sched/sched-stress.c: (main):
18349         * tests/seeking/seeking1.c: (event_received), (main):
18350         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
18351         (main):
18352         * tests/threadstate/threadstate3.c: (main):
18353         * tests/threadstate/threadstate4.c: (main):
18354         * tests/threadstate/threadstate5.c: (main):
18355         Fix the tests.
18356
18357 2005-07-21  Wim Taymans  <wim@fluendo.com>
18358
18359         * docs/design/part-seeking.txt:
18360         Some small additions.
18361
18362         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18363         (gst_base_sink_get_times), (gst_base_sink_do_sync),
18364         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
18365         * gst/base/gstbasesink.h:
18366         discont values are gint64, handle the math correctly.
18367
18368         * gst/base/gstbasesrc.c: (gst_base_src_loop):
18369         Make the basesrc report error if the source pad is not linked.
18370
18371         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
18372         (gst_queue_loop), (gst_queue_handle_src_query),
18373         (gst_queue_src_activate_push):
18374         Make queue collect data even if the srcpad is not linked.
18375         Start pushing out data as soon as it is linked.
18376
18377         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
18378         * gst/gstutils.h:
18379         Added gst_flow_get_name() to ease error reporting.
18380
18381 2005-07-20  Wim Taymans  <wim@fluendo.com>
18382
18383         * gst/gstmessage.c: (gst_message_new_segment_start),
18384         (gst_message_new_segment_done), (gst_message_parse_segment_start),
18385         (gst_message_parse_segment_done):
18386         * gst/gstmessage.h:
18387         Added a bunch of messages for advanced seeking.
18388
18389         * gst/parse/grammar.y:
18390         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
18391         (gst_dpman_state_changed):
18392         Fix some new-pad -> pad-added signals
18393
18394 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18395
18396         * docs/manual/appendix-porting.xml:
18397         * docs/pwg/appendix-porting.xml:
18398           Document new-pad/state-change signal renames and the FixedList
18399           type rename.
18400
18401 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18402
18403         * docs/manual/advanced-autoplugging.xml:
18404         * docs/manual/basics-helloworld.xml:
18405         * docs/manual/basics-pads.xml:
18406         * docs/random/ds/0.9-suggested-changes:
18407         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
18408         * gst/gstelement.h:
18409         * gst/gstevent.h:
18410         * gst/gstformat.h:
18411         * gst/gstquery.h:
18412         * gst/gststructure.c: (gst_structure_value_get_generic_type),
18413         (gst_structure_parse_array), (gst_structure_parse_value):
18414         * gst/gstvalue.c: (gst_type_is_fixed),
18415         (gst_value_list_prepend_value), (gst_value_list_append_value),
18416         (gst_value_list_get_size), (gst_value_list_get_value),
18417         (gst_value_transform_array_string), (gst_value_serialize_array),
18418         (gst_value_deserialize_array), (gst_value_intersect_array),
18419         (gst_value_is_fixed), (_gst_value_initialize):
18420         * gst/gstvalue.h:
18421           GstElement::new-pad -> pad-added, GstElement::state-change ->
18422           state-changed, GstValueFixedList -> GstValueArray, add format and
18423           flags as their own arguments in gst_element_seek() (should improve
18424           "bindeability"), remove function generators since they don't work
18425           under a whole bunch of compilers (they were deprecated already
18426           anyway).
18427
18428 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18429
18430         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
18431         (_gst_debug_register_funcptr):
18432         * gst/gstinfo.h:
18433           Fix illegal cast on some platforms (#309253).
18434
18435 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18436
18437         * gst/gstmessage.c: (gst_message_new_custom):
18438         * gst/gstmessage.h:
18439           Add _new_custom, make _new_application a macro to _new_custom.
18440
18441 2005-07-20  Wim Taymans  <wim@fluendo.com>
18442
18443         * gst/base/gstbasesrc.c: (gst_base_src_init),
18444         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
18445         * gst/base/gstbasesrc.h:
18446         Add a gboolean to decide when to push out a discont.
18447
18448         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
18449         (gst_queue_loop), (gst_queue_handle_src_query),
18450         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
18451         (gst_queue_set_property), (gst_queue_get_property):
18452         Some cleanups.
18453
18454         * tests/threadstate/threadstate1.c: (main):
18455         Make a thread test compile and run... very silly..
18456
18457
18458 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18459
18460         * docs/manual/appendix-porting.xml:
18461           Mention removal of libgstgconf-0.9.la and existence of gconf
18462           elements.
18463
18464 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18465
18466         * docs/pwg/advanced-clock.xml:
18467         * docs/pwg/appendix-porting.xml:
18468         * docs/pwg/intro-preface.xml:
18469         * docs/pwg/other-base.xml:
18470         * docs/pwg/other-manager.xml:
18471         * docs/pwg/other-nton.xml:
18472         * docs/pwg/other-ntoone.xml:
18473         * docs/pwg/other-oneton.xml:
18474         * docs/pwg/pwg.xml:
18475           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
18476           demuxer), remove n-to-n (was never written), fix some code examples
18477           and links and update the porting section to include all this.
18478
18479 2005-07-19  Wim Taymans  <wim@fluendo.com>
18480
18481         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
18482         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
18483         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
18484         (gst_queue_src_activate_push), (gst_queue_change_state),
18485         (gst_queue_get_property):
18486         * gst/gstqueue.h:
18487         Propagate GstFlowReturn more intelligently upstream and output
18488         an ERROR/EOS when streaming stopped due to fatal error.
18489
18490 2005-07-19  Wim Taymans  <wim@fluendo.com>
18491
18492         * tools/gst-launch.c: (check_intr), (event_loop), (main):
18493         Don't block forever for the state change to complete, the
18494         pipeline already did with a sensible timeout.
18495
18496 2005-07-19  Wim Taymans  <wim@fluendo.com>
18497
18498         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
18499         Make sure we never call the create function is we
18500         got deactivated.
18501
18502 2005-07-19  Andy Wingo  <wingo@pobox.com>
18503
18504         * gst/parse/parse.l: Attempt to solve bug #172815.
18505
18506 2005-07-19  Wim Taymans  <wim@fluendo.com>
18507
18508         * docs/design/part-clocks.txt:
18509         * docs/design/part-events.txt:
18510         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
18511         Small docs updates.
18512         Only update the seeking values when we are not
18513         busy streaming.
18514
18515 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
18516
18517         * gst/base/gstbasesrc.c: (gst_base_src_loop):
18518           Oops, ignore the result of gst_pad_push_event here.
18519
18520 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
18521
18522         * gst/base/gstbasesrc.c: (gst_base_src_loop),
18523         (gst_base_src_activate_push):
18524           Send discont event from the loop function, as pads
18525           aren't activated yet in the activate_push handler.
18526
18527         * gst/gstbin.c: (bin_bus_handler):
18528           Don't leak element name.
18529
18530 2005-07-18  Andy Wingo  <wingo@pobox.com>
18531
18532         * configure.ac: Use AS_LIBTOOL_TAGS.
18533
18534 2005-07-18  Wim Taymans  <wim@fluendo.com>
18535
18536         * docs/gst/gstreamer.types:
18537         Remove deleted types.
18538
18539 2005-07-18  Wim Taymans  <wim@fluendo.com>
18540
18541         * check/elements/gstfakesrc.c: (GST_START_TEST):
18542         * configure.ac:
18543         * gst/Makefile.am:
18544         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
18545         (init_popt_callback):
18546         * gst/gst.h:
18547         * gst/gst_private.h:
18548         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
18549         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
18550         * gst/gstbin.h:
18551         * gst/gstbus.h:
18552         * gst/gstconfig.h.in:
18553         * gst/gstelement.c: (gst_element_class_init),
18554         (gst_element_set_base_time), (gst_element_get_base_time),
18555         (iterator_fold_with_resync), (gst_element_change_state),
18556         (gst_element_dispose), (gst_element_get_bus):
18557         * gst/gstelement.h:
18558         * gst/gstelementfactory.h:
18559         * gst/gsterror.c: (_gst_core_errors_init):
18560         * gst/gsterror.h:
18561         * gst/gstevent.h:
18562         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
18563         * gst/gstindex.c:
18564         * gst/gstinfo.c: (_gst_debug_init):
18565         * gst/gstmessage.c: (_gst_message_copy):
18566         * gst/gstmessage.h:
18567         * gst/gstminiobject.h:
18568         * gst/gstobject.c:
18569         * gst/gstobject.h:
18570         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
18571         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
18572         * gst/gstpad.h:
18573         * gst/gstparse.h:
18574         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
18575         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
18576         (gst_pipeline_get_last_stream_time):
18577         * gst/gstpipeline.h:
18578         * gst/gstpluginfeature.h:
18579         * gst/gstquery.h:
18580         * gst/gstscheduler.c:
18581         * gst/gstscheduler.h:
18582         * gst/gststructure.h:
18583         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
18584         (gst_task_finalize), (gst_task_func), (gst_task_create),
18585         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
18586         (gst_task_stop), (gst_task_pause):
18587         * gst/gsttask.h:
18588         * gst/gsttypefind.h:
18589         * gst/gsttypes.h:
18590         * gst/registries/gstlibxmlregistry.c: (load_feature),
18591         (gst_xml_registry_load), (gst_xml_registry_save_feature):
18592         * gst/registries/gstxmlregistry.c:
18593         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
18594         * gst/schedulers/threadscheduler.c:
18595         * libs/gst/control/dparammanager.h:
18596         * tools/gst-inspect.c: (print_element_list),
18597         (print_plugin_features), (print_element_features):
18598         * tools/gst-xmlinspect.c: (print_element_list),
18599         (print_plugin_info), (main):
18600         Removed plugable schedulers.
18601         Removed Scheduler/Manager from elements.
18602         Removed gsttypes.h, rearranged includes.
18603         Removed dependency pad<->element, element<>pipeline, and
18604         various others,  fix includes.
18605         implement gst_pad_get_parent() with gst_object_get_parent()
18606         Make GstTask sefcontained.
18607         Fix _get_state() on GstBin, it did not return ASYNC with a 0
18608         timeout.
18609         Fix endless loop in iterator_fold_with_resync.
18610
18611
18612 2005-07-18  Wim Taymans  <wim@fluendo.com>
18613
18614         * gst/Makefile.am:
18615         * gst/gstarch.h:
18616         Remove old file.
18617
18618 2005-07-18  Wim Taymans  <wim@fluendo.com>
18619
18620         * gst/Makefile.am:
18621         No more cothreads.h
18622
18623 2005-07-18  Wim Taymans  <wim@fluendo.com>
18624
18625         * gst/cothreads.c:
18626         * gst/cothreads.h:
18627         Let's remove these.
18628
18629 2005-07-18  Wim Taymans  <wim@fluendo.com>
18630
18631         * docs/design/part-dynamic.txt:
18632         * docs/design/part-events.txt:
18633         * docs/design/part-seeking.txt:
18634         Some more docs in the works.
18635
18636         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
18637         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
18638         (gst_base_transform_setcaps), (gst_base_transform_get_size),
18639         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
18640         (gst_base_transform_handle_buffer),
18641         (gst_base_transform_sink_activate_push),
18642         (gst_base_transform_src_activate_pull),
18643         (gst_base_transform_set_passthrough),
18644         (gst_base_transform_is_passthrough):
18645         Refcounting fixes.
18646
18647         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
18648         Cleanups.
18649
18650         * gst/gstevent.c: (gst_event_finalize):
18651         Set SRC to NULL.
18652
18653         * gst/gstutils.c: (gst_element_unlink),
18654         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
18655         (gst_pad_proxy_setcaps):
18656         * gst/gstutils.h:
18657         Add _get_parent_element() to get a pads parent as an element.
18658
18659 2005-07-18  Wim Taymans  <wim@fluendo.com>
18660
18661         * check/gst/gstbin.c: (GST_START_TEST):
18662         Remove bogus test.
18663
18664 2005-07-18  Wim Taymans  <wim@fluendo.com>
18665
18666         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
18667         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
18668         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
18669         (gst_base_sink_event), (gst_base_sink_do_sync),
18670         (gst_base_sink_chain), (gst_base_sink_loop),
18671         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
18672         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
18673         Refcounting fixes.
18674         Fix logic for returning ASYNC when not prerolled.
18675
18676 2005-07-18  Wim Taymans  <wim@fluendo.com>
18677
18678         * gst/gstqueue.c: (gst_queue_handle_sink_event):
18679         Fix nasty refcount bug.
18680
18681 2005-07-16 Philippe Khalaf <burger@speedy.org>
18682
18683         * gst/elements/gstfdsrc.c:
18684         * gst/elements/gstfdsrc.h:
18685         * gst/elements/gstelements.c:
18686         * gst/elements/Makefile.am:
18687         Ported fdsrc to 0.9.
18688
18689 2005-07-16  Wim Taymans  <wim@fluendo.com>
18690
18691         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18692         (gst_base_sink_do_sync):
18693         Fix compile error.
18694
18695 2005-07-16  Wim Taymans  <wim@fluendo.com>
18696
18697         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18698         (gst_base_sink_event), (gst_base_sink_get_times),
18699         (gst_base_sink_do_sync), (gst_base_sink_change_state):
18700         * gst/base/gstbasesink.h:
18701         Store and use discont values when syncing buffers as described
18702         in design docs.
18703         
18704         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
18705         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
18706         (gst_base_src_activate_push):
18707         Push discont event when starting.
18708
18709         * gst/elements/gstidentity.c: (gst_identity_transform):
18710         Small cleanups.
18711
18712         * gst/gstbin.c: (gst_bin_change_state):
18713         Small cleanups in base_time  distribution.
18714
18715         * gst/gstelement.c: (gst_element_set_base_time),
18716         (gst_element_get_base_time), (gst_element_change_state):
18717         * gst/gstelement.h:
18718         Added methods for the base_time of the element.
18719         Some MT fixes.
18720
18721         * gst/gstpipeline.c: (gst_pipeline_send_event),
18722         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
18723         (gst_pipeline_get_last_stream_time):
18724         * gst/gstpipeline.h:
18725         MT fixes.
18726         Handle seeking as described in design doc, remove stream_time
18727         hack.
18728         Cleanups clock and stream_time selection code. Added accessors
18729         for the stream_time.
18730         
18731
18732 2005-07-16  Andy Wingo  <wingo@pobox.com>
18733
18734         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
18735         (#305291).
18736
18737 2005-07-16  Wim Taymans  <wim@fluendo.com>
18738
18739         * check/gst/gstbin.c: (GST_START_TEST):
18740         Make elements silent as the deep_notify refs the
18741         parent, which might make the test fail.
18742
18743         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
18744         Don't hold the lock for too long.
18745
18746 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
18747
18748         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
18749           Don't unref the caps we passed to gst_caps_make_writable() after
18750           passing them. gst_caps_make_writable() will do that for us.
18751
18752 2005-07-15  Andy Wingo  <wingo@pobox.com>
18753
18754         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
18755         (#157311).
18756
18757         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
18758         own marshalling function for the handoff signal. Properly type the
18759         buffer as a buffer. Fixes some warnings. Should do a more general
18760         solution.
18761         (gst_identity_class_init): Plug into the right marshaller.
18762
18763 2005-07-15  Wim Taymans  <wim@fluendo.com>
18764
18765         * docs/design/part-TODO.txt:
18766         * docs/design/part-clocks.txt:
18767         * docs/design/part-element-sink.txt:
18768         * docs/design/part-events.txt:
18769         * docs/design/part-gstpipeline.txt:
18770         Updated docs, mostly DISCONT related.
18771
18772 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
18773
18774         * docs/pwg/building-pads.xml:
18775           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
18776
18777 2005-07-15  Andy Wingo  <wingo@pobox.com>
18778
18779         * tools/gst-typefind.c: Update, add copyright block.
18780
18781         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
18782         Normalize and truncate caps before fixation.
18783
18784         * gst/gstcaps.h:
18785         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
18786         discards all but the first structure from its argument.
18787
18788 2005-07-15  Wim Taymans  <wim@fluendo.com>
18789
18790         * gst/base/gstbasetransform.c: (gst_base_transform_init),
18791         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
18792         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
18793         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
18794         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
18795         (gst_base_transform_chain), (gst_base_transform_change_state),
18796         (gst_base_transform_set_passthrough),
18797         (gst_base_transform_is_passthrough):
18798         * gst/base/gstbasetransform.h:
18799         Make passthrough work using the bufferpools.
18800         Changed API a bit, subclasses have to write into a buffer
18801         provided by the base class.
18802         More debug info in nego functions.
18803         
18804         * gst/elements/gstidentity.c: (gst_identity_init),
18805         (gst_identity_transform):
18806         Port to new base class.
18807
18808 2005-07-15  Wim Taymans  <wim@fluendo.com>
18809
18810         * gst/gstmessage.c: (gst_message_new_state_changed):
18811         * tools/gst-launch.c: (event_loop), (main):
18812         Totally dump messages in -launch with the -m option.
18813         Fix message name for State messages,
18814
18815 2005-07-14  Wim Taymans  <wim@fluendo.com>
18816
18817         * gst/base/gstbasesrc.c: (gst_base_src_loop):
18818         Post error messages on errors.
18819
18820 2005-07-14  Wim Taymans  <wim@fluendo.com>
18821
18822         * gst/gstcaps.c: (gst_caps_do_simplify):
18823         Remove debug info.
18824
18825         * gst/gsterror.h:
18826         Define error for stream stopped.
18827
18828         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
18829         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
18830         Do proper return values.
18831
18832         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
18833         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
18834         (gst_pad_get_range):
18835         Better return values.
18836
18837         * gst/gstpad.h:
18838         Reorganise return values, add macro to check for fatal errors.
18839
18840         * gst/gstqueue.c: (gst_queue_chain):
18841         Return proper GstFlowReturn values,
18842
18843 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
18844
18845         * docs/gst/gstreamer-sections.txt:
18846         * docs/gst/gstreamer.types:
18847         * docs/gst/tmpl/gst.sgml:
18848         * docs/gst/tmpl/gstbasesink.sgml:
18849         * docs/gst/tmpl/gstbasesrc.sgml:
18850         * docs/gst/tmpl/gstbasetransform.sgml:
18851         * docs/gst/tmpl/gstbin.sgml:
18852         * docs/gst/tmpl/gstbuffer.sgml:
18853         * docs/gst/tmpl/gstcaps.sgml:
18854         * docs/gst/tmpl/gstclock.sgml:
18855         * docs/gst/tmpl/gstcompat.sgml:
18856         * docs/gst/tmpl/gstconfig.sgml:
18857         * docs/gst/tmpl/gstelement.sgml:
18858         * docs/gst/tmpl/gstelementdetails.sgml:
18859         * docs/gst/tmpl/gstelementfactory.sgml:
18860         * docs/gst/tmpl/gstenumtypes.sgml:
18861         * docs/gst/tmpl/gsterror.sgml:
18862         * docs/gst/tmpl/gstevent.sgml:
18863         * docs/gst/tmpl/gstfakesink.sgml:
18864         * docs/gst/tmpl/gstfakesrc.sgml:
18865         * docs/gst/tmpl/gstfilesink.sgml:
18866         * docs/gst/tmpl/gstfilesrc.sgml:
18867         * docs/gst/tmpl/gstfilter.sgml:
18868         * docs/gst/tmpl/gstformat.sgml:
18869         * docs/gst/tmpl/gstghostpad.sgml:
18870         * docs/gst/tmpl/gstimplementsinterface.sgml:
18871         * docs/gst/tmpl/gstindex.sgml:
18872         * docs/gst/tmpl/gstindexfactory.sgml:
18873         * docs/gst/tmpl/gstinfo.sgml:
18874         * docs/gst/tmpl/gstiterator.sgml:
18875         * docs/gst/tmpl/gstmacros.sgml:
18876         * docs/gst/tmpl/gstmemchunk.sgml:
18877         * docs/gst/tmpl/gstminiobject.sgml:
18878         * docs/gst/tmpl/gstobject.sgml:
18879         * docs/gst/tmpl/gstpad.sgml:
18880         * docs/gst/tmpl/gstpadtemplate.sgml:
18881         * docs/gst/tmpl/gstparse.sgml:
18882         * docs/gst/tmpl/gstpipeline.sgml:
18883         * docs/gst/tmpl/gstplugin.sgml:
18884         * docs/gst/tmpl/gstpluginfeature.sgml:
18885         * docs/gst/tmpl/gstquery.sgml:
18886         * docs/gst/tmpl/gstqueue.sgml:
18887         * docs/gst/tmpl/gstregistry.sgml:
18888         * docs/gst/tmpl/gstregistrypool.sgml:
18889         * docs/gst/tmpl/gstscheduler.sgml:
18890         * docs/gst/tmpl/gstschedulerfactory.sgml:
18891         * docs/gst/tmpl/gststructure.sgml:
18892         * docs/gst/tmpl/gstsystemclock.sgml:
18893         * docs/gst/tmpl/gsttaglist.sgml:
18894         * docs/gst/tmpl/gsttagsetter.sgml:
18895         * docs/gst/tmpl/gsttrace.sgml:
18896         * docs/gst/tmpl/gsttrashstack.sgml:
18897         * docs/gst/tmpl/gsttypefind.sgml:
18898         * docs/gst/tmpl/gsttypefindfactory.sgml:
18899         * docs/gst/tmpl/gsttypes.sgml:
18900         * docs/gst/tmpl/gsturihandler.sgml:
18901         * docs/gst/tmpl/gsturitype.sgml:
18902         * docs/gst/tmpl/gstutils.sgml:
18903         * docs/gst/tmpl/gstvalue.sgml:
18904         * docs/gst/tmpl/gstversion.sgml:
18905         * docs/gst/tmpl/gstxml.sgml:
18906         * docs/libs/tmpl/gstcontrol.sgml:
18907         * docs/libs/tmpl/gstdataprotocol.sgml:
18908         * docs/libs/tmpl/gstdparam.sgml:
18909         * docs/libs/tmpl/gstdplinint.sgml:
18910         * docs/libs/tmpl/gstdpman.sgml:
18911         * docs/libs/tmpl/gstdpsmooth.sgml:
18912         * docs/libs/tmpl/gstgetbits.sgml:
18913         * docs/libs/tmpl/gstunitconvert.sgml:
18914         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
18915         (gst_push_src_base_init), (gst_push_src_class_init),
18916         (gst_push_src_init), (gst_push_src_create):
18917         * gst/base/gstpushsrc.h:
18918         * gst/elements/gstelements.c:
18919         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
18920         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
18921         (gst_fake_sink_init), (gst_fake_sink_set_property),
18922         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
18923         (gst_fake_sink_event), (gst_fake_sink_preroll),
18924         (gst_fake_sink_render), (gst_fake_sink_change_state):
18925         * gst/elements/gstfakesink.h:
18926         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
18927         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
18928         (gst_fake_src_base_init), (gst_fake_src_class_init),
18929         (gst_fake_src_init), (gst_fake_src_event_handler),
18930         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
18931         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
18932         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
18933         (gst_fake_src_create_buffer), (gst_fake_src_create),
18934         (gst_fake_src_start), (gst_fake_src_stop):
18935         * gst/elements/gstfakesrc.h:
18936         * gst/elements/gstfilesink.c: (_do_init),
18937         (gst_file_sink_base_init), (gst_file_sink_class_init),
18938         (gst_file_sink_init), (gst_file_sink_dispose),
18939         (gst_file_sink_set_location), (gst_file_sink_set_property),
18940         (gst_file_sink_get_property), (gst_file_sink_open_file),
18941         (gst_file_sink_close_file), (gst_file_sink_query),
18942         (gst_file_sink_event), (gst_file_sink_render),
18943         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
18944         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
18945         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
18946         * gst/elements/gstfilesink.h:
18947         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
18948         (gst_file_src_class_init), (gst_file_src_init),
18949         (gst_file_src_finalize), (gst_file_src_set_location),
18950         (gst_file_src_set_property), (gst_file_src_get_property),
18951         (gst_file_src_map_region), (gst_file_src_map_small_region),
18952         (gst_file_src_create_mmap), (gst_file_src_create_read),
18953         (gst_file_src_create), (gst_file_src_is_seekable),
18954         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
18955         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
18956         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
18957         (gst_file_src_uri_handler_init):
18958         * gst/elements/gstfilesrc.h:
18959           more autistic cleanliness in functions/names/defines
18960
18961 2005-07-13  Andy Wingo  <wingo@pobox.com>
18962
18963         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
18964         source couldn't negotiate.
18965
18966         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
18967         connections again.
18968
18969         * gst/gstutils.h:
18970         * gst/gstutils.c (gst_element_link_pads_filtered): New old
18971         function. I am channeling Hades. Put your boots on suckers!!!
18972
18973 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
18974
18975         * testsuite/caps/Makefile.am:
18976         * testsuite/caps/value_compare.c:
18977         * testsuite/caps/value_intersect.c:
18978         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
18979           move two testsuite apps over to the check dir
18980
18981 2005-07-12  Wim Taymans  <wim@fluendo.com>
18982
18983         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
18984         Added more debug info in the negotiate process.
18985
18986         * gst/gstmessage.h:
18987         Prepare for segment playback.
18988
18989         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
18990         Better debugging.
18991
18992         * gst/gstutils.c:
18993         Some more docs.
18994
18995         * tools/gst-launch.c: (main):
18996         NULL pipeline on errors.
18997
18998 2005-07-12  Andy Wingo  <wingo@pobox.com>
18999
19000         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
19001         not it comes from a malloc region. Make sure our copy gets freed.
19002
19003 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
19004
19005         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
19006         * check/gst/gstmessage.c: (GST_START_TEST):
19007         * check/gst/gststructure.c: (GST_START_TEST),
19008         (gst_structure_suite), (main):
19009           more testing
19010         * gst/gstelement.c: (gst_element_message_full):
19011           clean up GError and debug string now that they get copied
19012         * gst/gstmessage.c: (gst_message_new_error),
19013         (gst_message_new_warning), (gst_message_parse_error),
19014         (gst_message_parse_warning):
19015           use GST_TYPE_G_ERROR for structure_new, and take copies of
19016           arguments, so that we don't mess up refcounting
19017
19018 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
19019
19020         * check/Makefile.am:
19021           add per-test valgrind targets
19022         * check/gst-libs/gdp.c: (GST_START_TEST),
19023         (gst_data_protocol_suite), (main):
19024           clean up
19025
19026 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
19027
19028         * check/Makefile.am:
19029           instate more valgrindable tests
19030         * check/elements/gstfakesrc.c: (chain_func), (event_func),
19031         (GST_START_TEST), (fakesrc_suite):
19032         * check/gst/gstpad.c: (GST_START_TEST):
19033         * check/gst/gststructure.c: (GST_START_TEST):
19034           fix test leaks
19035         * docs/gst/tmpl/gstminiobject.sgml:
19036         * gst/gstpad.c: (gst_pad_finalize):
19037           fix the static mutex leak
19038
19039 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19040
19041         * check/Makefile.am:
19042           add two more tests for valgrinding
19043         * check/gst/gstvalue.c: (GST_START_TEST):
19044           test refcount of deserialized buffer, found a leak
19045         * docs/gst/gstreamer-docs.sgml:
19046         * docs/gst/gstreamer-sections.txt:
19047         * docs/gst/gstreamer.types:
19048         * docs/gst/tmpl/gstminiobject.sgml:
19049           add miniobject to docs
19050         * gst/gstminiobject.c:
19051           add some docs
19052         * gst/gstvalue.c: (gst_value_deserialize_buffer),
19053         (gst_string_unwrap):
19054           fix a hard-to-find invalid write for one of the tests
19055           fix a leak for deserialized buffers
19056
19057 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19058
19059         * docs/pwg/advanced-events.xml:
19060         * docs/pwg/advanced-request.xml:
19061         * docs/pwg/advanced-scheduling.xml:
19062         * docs/pwg/appendix-porting.xml:
19063         * docs/pwg/building-boiler.xml:
19064         * docs/pwg/intro-preface.xml:
19065         * docs/pwg/other-ntoone.xml:
19066           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
19067           of example code and explanation for pad activation, loop() and
19068           getrange() functions and a bit more. Remove old comments pointing
19069           to loop-functions.
19070         * examples/pwg/Makefile.am:
19071           Add loop/getrange examples.
19072
19073 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19074
19075         * configure.ac:
19076           check for valgrind binary + some fixes
19077         * check/gst.supp:
19078           valgrind suppressions for the tests
19079         * check/Makefile.am:
19080           add a valgrind: target that valgrinds the unit tests
19081         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
19082         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
19083         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
19084         * check/gst/gstghostpad.c:
19085           added some cleanup
19086         * check/gst/gstdata.c:
19087           removed
19088         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
19089         (thread_unref), (gst_mini_object_suite), (main):
19090           added
19091         * gst/gst.c: (gst_deinit):
19092         * gst/gst.h:
19093           add a method to clean up.
19094         * gst/gstsystemclock.c: (gst_system_clock_dispose),
19095         (gst_system_clock_obtain):
19096           allow for disposing the system clock.
19097         * tools/gst-launch.c: (main):
19098           deinit
19099
19100 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19101
19102         * docs/gst/tmpl/gstbasesrc.sgml:
19103         * docs/gst/tmpl/gstfakesrc.sgml:
19104         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
19105         (gst_base_src_init), (gst_base_src_set_property),
19106         (gst_base_src_get_property), (gst_base_src_get_range),
19107         (gst_base_src_start):
19108         * gst/base/gstbasesrc.h:
19109           add num-buffers property
19110         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
19111         (gst_fakesrc_init), (gst_fakesrc_set_property),
19112         (gst_fakesrc_get_property), (gst_fakesrc_create),
19113         (gst_fakesrc_start):
19114           remove num-buffers property
19115
19116 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19117
19118         * docs/gst/gstreamer-sections.txt:
19119         * docs/gst/tmpl/gstbasesink.sgml:
19120         * docs/gst/tmpl/gstbasesrc.sgml:
19121         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
19122         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
19123         (gst_base_sink_finalize), (gst_base_sink_set_clock),
19124         (gst_base_sink_set_property), (gst_base_sink_get_property),
19125         (gst_base_sink_handle_object), (gst_base_sink_event),
19126         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
19127         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
19128         (gst_base_sink_loop), (gst_base_sink_deactivate),
19129         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
19130         (gst_base_sink_change_state):
19131         * gst/base/gstbasesink.h:
19132         * gst/base/gstbasesrc.h:
19133         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
19134         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
19135         (gst_filesink_init):
19136           more macro splitting
19137
19138 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19139
19140         * gst/gstelement.c: (gst_element_get_bus):
19141           add debug
19142         * tools/gst-launch.c: (check_intr), (event_loop):
19143           fix bus leaks
19144
19145 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19146
19147         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
19148           fix a caps leak
19149
19150 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19151
19152         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
19153         (gst_base_src_finalize):
19154           add finalize method and clean up properly
19155         * gst/gstpipeline.c: (gst_pipeline_dispose):
19156           add debug
19157
19158 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
19159
19160         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
19161         (gst_bin_suite):
19162           add more things to check
19163         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
19164         * gst/gstelement.c:
19165           more debug
19166
19167 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
19168
19169         * check/elements/gstfakesrc.c: (chain_func), (event_func),
19170         (GST_START_TEST), (fakesrc_suite):
19171         * check/gst-libs/gdp.c: (GST_START_TEST):
19172         * check/gst/gst.c: (GST_START_TEST):
19173         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
19174         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
19175         * check/gst/gstbus.c: (GST_START_TEST):
19176         * check/gst/gstcaps.c: (GST_START_TEST):
19177         * check/gst/gstdata.c: (GST_START_TEST):
19178         * check/gst/gstelement.c: (GST_START_TEST):
19179         * check/gst/gstghostpad.c: (GST_START_TEST):
19180         * check/gst/gstiterator.c: (GST_START_TEST):
19181         * check/gst/gstmessage.c: (GST_START_TEST):
19182         * check/gst/gstobject.c: (GST_START_TEST):
19183         * check/gst/gstpad.c: (GST_START_TEST):
19184         * check/gst/gststructure.c: (GST_START_TEST):
19185         * check/gst/gstsystemclock.c: (GST_START_TEST),
19186         (gst_systemclock_suite):
19187         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
19188         * check/gst/gstvalue.c: (GST_START_TEST):
19189         * check/pipelines/cleanup.c: (GST_START_TEST):
19190         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
19191         * check/states/sinks.c: (GST_START_TEST):
19192         * check/gstcheck.c: (gst_check_init):
19193         * check/gstcheck.h:
19194           add debugging category
19195           use GST_START_TEST now, so we add a debug line
19196
19197 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
19198
19199         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
19200           add test for state change message on a bin
19201         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
19202           add another test
19203         * gst/gstbin.c: (gst_bin_init):
19204         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
19205         * gst/gstelement.c: (gst_element_post_message),
19206         (gst_element_set_state):
19207         * gst/gstelementfactory.c: (gst_element_factory_create):
19208         * gst/gstmessage.c: (gst_message_new):
19209         * gst/gstscheduler.c:
19210           various debugging additions and cleanups
19211
19212 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19213
19214         * check/Makefile.am:
19215         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
19216         (main):
19217           adding tests for elements
19218         * gst/gstelement.c: (gst_element_dispose):
19219
19220 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19221
19222         * gst/registries/gstlibxmlregistry.c: (load_feature):
19223           plug more leaks.  A simple gst_init() now is leakfree, yay.
19224
19225 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19226
19227         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
19228         (gst_xml_registry_load):
19229           plug another memleak
19230
19231 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19232
19233         * configure.ac:
19234           use GST_SET_ERROR_CFLAGS
19235         * docs/faq/cvs.xml:
19236           change to ERROR_CFLAGS
19237
19238 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19239
19240         * configure.ac:
19241           make GST_ERROR_CFLAGS overridable and re-enable Werror
19242         * docs/faq/cvs.xml:
19243           add a note about error CFLAGS
19244         * docs/gst/tmpl/gstfakesrc.sgml:
19245         * gst/elements/gstfakesrc.c:
19246           comment out some unused code
19247         * gst/gst.c: (split_and_iterate):
19248         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
19249         (load_feature):
19250           plug some memleaks
19251
19252 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
19253
19254         * common/Makefile.am:
19255         * common/gtk-doc.mak:
19256         * docs/gst/Makefile.am:
19257           factor out gtk-doc.mak
19258
19259 2005-07-07  Wim Taymans  <wim@fluendo.com>
19260
19261         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
19262         (gst_thread_scheduler_dispose):
19263         Unlock the STREAM_LOCK completely.
19264
19265 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
19266
19267         * check/Makefile.am:
19268         * check/elements/.cvsignore:
19269         * check/elements/gstfakesrc.c: (chain_func), (event_func),
19270         (START_TEST), (fakesrc_suite), (main):
19271         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
19272         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
19273         (gst_fakesrc_create), (gst_fakesrc_start):
19274         * gst/elements/gstfakesrc.h:
19275           adding a first element test
19276
19277 2005-07-07  Andy Wingo  <wingo@pobox.com>
19278
19279         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
19280         debug message.
19281
19282 2005-07-07  Wim Taymans  <wim@fluendo.com>
19283
19284         * gst/gstquery.c:
19285         * gst/gstquery.h:
19286         Remove old types
19287
19288 2005-07-07  Wim Taymans  <wim@fluendo.com>
19289
19290         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
19291         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
19292         Allow subclasses to implement their own negotiation.
19293
19294 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
19295
19296         * docs/design/part-gstbin.txt:
19297         * docs/design/part-gstpipeline.txt:
19298           Update design notes to reflect the movement of
19299           responsibility for bus handling from GstPipeline to
19300           GstBin
19301
19302 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
19303
19304         * configure.ac:
19305           Remove unnecessary queue2/3/4 examples.
19306
19307 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
19308
19309         * examples/Makefile.am:
19310         * examples/helloworld/helloworld.c: (event_loop), (main):
19311         * examples/queue/queue.c: (event_loop), (main):
19312         * examples/queue2/queue2.c: (main):
19313           Update a couple of the examples to work again.
19314
19315         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
19316         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
19317          Spelling corrections and extra debug.
19318         
19319         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
19320         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
19321         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
19322         * gst/gstbin.h:
19323         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
19324         (gst_pipeline_change_state):
19325         * gst/gstpipeline.h:
19326           Move the bus handler for children to the GstBin, and create a
19327           separate bus for receiving messages from children to the one the
19328           bus sends 'upwards' on.
19329
19330 2005-07-06  Wim Taymans  <wim@fluendo.com>
19331
19332         * gst/base/README:
19333         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
19334         (gst_base_sink_handle_object), (gst_base_sink_loop),
19335         (gst_base_sink_change_state):
19336         * gst/base/gstbasesink.h:
19337         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
19338         (gst_base_src_init), (gst_base_src_setcaps),
19339         (gst_base_src_getcaps), (gst_base_src_loop),
19340         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
19341         (gst_base_src_start), (gst_base_src_change_state):
19342         * gst/base/gstbasesrc.h:
19343         Make basesrc negotiate.
19344         Handle the case where preroll fails in basesink.
19345         Update README.
19346
19347 2005-07-06  Wim Taymans  <wim@fluendo.com>
19348
19349         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
19350         Implement the fixate function.
19351         Clean up acceptcaps.
19352
19353 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19354
19355         * docs/pwg/building-filterfactory.xml:
19356         * docs/pwg/pwg.xml:
19357           Remove never-written filter-factory chapter; I'll add the various
19358           base classes to part 4 ("other element types") later on.
19359
19360 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19361
19362         * docs/pwg/advanced-negotiation.xml:
19363         * docs/pwg/building-boiler.xml:
19364         * docs/pwg/building-pads.xml:
19365         * docs/pwg/pwg.xml:
19366         * examples/pwg/Makefile.am:
19367           Add a chapter on caps negotiation, simplify the original code
19368           samples a bit w.r.t. caps negotiation, add link to the advanced
19369           section. Add a bunch of examples showing different use cases of
19370           different types of caps negotiation. Upstream renegotiation isn't
19371           fully documented yet since nobody knows how that works.
19372
19373 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
19374
19375         * check/gst/gstpad.c:
19376         * check/gstcheck.c:
19377         * gst/gstpad.c: (gst_pad_get_internal_links_default):
19378           if pad has no parent, return NULL as list of internal links
19379
19380 2005-07-05  Andy Wingo  <wingo@pobox.com>
19381
19382         * gst/elements/gstfilesrc.c:
19383         * gst/elements/gstfakesrc.c: 
19384         * gst/base/gstpushsrc.c:
19385         * gst/base/gstbasesrc.h: 
19386         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
19387         
19388 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
19389
19390         * Makefile.am:
19391           better report generation target (lcov needs a patch)
19392
19393 2005-07-05  Andy Wingo  <wingo@pobox.com>
19394
19395         * gst/elements, testsuite: Null if we got it...
19396
19397 2005-07-05  Wim Taymans  <wim@fluendo.com>
19398
19399         * configure.ac:
19400         * libs/gst/dataprotocol/Makefile.am:
19401         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
19402         * libs/gst/dataprotocol/dataprotocol.h:
19403         * pkgconfig/Makefile.am:
19404         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
19405         * pkgconfig/gstreamer-dataprotocol.pc.in:
19406         Ported dataprotol to 0.9. 
19407         Added pkgconfig files.
19408
19409 2005-07-05  Andy Wingo  <wingo@pobox.com>
19410
19411         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
19412         Default to returning TRUE for the case when tranform_caps returns
19413         a fixed caps, like for identity or volume.
19414
19415         * check/gst/gstbus.c (pound_bus_with_messages): 
19416         * check/gst/gstmessage.c (START_TEST): 
19417         * check/pipelines/simple_launch_lines.c (got_handoff): Application
19418         message API change.
19419
19420         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
19421         logic weaks here: always run transform_caps, trying passthrough
19422         operation only if the original caps intersects with the transform.
19423
19424         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
19425         source and sink caps.
19426
19427         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
19428         Intersect the peer caps with the pad template before going into
19429         transform_caps.
19430         (gst_base_transform_transform_caps): More debugging.
19431
19432         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
19433         src argument.
19434
19435 2005-07-04  Edward Hervey  <edward@fluendo.com>
19436
19437         * gst/gstutils.c:
19438         * gst/gstutils.h:
19439         (gst_pad_add_*_probe): now returns the signal id for better wrapping
19440         in bindings.
19441
19442 2005-07-04  Andy Wingo  <wingo@pobox.com>
19443
19444         * check/gst/gstpad.c: Only set explicit caps on pads.
19445
19446 2005-07-01  Andy Wingo  <wingo@pobox.com>
19447
19448         * tests/network-clock.scm: Commentary update.
19449
19450         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
19451         Didn't really make sense, not implementable with basetransform,
19452         etc.
19453         (gst_identity_transform): Unref inbuf via make_writable. Feeble
19454         attempt at implementing the sync property, needs an unlock method.
19455
19456         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
19457         New func, by default returns the same caps (the identity
19458         transformation).
19459         (gst_base_transform_getcaps): Uses transform_caps to return
19460         something sensible.
19461         (gst_base_transform_setcaps): Complicated logic to get caps on
19462         both pads, even if they are different, and to call set_caps once
19463         for every time both pads get their caps set.
19464         (gst_base_transform_handle_buffer): Give the ref to the transform
19465         function. Allows in-place modification of the buffer.
19466
19467         * gst/base/gstbasetransform.h (transform_caps): New class method.
19468         Given caps on one side, what can I do on the other.
19469         (set_caps): Take two caps, one for each side of the element.
19470
19471         * gst/gstpad.h:
19472         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
19473         caps in place. This is safe because we can check the mutability of
19474         the caps, and a good idea because fixate functions are just called
19475         as a matter of last resort. (Not actually implemented.)
19476         (gst_pad_set_caps): If the caps we're setting is actually the same
19477         as the existing pad caps, just update the pointer without calling
19478         setcaps. Assert that caps is either NULL or fixed, as per the
19479         docs.
19480
19481         * gst/gstghostpad.c: Update for fixate changes.
19482
19483 2005-07-02  Andy Wingo  <wingo@pobox.com>
19484
19485         * gst/gstcaps.c:
19486         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
19487         two refcounts makes it immutable, which is enough. Doc more.
19488
19489 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
19490
19491         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
19492           Put the mini_object into GValue as a mini_object,
19493           not a gpointer, since that's how we declared
19494           the signal.
19495
19496 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19497
19498         * examples/pwg/Makefile.am:
19499           Fix buildbot again.
19500
19501 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19502
19503         * docs/pwg/building-testapp.xml:
19504           Add extra check.
19505         * examples/pwg/Makefile.am:
19506           Fix buildbot.
19507
19508 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19509
19510         * configure.ac:
19511         * examples/Makefile.am:
19512         * examples/pwg/Makefile.am:
19513         * examples/pwg/extract.pl:
19514           Enable building the PWG examples.
19515         * docs/pwg/advanced-interfaces.xml:
19516           Add URI interface stub.
19517         * docs/pwg/advanced-types.xml:
19518         * docs/pwg/other-autoplugger.xml:
19519         * docs/pwg/appendix-porting.xml:
19520         * docs/pwg/pwg.xml:
19521           Add porting guide (mostly stubs), remove autoplugging (see ADM).
19522         * docs/pwg/building-boiler.xml:
19523         * docs/pwg/building-chainfn.xml:
19524         * docs/pwg/building-pads.xml:
19525         * docs/pwg/building-props.xml:
19526         * docs/pwg/building-state.xml:
19527         * docs/pwg/building-testapp.xml:
19528           Update the building-*.xml parts for 0.9 changes. All examples
19529           code blocks compile in examples/pwg/*.
19530
19531 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19532
19533         * docs/manual/advanced-autoplugging.xml:
19534         * docs/manual/appendix-checklist.xml:
19535         * docs/manual/appendix-integration.xml:
19536         * docs/manual/highlevel-components.xml:
19537           Fix playbin/decodebin examples, update docs a bit, mention bus
19538           instead of signals in various places, mention kmplayer and
19539           kaffeine since they have a working GStreamer backend in the KDE
19540           section.
19541
19542 2005-06-30  Wim Taymans  <wim@fluendo.com>
19543
19544         * CHANGES-0.9:
19545         * docs/design/draft-ghostpads.txt:
19546         * docs/design/draft-push-pull.txt:
19547         * docs/design/draft-query.txt:
19548         * docs/design/part-TODO.txt:
19549         * docs/design/part-query.txt:
19550         Added CHANGES-0.9 doc, updated status of other docs.
19551         
19552         * gst/gstquery.h:
19553         Remove "hmm" macro
19554
19555 2005-06-30  Wim Taymans  <wim@fluendo.com>
19556
19557         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
19558         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
19559         (gst_base_sink_change_state):
19560         * gst/base/gstbasesink.h:
19561         Some tweaks, only EOS and a buffer complete a preroll.
19562
19563 2005-06-30  Andy Wingo  <wingo@pobox.com>
19564
19565         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
19566         activate_push down to the internal pad as well.
19567
19568 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
19569
19570         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19571
19572         * gst/gsttaginterface.c:
19573           Some documentation fixes (#307394 and #307397).
19574
19575 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
19576
19577         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19578
19579         * gst/gstvalue.c: (gst_value_intersect_list):
19580           Fix memleak (#309125).
19581
19582 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19583
19584         * docs/manual/advanced-dataaccess.xml:
19585           Fix fakesrc example to compile; doesn't work, bug somewhere...?
19586         * docs/manual/basics-pads.xml:
19587           Add reference for filtered caps to above chapter.
19588
19589 2005-06-30  Wim Taymans  <wim@fluendo.com>
19590
19591         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
19592         (gst_bin_change_state):
19593         Probes are gone.
19594         Lame attempt at making the state change function a bit
19595         more readable.
19596
19597 2005-06-30  Wim Taymans  <wim@fluendo.com>
19598
19599         * docs/design/part-clocks.txt:
19600         * docs/design/part-element-sink.txt:
19601         * docs/design/part-events.txt:
19602         * docs/design/part-preroll.txt:
19603         * docs/design/part-states.txt:
19604         Some more tweeks and additions to the docs.
19605
19606 2005-06-30  Wim Taymans  <wim@fluendo.com>
19607
19608         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
19609         (default_have_data), (gst_pad_class_init), (gst_pad_init),
19610         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
19611         (gst_pad_check_pull_range), (gst_pad_get_range),
19612         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
19613         * gst/gstpad.h:
19614         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
19615         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
19616         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
19617         (gst_pad_remove_buffer_probe):
19618         Removed atomic operations, use existing LOCK.
19619         Move exception handling out of main code path.
19620
19621 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19622
19623         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
19624         (silly_return_true_function), (gst_pad_class_init),
19625         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
19626         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
19627         (gst_pad_send_event):
19628           Fix accumulator, add default value by using _emitv() instead
19629           of _emit() for signal emission.
19630
19631 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19632
19633         * docs/manual/advanced-dataaccess.xml:
19634         * examples/manual/Makefile.am:
19635           Add probe example.
19636         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
19637           Make work (??).
19638
19639 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
19640
19641         * gst/elements/gstfilesink.c: (gst_filesink_render):
19642           Simplify code so that we don't have to handle short
19643           writes and return GST_FLOW_ERROR if an error occured.
19644
19645 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19646
19647         * docs/gst/gstreamer-docs.sgml:
19648           Remove probes more.
19649
19650 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19651
19652         * docs/gst/gstreamer-sections.txt:
19653         * docs/gst/tmpl/gstpad.sgml:
19654         * docs/gst/tmpl/gstprobe.sgml:
19655         * gst/Makefile.am:
19656         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
19657         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
19658         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
19659         (gst_pad_push_event), (gst_pad_send_event):
19660         * gst/gstpad.h:
19661         * gst/gstutils.c: (gst_pad_add_data_probe),
19662         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
19663         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
19664         (gst_pad_remove_buffer_probe):
19665         * gst/gstutils.h:
19666           Remove old probes, add new g-signal-based probes and some utility
19667           functions.
19668
19669 2005-06-29  Edward Hervey  <edward@fluendo.com>
19670
19671         * gst/gstelementfactory.c:
19672         * gst/gstutils.h:
19673         * gst/gstutils.c:
19674         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
19675         the definition to the header file.
19676
19677 2005-06-29  Andy Wingo  <wingo@pobox.com>
19678
19679         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
19680         plugins from the source directory.
19681
19682 2005-06-29  Wim Taymans  <wim@fluendo.com>
19683
19684         * docs/gst/tmpl/gstbuffer.sgml:
19685         * docs/gst/tmpl/gstclock.sgml:
19686         Some fixings for blantently wrong text.
19687
19688 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19689
19690         * check/Makefile.am:
19691         * gst/gst.c: (add_path_func), (init_pre):
19692         * gst/gstregistry.c: (gst_registry_add_path):
19693           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
19694           only scan the GST_PLUGIN_PATH locations, and not add
19695           system locations
19696
19697 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19698
19699         * docs/gst/gstreamer-sections.txt:
19700         * docs/gst/tmpl/gstbasesrc.sgml:
19701         * gst/gstelement.c:
19702         * gst/gstelement.h:
19703         * gst/gstevent.c:
19704         * gst/gstutils.c:
19705           doc fixes
19706
19707 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19708
19709         * docs/manual/advanced-autoplugging.xml:
19710           Fix autoplugging example.
19711
19712 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19713
19714         * docs/manual/advanced-autoplugging.xml:
19715         * docs/manual/mime-world.fig:
19716           Try to get autoplugging working, fix type detection. Fix text
19717           in hello-world image.
19718
19719 2005-06-29  Wim Taymans  <wim@fluendo.com>
19720
19721         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19722         (gst_base_sink_change_state):
19723         Small debug line.
19724
19725         * gst/gstclock.h:
19726         map SIGNAL and BROADCAST to the right function.
19727
19728         * gst/gstobject.h:
19729         Remove redundant braces.
19730
19731         * gst/gstpad.c: (gst_pad_set_caps):
19732         Don't call setcaps function when reseting caps to NULL.
19733
19734         * gst/gstsystemclock.c: (gst_system_clock_dispose),
19735         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
19736         (gst_system_clock_id_unschedule):
19737         Use BROADCAST as this is what we do.
19738
19739 2005-06-29  Wim Taymans  <wim@fluendo.com>
19740
19741         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19742         We are actually prerolling before commiting the state
19743         change. 
19744
19745 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19746
19747         * docs/manual/advanced-clocks.xml:
19748         * docs/manual/advanced-interfaces.xml:
19749         * docs/manual/advanced-metadata.xml:
19750         * docs/manual/advanced-position.xml:
19751         * docs/manual/advanced-schedulers.xml:
19752         * docs/manual/advanced-threads.xml:
19753         * docs/manual/appendix-porting.xml:
19754         * docs/manual/basics-bins.xml:
19755         * docs/manual/basics-bus.xml:
19756         * docs/manual/basics-elements.xml:
19757         * docs/manual/basics-helloworld.xml:
19758         * docs/manual/basics-pads.xml:
19759         * docs/manual/highlevel-components.xml:
19760         * docs/manual/manual.xml:
19761         * docs/manual/thread.fig:
19762           Update (until threads/scheduling) Application Development Manual;
19763           remove GstThread, add GstBus, add simple porting checklist, add
19764           documentation for tag writing, clocks, make all examples until this
19765           part compile and run.
19766         * examples/manual/Makefile.am:
19767           Update from changes to Application Development Manual; add bus
19768           example, remove thread example.
19769
19770 2005-06-28  Wim Taymans  <wim@fluendo.com>
19771
19772         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
19773         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
19774         (gst_bus_source_dispatch):
19775         Add debugging messages.
19776         Make internal methods static.
19777         Handle the case where the bus is flushed in the handler.
19778         
19779         * gst/gstelement.c: (gst_element_get_bus):
19780         Fix refcount in _get_bus();
19781
19782         * gst/gstpipeline.c: (gst_pipeline_change_state),
19783         (gst_pipeline_get_clock_func):
19784         Clock refcounting fixes.
19785         Handle the case where preroll timed out more gracefully.
19786         
19787         * gst/gstsystemclock.c: (gst_system_clock_dispose):
19788         Clean up the internal thread in dispose. This is needed
19789         for subclasses that actually get disposed.
19790         
19791         * gst/schedulers/threadscheduler.c:
19792         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
19793         (gst_thread_scheduler_dispose):
19794         Free thread pool in dispose.
19795
19796 2005-06-28  Andy Wingo  <wingo@pobox.com>
19797
19798         * tests/network-clock-utils.scm (debug, print-event): New utils.
19799
19800         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
19801         (*packet-loss*): Unified loss probability.
19802         (network-time): Report out-of-band events.
19803
19804         * tests/plot-data: Add support for out-of-band events. Hack it
19805         into this script instead of passing it down the pipe; should fix
19806         this later.
19807
19808 2005-06-28  Wim Taymans  <wim@fluendo.com>
19809
19810         * docs/gst/gstreamer.types:
19811         * docs/gst/tmpl/gstbasesrc.sgml:
19812         * docs/gst/tmpl/gstpad.sgml:
19813         Docs fixes.
19814
19815 2005-06-28  Wim Taymans  <wim@fluendo.com>
19816
19817         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
19818         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
19819         (gst_proxy_pad_do_fixatecaps):
19820         Correctly proxy the check_pull_range function.
19821
19822 2005-06-28  Andy Wingo  <wingo@pobox.com>
19823
19824         * tests/network-clock.scm: Removed need for slib.
19825         
19826 2005-06-28  Wim Taymans  <wim@fluendo.com>
19827
19828         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
19829         (gst_basesink_preroll_queue_flush):
19830         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
19831         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
19832         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
19833         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
19834         (gst_proxy_pad_set_property):
19835         * gst/gstpad.c:
19836         * gst/gstpad.h:
19837         * gst/gstqueue.c: (gst_queue_init):
19838         The deprecated pad loop function is removed now.
19839
19840 2005-06-28  Andy Wingo  <wingo@pobox.com>
19841
19842         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
19843         New parameters, simulate network packet loss.
19844
19845         * tests/network-clock-utils.scm: Initialize the RNG.
19846
19847 2005-06-28  Wim Taymans  <wim@fluendo.com>
19848
19849         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
19850         (gst_basesink_event), (gst_basesink_deactivate):
19851         Flushing the preroll queue always needs to unlock the waiters.
19852
19853 2005-06-28  Edward Hervey  <edward@fluendo.com>
19854
19855         * gst/gstpipeline.c: (gst_pipeline_send_event): 
19856         Wheen a seek was successful on a pipeline, set the stream_time to the
19857         seek offset in order to have a synchronized stream_time.
19858
19859 2005-06-28  Wim Taymans  <wim@fluendo.com>
19860
19861         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
19862         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
19863         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
19864         (gst_proxy_pad_do_fixatecaps):
19865         Call wrapper function instead of just calling the function
19866         pointers. This takes care of any locking and whatmore.
19867
19868 2005-06-28  Wim Taymans  <wim@fluendo.com>
19869
19870         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
19871         (gst_pad_pull_range):
19872         * gst/gstpad.h:
19873         CONNECTED -> LINKED.
19874
19875 2005-06-28  Andy Wingo  <wingo@pobox.com>
19876
19877         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
19878         source-munging commit!!!
19879
19880         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
19881         (gst_object_sink): Take gpointer arguments, not GstObject --
19882         avoids casts. Like GLib.
19883
19884         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
19885         activate.
19886
19887 2005-06-27  Andy Wingo  <wingo@pobox.com>
19888
19889         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
19890         remaining buffer.
19891
19892         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
19893         returns a sorted copy of the trace list.
19894         (gst_alloc_trace_print_live): New API, only prints traces with
19895         live objects. Sort the list.
19896         (gst_alloc_trace_print_all): Sort the list.
19897         (gst_alloc_trace_print): Align columns.
19898
19899         * gst/elements/gstttypefindelement.c:
19900         * gst/elements/gsttee.c:
19901         * gst/base/gstbasesrc.c:
19902         * gst/base/gstbasesink.c:
19903         * gst/base/gstbasetransform.c:
19904         * gst/gstqueue.c: Adapt for pad activation changes.
19905
19906         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
19907         sched.
19908         (gst_pipeline_dispose): Drop ref on sched.
19909
19910         * gst/gstpad.c (gst_pad_init): Set the default activate func.
19911         (gst_pad_activate_default): Push mode by default.
19912         (pre_activate_switch, post_activate_switch): New stubs, things to
19913         do before and after switching activation modes on pads.
19914         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
19915         the pad's activate function to choose which mode to activate.
19916         Shortcut on deactivation and call the right function directly.
19917         (gst_pad_activate_pull): New API, (de)activates a pad in pull
19918         mode.
19919         (gst_pad_activate_push): New API, same for push mode.
19920         (gst_pad_set_activate_function) 
19921         (gst_pad_set_activatepull_function) 
19922         (gst_pad_set_activatepush_function): Setters for new API.
19923
19924         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
19925         Trace all miniobjects.
19926         (gst_mini_object_make_writable): Unref the arg if we copy, like
19927         gst_caps_make_writable.
19928
19929         * gst/gstmessage.c (_gst_message_initialize): No trace init.
19930
19931         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
19932         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
19933         Adapt for new pad API.
19934
19935         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
19936
19937         * gst/gstelement.h:
19938         * gst/gstelement.c (gst_element_iterate_src_pads) 
19939         (gst_element_iterate_sink_pads): New API functions.
19940         
19941         * gst/gstelement.c (iterator_fold_with_resync): New utility,
19942         should fold into gstiterator.c in some form.
19943         (gst_element_pads_activate): Simplified via use of fold and
19944         delegation of decisions to gstpad->activate.
19945
19946         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
19947         help in debugging.
19948
19949         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
19950         class once in init, like gstmessage. Didn't run into this issue
19951         but it seems correct. Don't initialize a trace, gstminiobject does
19952         that.
19953
19954         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
19955         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
19956         to the bus.
19957         (assert_live_count): New util function, uses alloc traces to check
19958         cleanup.
19959
19960         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
19961         To be modified when unlink drops the internal pad.
19962
19963 2005-06-27  Wim Taymans  <wim@fluendo.com>
19964
19965         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
19966         (gst_bin_change_state):
19967         Cleanup the get_state() function a little, make sure it
19968         iterates the same set of elements.
19969         Added stub iterate_state_order().
19970
19971 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
19972
19973         * docs/gst/gstreamer-docs.sgml:
19974         * docs/gst/gstreamer-sections.txt:
19975         * docs/gst/gstreamer.types:
19976         * docs/gst/tmpl/gstbasesink.sgml:
19977         * docs/gst/tmpl/gstbasesrc.sgml:
19978         * docs/gst/tmpl/gstbasetransform.sgml:
19979         * docs/gst/tmpl/gstelement.sgml:
19980         * docs/gst/tmpl/gstiterator.sgml:
19981         * gst/base/gstbasesrc.c:
19982         * gst/base/gstbasesrc.h:
19983         * gst/base/gstbasetransform.h:
19984         * gst/gstelement.c:
19985         * gst/gstiterator.h:
19986           adding basetransform and iterator docs
19987
19988 2005-06-27  Andy Wingo  <wingo@pobox.com>
19989
19990         * docs/design/part-activation.txt: Notes on how activation should
19991         work -- not quite implemented yet.
19992
19993 2005-06-25  Wim Taymans  <wim@fluendo.com>
19994
19995         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
19996         At least get the chain function correct, needs more
19997         fixing.
19998
19999 2005-06-25  Wim Taymans  <wim@fluendo.com>
20000
20001         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
20002         (gst_basesink_handle_object), (gst_basesink_event),
20003         (gst_basesink_do_sync), (gst_basesink_handle_event),
20004         (gst_basesink_change_state):
20005         * gst/gsttask.h:
20006         Right, two problems here: ghostpads don't take locks and
20007         glib _rec_mutex_lock_full() with depth==0 still locks.
20008         Catch illegal locking and g_warn them.
20009
20010 2005-06-25  Wim Taymans  <wim@fluendo.com>
20011
20012         * check/states/sinks.c: (START_TEST), (gst_object_suite):
20013         Have to check for completion now...
20014
20015 2005-06-25  Wim Taymans  <wim@fluendo.com>
20016
20017         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
20018         (gst_basesink_handle_object), (gst_basesink_event),
20019         (gst_basesink_do_sync), (gst_basesink_handle_event),
20020         (gst_basesink_change_state):
20021         * gst/gstpad.h:
20022         Unlock STREAM_LOCK whatever the recursion was.
20023
20024 2005-06-25  Wim Taymans  <wim@fluendo.com>
20025
20026         * gst/base/gstbasesink.c: (gst_basesink_set_property),
20027         (gst_basesink_preroll_queue_empty),
20028         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
20029         (gst_basesink_event), (gst_basesink_do_sync),
20030         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
20031         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
20032         (gst_basesink_change_state):
20033         Reworked the base sink, handle event and buffer serialisation
20034         correctly and removed possible deadlock.
20035         Handle EOS correctly.
20036
20037 2005-06-25  Wim Taymans  <wim@fluendo.com>
20038
20039         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
20040         (gst_pipeline_change_state):
20041         * tools/gst-launch.c: (check_intr), (event_loop), (main):
20042         Allow elements to post EOS in the state change function.
20043         Fix up -launch, make it exit the poll loop when the
20044         pipeline actually changed state.
20045         Fix up warning parsing in -launch.
20046
20047 2005-06-25  Wim Taymans  <wim@fluendo.com>
20048
20049         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
20050         (gst_tee_sink_activate):
20051         Core takes STREAM_LOCK for us now.
20052
20053 2005-06-25  Wim Taymans  <wim@fluendo.com>
20054
20055         * gst/gstelement.c: (gst_element_get_state_func),
20056         (gst_element_set_state):
20057         * gst/gstelement.h:
20058         * gst/gstmessage.c: (gst_message_parse_error),
20059         (gst_message_parse_warning):
20060         Keep track of current target state while performing a state
20061         change so that subclasses can do something interesting.
20062         Fix parsing of warning/error messages when GError is NULL.
20063
20064 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20065
20066         * docs/gst/Makefile.am:
20067         * docs/gst/gstreamer-docs.sgml:
20068         * docs/gst/gstreamer-sections.txt:
20069         * docs/gst/gstreamer.types:
20070         * docs/gst/tmpl/gstbasesink.sgml:
20071         * docs/gst/tmpl/gstbasesrc.sgml:
20072         * docs/gst/tmpl/gstbin.sgml:
20073         * docs/gst/tmpl/gstcompat.sgml:
20074         * docs/gst/tmpl/gstfakesink.sgml:
20075         * docs/gst/tmpl/gstfakesrc.sgml:
20076         * docs/gst/tmpl/gstfilesink.sgml:
20077         * docs/gst/tmpl/gstfilesrc.sgml:
20078         * docs/gst/tmpl/gstindex.sgml:
20079         * docs/manual/appendix-quotes.xml:
20080         * gst/base/gstbasesrc.h:
20081         * gst/elements/gstfakesrc.h:
20082         * gst/gstmessage.h:
20083           start pulling in base classes and elements in our docs
20084
20085 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
20086
20087         * docs/gst/Makefile.am:
20088         * docs/libs/Makefile.am:
20089           fixed make distcheck with gtk-doc 1.3
20090
20091 2005-06-23  Wim Taymans  <wim@fluendo.com>
20092
20093         * gst/gstelement.c: (gst_element_get_state_func),
20094         (gst_element_set_state), (gst_element_change_state):
20095         When the state did not change, also report NO_PREROLL
20096         when it matters.
20097
20098 2005-06-23  Wim Taymans  <wim@fluendo.com>
20099
20100         * gst/gstpad.c: (gst_pad_event_default):
20101         * gst/gstqueue.c: (gst_queue_loop):
20102         No unsafe task pausing please.
20103
20104 2005-06-23  Wim Taymans  <wim@fluendo.com>
20105
20106         * gst/schedulers/threadscheduler.c:
20107         (gst_thread_scheduler_task_start),
20108         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
20109         Ref the task before pushing it on the threadpool. This
20110         makes sure that we have a ref when the threadfunction is
20111         actually called.
20112
20113 2005-06-23  Andy Wingo  <wingo@pobox.com>
20114
20115         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
20116         offset is greater than the file's size.
20117
20118         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
20119         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
20120         * gst/gstobject.c (gst_object_class_init): Make the class lock
20121         recursive. Wim won't let me drop deep_notify. Decodebin works
20122         again, whoopdy doo.
20123
20124         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
20125         internal pad, and hacks accordingly. Doesn't do it on the target
20126         pad because we change its caps. Probably catches all cases of
20127         interest tho.
20128         (gst_ghost_pad_set_property): Connect to notify::caps as
20129         appropritate.
20130
20131         * tests/network-clock.scm (plot-simulation): Pipe data to the
20132         elite python skript.
20133
20134         * tests/network-clock-utils.scm (define-parameter): New macro,
20135         defines a parameter that can be set via the command line.
20136         (set-parameter!, parse-parameter-arguments): Command line args
20137         parser.
20138
20139         * tests/plot-data: Simple matplotlib-based plotter, takes input on
20140         stdin.
20141
20142 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
20143
20144         * gst/elements/gsttypefindelement.c:
20145         (gst_type_find_element_handle_event):
20146           Don't restart typefinding on a discont.
20147         * gst/gstelement.c: (gst_element_set_state):
20148           Debug spelling fix.
20149         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
20150           Allow changing mode of an active pad.
20151           Debug output fixes.
20152         * gst/registries/gstlibxmlregistry.c: (load_feature):
20153           Don't cast a static pad template to a normal pad template.
20154
20155 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20156
20157         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
20158         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
20159           remove gst_strtoll completely, since it didn't actually do
20160           anything more than what g_ascii_strtoull already does.
20161           check for range errors when deserializing
20162           do a cast for the unsigned cases; but further fixing needs
20163           a decision on what the interpretation of "(int)" and
20164           deserialization should be for values that fall outside the
20165           type's boundaries (ie, refuse, or interpret as casting)
20166
20167 2005-06-23  Wim Taymans  <wim@fluendo.com>
20168
20169         * check/Makefile.am:
20170         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
20171         * docs/design/part-live-source.txt:
20172         * docs/design/part-states.txt:
20173         * gst/base/gstbasesrc.c: (gst_basesrc_init),
20174         (gst_basesrc_set_live), (gst_basesrc_is_live),
20175         (gst_basesrc_get_range), (gst_basesrc_activate),
20176         (gst_basesrc_change_state):
20177         * gst/base/gstbasesrc.h:
20178         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
20179         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
20180         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
20181         * gst/gstelement.c: (gst_element_get_state_func),
20182         (gst_element_set_state):
20183         * gst/gstelement.h:
20184         * gst/gsttypes.h:
20185         * tools/gst-launch.c: (event_loop), (main):
20186         Added support for live sources and other elements that
20187         cannot do preroll.
20188         Updated design docs, added live-source design doc.
20189         Implemented live source functionality in basesrc
20190         Fix error condition in _bin_get_state()
20191         Implement live source handling in -launch.
20192         Added check for live sources.
20193         Fixed case in GstBin where elements were changed state
20194         multiple times.
20195
20196
20197 2005-06-23  Andy Wingo  <wingo@pobox.com>
20198
20199         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
20200         borken refcounting.
20201
20202         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
20203         gst_caps_replace takes care of this for us.
20204
20205         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
20206         gst_pad_set_caps on the target, not just its setcaps() function.
20207
20208         * tests/network-clock.scm: 
20209         * tests/network-clock-utils.scm: A network clock simulator.
20210         Something of an algorithmic testbed before doing something in C.
20211
20212 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20213
20214         * check/Makefile.am:
20215         * check/gst/capslist.h:
20216           copy over from 0.8, and add two with bitmasks specified with
20217           (int) 0xFF...
20218         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
20219           add test to parse everything from capslist.h
20220         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
20221         (main):
20222           add test for structure deserialization
20223         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
20224           add tests for deserialization of strings to int types
20225         * gst/gststructure.c: (gst_structure_nth_field_name):
20226         * gst/gststructure.h:
20227           add a way to get the name of a field referenced by index
20228         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
20229           instead of checking if the resulting long long lies between
20230           min and max, we check if the long long would fit into
20231           a number of bytes for the final type.
20232           This fixes cases where a string represents 2^32 - 1, which
20233           when cast to int would be the (valid) -1, but is bigger than
20234           G_MAXINT
20235
20236 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20237
20238         * gst/parse/grammar.y:
20239           add a log line for type deserialization
20240
20241 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20242
20243         * check/gst/gstvalue.c: (START_TEST):
20244         * gst/gstvalue.c: (gst_value_deserialize):
20245           return long long, not int, so gint64 deserialization actually
20246           works.  Is there any flag that makes the compiler check this ?
20247           Fixes #308559
20248
20249 2005-06-22  Wim Taymans  <wim@fluendo.com>
20250
20251         * gst/gstbuffer.h:
20252         Added convenience macros for setting buffers in GValue.
20253
20254 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
20255
20256         * check/gst/.cvsignore:
20257         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
20258           add a test deserializing int64, and comment part out because
20259           it fails, yay !
20260
20261 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
20262
20263         * check/Makefile.am:
20264         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
20265         * testsuite/Makefile.am:
20266         * testsuite/caps/Makefile.am:
20267         * testsuite/caps/value_serialize.c:
20268         * testsuite/test_gst_init.c:
20269           move a value_serialize test over
20270
20271 2005-06-20  Wim Taymans  <wim@fluendo.com>
20272
20273         * gst/gstpad.c:
20274         Small doc updates.
20275         
20276         * gst/gstvalue.c: (gst_value_compare_buffer),
20277         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
20278         (gst_value_compare_flags), (gst_value_serialize_flags),
20279         (gst_value_deserialize_flags), (_gst_value_initialize):
20280         Fix serialisation of buffers, they are not boxed types anymore
20281
20282 2005-06-20  Wim Taymans  <wim@fluendo.com>
20283
20284         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
20285         Testcase to show error in buffer-on-caps serialisation.
20286
20287 2005-06-20  Andy Wingo  <wingo@pobox.com>
20288
20289         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
20290         will be adding to later.
20291
20292         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
20293         if its socks fill with rocks.
20294         (gst_system_clock_obtain): Set the name on object construction.
20295         Avoid double-checked locking.
20296
20297 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
20298
20299         * gst/gsturi.c: (gst_element_make_from_uri):
20300           Fix potential endless loop.
20301
20302 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20303
20304         * check/Makefile.am:
20305           add gsttag
20306         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
20307         (main):
20308           move over from testsuite dir and clean up
20309         * configure.ac:
20310         * gst/gsttag.c:
20311         * testsuite/Makefile.am:
20312         * testsuite/tags/.cvsignore:
20313         * testsuite/tags/Makefile.am:
20314         * testsuite/tags/merge.c:
20315           remove testsuite/tags
20316
20317 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20318
20319         * docs/gst/gstreamer-sections.txt:
20320         * docs/gst/tmpl/gstenumtypes.sgml:
20321         * win32/gstenumtypes.c:
20322           clean up documentation build a little
20323
20324 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20325
20326         * check/gstcheck.h:
20327           add macros for checking refcounts on objects and caps
20328         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
20329           add some more unit tests
20330         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
20331         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
20332           fix leaked refcounts (I hope :)) so unittest works
20333         * gst/gstpad.h:
20334           whitespace removal
20335
20336 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20337
20338         * configure.ac: back to HEAD
20339
20340 === release 0.9.1 ===
20341
20342 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
20343
20344         * NEWS:
20345         * RELEASE:
20346           updated
20347
20348 2005-06-17  Andy Wingo  <wingo@pobox.com>
20349
20350         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
20351         assert; it's always possible that the pad gets deactivated in
20352         between the checks in gstpad.c and the implementation. Rely on
20353         finish_preroll() to return a FLUSHING or similar instead of on the
20354         assert.
20355         
20356         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
20357         clock and post an EOS message if we come out of finish_preroll in
20358         the playing state.
20359
20360 2005-06-16  David Schleef  <ds@schleef.org>
20361
20362         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
20363         (gst_capsfilter_set_property): Allow NULL as possible value
20364         for filter_caps property, indicating GST_CAPS_ANY.
20365
20366 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
20367
20368         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
20369           fix debug output
20370         * gst/schedulers/Makefile.am:
20371           use libgst prefix
20372         * gstreamer.spec.in:
20373           fix spec for it
20374
20375 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
20376
20377         * gstreamer.spec.in:
20378           clean up
20379
20380 2005-06-08  Andy Wingo  <wingo@pobox.com>
20381
20382         * gst/gstutils.c: RPAD fixes all around.
20383         (gst_element_link_pads): Refcounting fixes.
20384
20385         * tools/gst-inspect.c:
20386         * tools/gst-xmlinspect.c:
20387         * parse/grammar.y:
20388         * gst/base/gsttypefindhelper.c:
20389         * gst/base/gstbasesink.c:
20390         * gst/gstqueue.c: RPAD fixes.
20391
20392         * gst/gstghostpad.h:
20393         * gst/gstghostpad.c: New ghost pad implementation as full proxy
20394         pads. The tricky thing is they provide both source and sink
20395         interfaces, since they proxy the internal pad for the external
20396         pad, and vice versa. Implement with lower-level ProxyPad objects,
20397         with the interior proxy pad as a child of the exterior ghost pad.
20398         Should write a doc on this.
20399         
20400         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
20401         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
20402         gst_object API.
20403         
20404         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
20405         pads are real pads. No ghost pads in this file. Not documenting
20406         the myriad s/RPAD/PAD/ and REALIZE fixes.
20407         (gst_pad_class_init): Add properties for "direction" and
20408         "template". Both are construct-only, so they can't change during
20409         the life of the pad. Fixes properly deriving from GstPad.
20410         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
20411         derived objects, just set properties when creating the objects via
20412         g_object_new.
20413         (gst_pad_get_parent): Implement as a function, return NULL if the
20414         parent is not an element.
20415         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
20416         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
20417         
20418         * gst/gstobject.c (gst_object_class_init): Make name a construct
20419         property. Don't set it in the object init.
20420
20421         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
20422         with UNKNOWN direction.
20423         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
20424         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
20425         (gst_element_remove_pad): Remove ghost-pad special cases.
20426         (gst_element_pads_activate): Remove rpad cruft.
20427
20428         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
20429         catch the pad's-parent-not-an-element case.
20430
20431         * gst/gst.h: Include gstghostpad.h.
20432
20433         * gst/gst.c (init_post): No more real, ghost pads.
20434
20435         * gst/Makefile.am: Add gstghostpad.[ch].
20436
20437         * check/Makefile.am:
20438         * check/gst/gstbin.c:
20439         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
20440         into a bin creates ghost pads, and that the refcounts are right.
20441         Partly moved from gstbin.c.
20442
20443 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20444
20445         * check/gst-libs/.cvsignore:
20446         * check/gst/.cvsignore:
20447         * check/pipelines/.cvsignore:
20448           ignore more
20449         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
20450         (START_TEST), (cleanup_suite), (main):
20451           add some tests related to cleanup after running pipelines
20452
20453 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20454
20455         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
20456           add a testsuite for GstBuffer
20457
20458 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20459
20460         * gst/gstminiobject.h:
20461           add defines for accessing the refcount
20462
20463 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
20464
20465         * Makefile.am: added support for html unit test coverage reports
20466
20467 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
20468
20469         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
20470           Free existing caps if the capsfilter changes. Add a FIXME about
20471           setting those caps on the pads.
20472
20473         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
20474           Before adding a ghost pad to a parent bin, check that there isn't
20475           already one for the element on the bin. Prevents infinite recursion
20476           when using decodebin in parse pipelines. Andy says he'll rewrite the
20477           way this works anyway, so ignore the hack.
20478
20479 2005-06-02  Andy Wingo  <wingo@pobox.com>
20480
20481         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
20482         file size, pass it on to the type find helper.
20483
20484         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
20485         segment_start and segment_end properly according to the seek
20486         method. Segment_end is still a bit flaky because offset can be
20487         negative for CUR and END cases, but it takes -1 as an "unset"
20488         value.
20489
20490 2005-06-02  Wim Taymans  <wim@fluendo.com>
20491
20492         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
20493         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
20494         (gst_basesink_activate):
20495         * gst/base/gstbasesink.h:
20496         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
20497         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
20498         (gst_pad_query), (gst_pad_start_task):
20499         * gst/gstpad.h:
20500         * gst/gstqueue.c: (gst_queue_bufferalloc),
20501         (gst_queue_handle_sink_event), (gst_queue_chain):
20502         Bufferalloc: return GstFlowReturn to more accuratly report
20503         why allocation failed.
20504
20505 2005-06-02  Wim Taymans  <wim@fluendo.com>
20506
20507         * gst/gstpipeline.c: (gst_pipeline_send_event):
20508         Take snapshot of state without blocking.
20509
20510 2005-06-02  Wim Taymans  <wim@fluendo.com>
20511
20512         * docs/design/part-TODO.txt:
20513         * docs/design/part-caps.txt:
20514         * docs/design/part-clocks.txt:
20515         * docs/design/part-negotiation.txt:
20516         * docs/design/part-preroll.txt:
20517         Small doc updates 
20518
20519 2005-05-30  Wim Taymans  <wim@fluendo.com>
20520
20521         * gst/elements/gstidentity.c: (gst_identity_event),
20522         (gst_identity_transform), (gst_identity_get_property):
20523         Protect last_message property as it is accessed from
20524         multiple threads.
20525
20526 2005-05-30  Wim Taymans  <wim@fluendo.com>
20527
20528         * gst/gstelement.c: (gst_element_init),
20529         (gst_element_pads_activate), (gst_element_change_state):
20530         Slicker pad activation code.
20531
20532 2005-05-30  Wim Taymans  <wim@fluendo.com>
20533
20534         * gst/Makefile.am:
20535         * gst/gstelement.h:
20536         * gst/gstelementfactory.h:
20537         * gst/gsttypes.h:
20538         Move elementfactory methods to separate .h file.
20539
20540 2005-05-30  Wim Taymans  <wim@fluendo.com>
20541
20542         * docs/design/part-overview.txt:
20543         * gst/gstsystemclock.h:
20544         Small typo fixes, doc updates.
20545
20546 2005-05-30  Wim Taymans  <wim@fluendo.com>
20547
20548         * gst/gst.c: (gst_init_get_popt_table), (init_post),
20549         (init_popt_callback):
20550         Remove cpu-opt flag.
20551
20552 2005-05-30  Wim Taymans  <wim@fluendo.com>
20553
20554         * gst/gstbuffer.c: (gst_subbuffer_finalize),
20555         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
20556         * gst/gstbuffer.h:
20557         Avoid typechecking in places where not needed.
20558         Added accessor for malloc_data.
20559
20560 2005-05-30  Wim Taymans  <wim@fluendo.com>
20561
20562         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
20563         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
20564         (gst_pad_configure_sink), (gst_pad_configure_src),
20565         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
20566         (gst_pad_start_task):
20567         Propagate errors from _set_caps() in configure_src/sink
20568         functions instead of returning TRUE.
20569         FLUSH events can travel up and downstream
20570
20571
20572 2005-05-30  Wim Taymans  <wim@fluendo.com>
20573
20574         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
20575         (gst_basesink_activate):
20576         Handle EOS in preroll.
20577
20578 2005-05-30  Wim Taymans  <wim@fluendo.com>
20579
20580         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
20581         (gst_queue_loop), (gst_queue_handle_src_event):
20582         Remove old pieces of code
20583         Flushing the queue in an upstream event is a very bad idea.
20584
20585 2005-05-26  Andy Wingo  <wingo@pobox.com>
20586
20587         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
20588         gst_value_set_mini_object so as to add a ref on the object (which
20589         will be removed when the value is unset).
20590
20591         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
20592         arg type in ::handoff.
20593
20594         * gst/gstelement.c (gst_element_change_state): Also deactivate
20595         pads in READY->NULL, just in case the element didn't make it to
20596         PAUSED. Wingo tested, Wim approved.
20597
20598 2005-05-26  Wim Taymans  <wim@fluendo.com>
20599
20600         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
20601         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
20602         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
20603         A flushing pad cannot be used to alloc_buffer from.
20604
20605 2005-05-26  Wim Taymans  <wim@fluendo.com>
20606
20607         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
20608         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
20609         (gst_bus_source_dispatch), (gst_bus_source_finalize),
20610         (gst_bus_create_watch), (gst_bus_add_watch_full):
20611         * gst/gstbus.h:
20612         Implement a real GSource and use g_main_context_wakeup() to
20613         signal new messages instead of the socketpair.
20614
20615 2005-05-25  Wim Taymans  <wim@fluendo.com>
20616
20617         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
20618         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
20619         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
20620         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
20621         (gst_pad_send_event), (gst_pad_start_task):
20622         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
20623         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
20624         (gst_queue_sink_activate), (gst_queue_src_activate),
20625         (gst_queue_change_state):
20626         * gst/gstqueue.h:
20627         Fix state changes for non sinks. We now change sinks, then elements
20628         with unconnected srcpads, then the rest.
20629         More efficient queue unlocking in flush and state changes.
20630         Set the pad activate mode even if it does not have an activate
20631         function.
20632
20633 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20634
20635         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
20636           Don't go in pull mode for non-seekable sources.
20637         * gst/elements/gsttypefindelement.h:
20638         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
20639         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
20640         (free_entry), (stop_typefinding),
20641         (gst_type_find_element_handle_event), (find_peek),
20642         (gst_type_find_element_chain), (do_pull_typefind),
20643         (gst_type_find_element_change_state):
20644           Allow typefinding (w/o seeking) in push-mode, simplified version
20645           of what was in 0.8.
20646         * gst/gstutils.c: (gst_buffer_join):
20647         * gst/gstutils.h:
20648           gst_buffer_join() from 0.8.
20649
20650 2005-05-25  Wim Taymans  <wim@fluendo.com>
20651
20652         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
20653         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
20654         (gst_pad_send_event), (gst_pad_start_task):
20655         Disable attempt at mode switching until it is figured out.
20656
20657 2005-05-25  Wim Taymans  <wim@fluendo.com>
20658
20659         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
20660         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
20661         (gst_basesink_finish_preroll), (gst_basesink_chain),
20662         (gst_basesink_loop), (gst_basesink_activate),
20663         (gst_basesink_change_state):
20664         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
20665         (gst_basesrc_get_range), (gst_basesrc_loop),
20666         (gst_basesrc_activate):
20667         * gst/elements/gsttee.c: (gst_tee_sink_activate):
20668         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
20669         (gst_real_pad_init), (gst_real_pad_set_property),
20670         (gst_real_pad_get_property), (gst_pad_set_active),
20671         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
20672         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
20673         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
20674         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
20675         (gst_pad_event_default_dispatch), (gst_pad_event_default),
20676         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
20677         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
20678         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
20679         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
20680         (gst_pad_stop_task):
20681         * gst/gstpad.h:
20682         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
20683         (gst_queue_loop), (gst_queue_src_activate):
20684         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
20685         (gst_task_get_state):
20686         * gst/gsttask.h:
20687         * gst/schedulers/threadscheduler.c:
20688         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
20689         Implement gst_pad_pause/start/stop_task(), take STREAM lock
20690         in task function.
20691         Remove ACTIVE pad flag, use FLUSHING everywhere
20692         Added _pad_chain(), _pad_get_range() to call chain/getrange 
20693         functions.
20694         Add locks around IS_FLUSHING when reading.
20695         Take STREAM lock in chain(), get_range() functions so plugins
20696         don't need to take it anymore.
20697         
20698
20699
20700 2005-05-25  Wim Taymans  <wim@fluendo.com>
20701
20702         * tools/gst-launch.c: (event_loop):
20703         Unref message after using its contents instead of
20704         before.
20705
20706 2005-05-24  Wim Taymans  <wim@fluendo.com>
20707
20708         * docs/design/draft-ghostpads.txt:
20709         * docs/design/draft-push-pull.txt:
20710         * docs/design/draft-query.txt:
20711         * docs/design/part-overview.txt:
20712         Docs updates, added general overview doc.
20713
20714 2005-05-21  David Schleef  <ds@schleef.org>
20715
20716         * docs/gst/tmpl/old/GstBin.sgml:
20717         * docs/gst/tmpl/old/GstBuffer.sgml:
20718         * docs/gst/tmpl/old/GstCaps.sgml:
20719         * docs/gst/tmpl/old/GstClock.sgml:
20720         * docs/gst/tmpl/old/GstCompat.sgml:
20721         * docs/gst/tmpl/old/GstData.sgml:
20722         * docs/gst/tmpl/old/GstElement.sgml:
20723         * docs/gst/tmpl/old/GstEvent.sgml:
20724         * docs/gst/tmpl/old/GstIndex.sgml:
20725         * docs/gst/tmpl/old/GstStructure.sgml:
20726         * docs/gst/tmpl/old/GstTag.sgml:
20727         * docs/gst/tmpl/old/cothreads.sgml:
20728         * docs/gst/tmpl/old/cothreads_compat.sgml:
20729         * docs/gst/tmpl/old/gettext.sgml:
20730         * docs/gst/tmpl/old/gobject2gtk.sgml:
20731         * docs/gst/tmpl/old/grammar.tab.sgml:
20732         * docs/gst/tmpl/old/gst-i18n-app.sgml:
20733         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
20734         * docs/gst/tmpl/old/gst_private.sgml:
20735         * docs/gst/tmpl/old/gstaggregator.sgml:
20736         * docs/gst/tmpl/old/gstarch.sgml:
20737         * docs/gst/tmpl/old/gstatomic_impl.sgml:
20738         * docs/gst/tmpl/old/gstbufferstore.sgml:
20739         * docs/gst/tmpl/old/gstdata_private.sgml:
20740         * docs/gst/tmpl/old/gstdisksink.sgml:
20741         * docs/gst/tmpl/old/gstdisksrc.sgml:
20742         * docs/gst/tmpl/old/gstelementfactory.sgml:
20743         * docs/gst/tmpl/old/gstextratypes.sgml:
20744         * docs/gst/tmpl/old/gstfakesink.sgml:
20745         * docs/gst/tmpl/old/gstfakesrc.sgml:
20746         * docs/gst/tmpl/old/gstfdsink.sgml:
20747         * docs/gst/tmpl/old/gstfdsrc.sgml:
20748         * docs/gst/tmpl/old/gstfilesink.sgml:
20749         * docs/gst/tmpl/old/gstfilesrc.sgml:
20750         * docs/gst/tmpl/old/gsthttpsrc.sgml:
20751         * docs/gst/tmpl/old/gstidentity.sgml:
20752         * docs/gst/tmpl/old/gstindexfactory.sgml:
20753         * docs/gst/tmpl/old/gstmarshal.sgml:
20754         * docs/gst/tmpl/old/gstmd5sink.sgml:
20755         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
20756         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
20757         * docs/gst/tmpl/old/gstpadtemplate.sgml:
20758         * docs/gst/tmpl/old/gstpipefilter.sgml:
20759         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
20760         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
20761         * docs/gst/tmpl/old/gstshaper.sgml:
20762         * docs/gst/tmpl/old/gstspider.sgml:
20763         * docs/gst/tmpl/old/gstspideridentity.sgml:
20764         * docs/gst/tmpl/old/gststatistics.sgml:
20765         * docs/gst/tmpl/old/gsttee.sgml:
20766         * docs/gst/tmpl/old/gsttimecache.sgml:
20767         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
20768         * docs/gst/tmpl/old/gstxmlregistry.sgml:
20769         * docs/gst/tmpl/old/gthread-cothreads.sgml:
20770         * docs/gst/tmpl/old/types.sgml:
20771           I didn't intend to add these or check them in.
20772
20773 2005-05-19  David Schleef  <ds@schleef.org>
20774
20775         * configure.ac: Use -no-common everywhere.  In a sane world, it
20776           would be the default in libtool, because without it, you can't
20777           build DLLs on Windows.
20778         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
20779         * docs/gst/gstreamer-sections.txt:
20780         * docs/gst/tmpl/gstcpu.sgml:
20781         * docs/gst/tmpl/gstdata.sgml:
20782         * docs/gst/tmpl/gstthread.sgml:
20783
20784 2005-05-19  David Schleef  <ds@schleef.org>
20785
20786         * gst/gstminiobject.c: (gst_value_set_mini_object),
20787         (gst_value_take_mini_object), (gst_value_get_mini_object):
20788         * gst/gstminiobject.h: Add GValue set/get functions.
20789
20790 2005-05-19  Wim Taymans  <wim@fluendo.com>
20791
20792         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
20793         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
20794         (gst_subbuffer_init), (gst_buffer_is_span_fast):
20795         * gst/gstbuffer.h:
20796         * gst/gstbus.c: (gst_bus_post):
20797         * gst/gstelement.c: (gst_element_get_random_pad):
20798         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
20799         Make subbufer unref the parent in finalize.
20800         some more debugging info.
20801
20802
20803 2005-05-19  Wim Taymans  <wim@fluendo.com>
20804
20805         * gst/base/gstbasesink.c: (gst_basesink_class_init),
20806         (gst_basesink_init), (gst_basesink_finalize),
20807         (gst_basesink_activate), (gst_basesink_change_state):
20808         Don't free preroll queue too early.
20809
20810 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20811
20812         * gst/Makefile.am:
20813         * gst/ROADMAP:
20814           Hi, I'm outdated. Please shoot me.
20815
20816 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20817
20818         * gst/gstpipeline.c: (gst_pipeline_send_event):
20819           Do not access variables after they have been deleted.
20820
20821 2005-05-19  Wim Taymans  <wim@fluendo.com>
20822
20823         * tools/gst-inspect.c: (print_plugin_features):
20824         A plugin feature does unfortunatly not use the
20825         object name yet...
20826
20827 2005-05-18  Wim Taymans  <wim@fluendo.com>
20828
20829         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
20830         Port _span() functions to new subbuffers.
20831
20832 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20833
20834         * gst/gstbin.c: (gst_bin_add_func):
20835           Fix clock settery in bins when adding kids after the clock has
20836           been selected.
20837
20838 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20839
20840         * gst/elements/gstidentity.c: (gst_identity_class_init):
20841           Workaround until signals support GstMiniObject.
20842
20843 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
20844
20845         * gst/gstbuffer.c:
20846         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
20847
20848 2005-05-18  Wim Taymans  <wim@fluendo.com>
20849
20850         * gst/base/Makefile.am:
20851         * gst/base/gstadapter.c: (gst_adapter_base_init),
20852         (gst_adapter_class_init), (gst_adapter_init),
20853         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
20854         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
20855         (gst_adapter_flush), (gst_adapter_available),
20856         (gst_adapter_available_fast):
20857         * gst/base/gstadapter.h:
20858         Ported and added adapter to the base classes.
20859
20860 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
20861
20862         * gst/gst.c:
20863         * gst/gstmessage.c:
20864           Make sure the class is reffed/unreffed once before threads can be
20865           used.  Fixes #304551.
20866
20867 2005-05-17  Wim Taymans  <wim@fluendo.com>
20868
20869         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
20870         (gst_basesink_chain_unlocked), (gst_basesink_activate):
20871         * gst/gstminiobject.c: (gst_mini_object_get_type),
20872         (gst_mini_object_free):
20873         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
20874         (gst_pad_push), (gst_pad_push_event):
20875         * gst/gstqueue.c: (gst_queue_change_state):
20876         Don't queue buffers in basesink when we are flushing.
20877         Unref buffer when flushing in basesink.
20878         Flush queue when going to READY
20879         Unref buffer when _push() returns an error.
20880         Don't free MiniObject instance when refcount is incremented
20881         in _finalize() so that we can recover objects.
20882
20883 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
20884
20885         * docs/manual/advanced-schedulers.xml:
20886         * docs/manual/appendix-checklist.xml:
20887         * docs/pwg/advanced-clock.xml:
20888         * docs/pwg/advanced-interfaces.xml:
20889         * docs/pwg/advanced-request.xml:
20890         * docs/pwg/advanced-types.xml:
20891         * docs/pwg/intro-preface.xml:
20892         * examples/plugins/example.c: (gst_example_get_type),
20893         (gst_example_class_init), (gst_example_chain),
20894         (gst_example_set_property), (gst_example_get_property),
20895         (gst_example_change_state), (plugin_init):
20896         * examples/plugins/example.h:
20897           small doc fixes
20898
20899 2005-05-17  Wim Taymans  <wim@fluendo.com>
20900
20901         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
20902         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
20903         * gst/gstqueue.c: (gst_queue_change_state):
20904         Clear queue when going to READY.
20905         Remove IN_SETCAPS flag too.
20906
20907 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
20908
20909         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
20910           Remove implicit cast from gboolean to GstElementStateReturn;
20911           make sure we still return failure in paused => ready case if
20912           the parent class fails to change state and our own stop 
20913           vfunc succeeds.
20914
20915 2005-05-17  Wim Taymans  <wim@fluendo.com>
20916
20917         * tools/gst-launch.c: (event_loop):
20918         Message was unreffed too soon.
20919
20920 2005-05-16  Andy Wingo  <wingo@pobox.com>
20921
20922         * gst/gstbin.c (sink_iterator_filter): Err... um...
20923
20924         * check/gst/gstbin.c (test_ghost_pads): New test for the
20925         ghosting-if-elements-not-in-same-bin behavior.
20926
20927 2005-05-16  David Schleef  <ds@schleef.org>
20928
20929         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
20930         accessing refcount directly.
20931
20932 2005-05-15  David Schleef  <ds@schleef.org>
20933
20934         * check/Makefile.am: remove GstData checks
20935         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
20936         * gst/Makefile.am: add miniobject, remove data
20937         * gst/gst.h: add miniobject, remove data
20938         * gst/gstdata.c: remove
20939         * gst/gstdata.h: remove
20940         * gst/gstdata_private.h: remove
20941         * gst/gsttypes.h: remove GstEvent and GstMessage
20942         * gst/gstelement.c: (gst_element_post_message): fix for API changes
20943         * gst/gstmarshal.list: change BOXED -> OBJECT
20944
20945         Implement GstMiniObject.
20946         * gst/gstminiobject.c:
20947         * gst/gstminiobject.h:
20948
20949         Modify to be subclasses of GstMiniObject.
20950         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
20951         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
20952         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
20953         (gst_subbuffer_get_type), (gst_subbuffer_init),
20954         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
20955         (gst_buffer_span):
20956         * gst/gstbuffer.h:
20957         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
20958         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
20959         (_gst_event_copy), (gst_event_new):
20960         * gst/gstevent.h:
20961         * gst/gstmessage.c: (_gst_message_initialize),
20962         (gst_message_get_type), (gst_message_class_init),
20963         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
20964         (gst_message_new), (gst_message_new_error),
20965         (gst_message_new_warning), (gst_message_new_tag),
20966         (gst_message_new_state_changed), (gst_message_new_application):
20967         * gst/gstmessage.h:
20968         * gst/gstprobe.c: (gst_probe_perform),
20969         (gst_probe_dispatcher_dispatch):
20970         * gst/gstprobe.h:
20971         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
20972         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
20973         (_gst_query_copy), (gst_query_new):
20974
20975         Update elements for GstData -> GstMiniObject changes
20976         * gst/gstquery.h:
20977         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
20978         (gst_queue_chain), (gst_queue_loop):
20979         * gst/elements/gstbufferstore.c:
20980         (gst_buffer_store_add_buffer_func),
20981         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
20982         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
20983         (gst_fakesink_render):
20984         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
20985         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
20986         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
20987         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
20988         (gst_filesrc_create_read):
20989         * gst/elements/gstidentity.c: (gst_identity_class_init):
20990         * gst/elements/gsttypefindelement.c:
20991         (gst_type_find_element_src_event), (free_entry_buffers),
20992         (gst_type_find_element_handle_event):
20993         * libs/gst/dataprotocol/dataprotocol.c:
20994         (gst_dp_header_from_buffer):
20995         * libs/gst/dataprotocol/dataprotocol.h:
20996         * libs/gst/dataprotocol/dp-private.h:
20997
20998 2005-05-15  David Schleef  <ds@schleef.org>
20999
21000         * gst/elements/gstelements.c: Don't include headers that were
21001         just removed.
21002
21003 2005-05-15  David Schleef  <ds@schleef.org>
21004
21005         * gst/elements/Makefile.am: Remove some elements that don't
21006         need to be in the core (or even exist at all).
21007         * gst/elements/gstaggregator.c:
21008         * gst/elements/gstaggregator.h:
21009         * gst/elements/gstmd5sink.c:
21010         * gst/elements/gstmd5sink.h:
21011         * gst/elements/gstmultifilesrc.c:
21012         * gst/elements/gstmultifilesrc.h:
21013         * gst/elements/gstpipefilter.c:
21014         * gst/elements/gstpipefilter.h:
21015         * gst/elements/gstshaper.c:
21016         * gst/elements/gstshaper.h:
21017         * gst/elements/gststatistics.c:
21018         * gst/elements/gststatistics.h:
21019         * po/POTFILES.in: Remove above files.
21020
21021 2005-05-14  Andy Wingo  <wingo@pobox.com>
21022
21023         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
21024         so as to get the refs right.
21025         (sink_iterator_filter): New function, wraps bin_element_is_sink,
21026         unreffing objects that don't pass the filter.
21027
21028         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
21029         gst_element_set_bus.
21030         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
21031         normal cases, this will destroy the bus.
21032
21033         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
21034         object.
21035
21036         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
21037         has no sinks.
21038
21039 2005-05-13  Andy Wingo  <wingo@pobox.com>
21040
21041         * gst/gstutils.c (gst_element_link_pads): Instead of calling
21042         gst_pad_link, call pad_link_maybe_ghosting,
21043         (pad_link_maybe_ghosting): Links pads, making sure that the
21044         elements being linked are in the same bin.
21045         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
21046         Helpers for pad_link_maybe_ghosting.
21047
21048 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
21049
21050         * configure.ac:
21051           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
21052
21053 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
21054
21055         * docs/design/part-element-source.txt:
21056           Mention GstPushSrc
21057
21058 2005-05-12  Wim Taymans  <wim@fluendo.com>
21059
21060         * gst/base/gstbasesink.c: (gst_basesink_init),
21061         (gst_basesink_activate):
21062         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
21063         (gst_basesrc_is_seekable):
21064         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
21065         (bin_element_is_sink), (gst_bin_change_state):
21066         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
21067         * gst/gstelement.h:
21068         Identify sinks by their flag to avoid overly complicated
21069         checks (fow now).
21070         Do state changes even for elements not reachable from the
21071         sinks.
21072         BaseSink is a sink now :)
21073         Some more debugging info in the basesrc.
21074
21075
21076 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21077
21078         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
21079           Implement _query on a bin, similar to _send_event.
21080
21081 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
21082
21083         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
21084           Discont event offset format should be GST_FORMAT_BYTES,
21085           not GST_FORMAT_TIME.
21086
21087 2005-05-12  Wim Taymans  <wim@fluendo.com>
21088
21089         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
21090         Same fix as Ronald's but without the signal. 
21091
21092 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21093
21094         * gst/gstutils.c: (gst_element_query_position):
21095           No, an element is not a pad.
21096
21097 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21098
21099         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
21100         (gst_bin_get_state):
21101           If a child is removed from a bin while we remove the child from
21102           the bin and while we're retrieving its state, signal this to the
21103           get_state function so we abort the wait (instead of waiting for
21104           a timeout) and can immediately re-iterate over all other elements.
21105
21106 2005-05-12  Wim Taymans  <wim@fluendo.com>
21107
21108         * gst/base/Makefile.am:
21109         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
21110         (gst_basesrc_start):
21111         * gst/base/gstbasesrc.h:
21112         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
21113         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
21114         (gst_pushsrc_init), (gst_pushsrc_create):
21115         * gst/base/gstpushsrc.h:
21116         Added is_seekable to BaseSrc
21117         Added simple PushSrc.
21118
21119 2005-05-11  Wim Taymans  <wim@fluendo.com>
21120
21121         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
21122         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21123         (gst_element_link_pads), (gst_element_query_position),
21124         (gst_element_query_convert), (intersect_caps_func),
21125         (gst_pad_query_position), (gst_pad_query_convert):
21126         Fix refcounting in utils function.
21127         No point in trying to activate a pad when it's added, it could
21128         be added from the state change function and then we deadlock, the
21129         element has to decide what to do.
21130
21131 2005-05-10  Andy Wingo  <wingo@pobox.com>
21132
21133         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
21134         *all* the arguments.
21135
21136         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
21137         stream lock if it's a FLUSH_DONE; normal flushes don't get the
21138         lock (according to the docs -- if this is wrong change the docs).
21139
21140         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
21141         flush messages in the NULL state.
21142
21143         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
21144         message immediately and return.
21145         (gst_bus_set_flushing): New function. If a bus is flushing, it
21146         flushes out any queued messages and immediately unrefs new
21147         messages. This is so when an element goes to NULL, all of the
21148         unhandled messages coming from it can be freed, and their
21149         references to the element dropped. In other words: message source
21150         ref considered harmful :P
21151
21152         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
21153         we're finished with it.
21154
21155         * gst/gstmessage.c (gst_message_new_state_changed): 
21156
21157 2005-05-10  Wim Taymans  <wim@fluendo.com>
21158
21159         * gst/gstvalue.c: (gst_value_compare_flags),
21160         (gst_value_serialize_flags), (gst_value_deserialize_flags),
21161         (_gst_value_initialize):
21162         Added flags serialize/deserialize/compare code.
21163
21164 2005-05-09  Andy Wingo  <wingo@pobox.com>
21165
21166         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
21167         Intersect the peer's caps with our caps.
21168
21169 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21170
21171         * gst/base/gsttypefindhelper.c: (helper_find_peek):
21172         * gst/elements/gsttypefindelement.c: (find_peek):
21173           Handle negative offsets better. Fixes decodebin.
21174
21175 2005-05-09  Wim Taymans  <wim@fluendo.com>
21176
21177         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
21178         (gst_base_transform_event):
21179         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
21180         Implement accept_caps.
21181         Fix silly lock/unlock mismatch in base class.
21182
21183 2005-05-09  Wim Taymans  <wim@fluendo.com>
21184
21185         * docs/design/draft-push-pull.txt:
21186         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
21187         * gst/elements/gstfilesink.c: (gst_filesink_init),
21188         (gst_filesink_query):
21189         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
21190         (gst_type_find_handle_src_query), (find_element_get_length):
21191         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
21192         * gst/gstelement.h:
21193         * gst/gstmessage.c:
21194         * gst/gstmessage.h:
21195         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
21196         (gst_real_pad_get_caps_unlocked),
21197         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
21198         (gst_pad_event_default_dispatch), (gst_pad_event_default),
21199         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
21200         (gst_real_pad_dispose), (gst_real_pad_finalize),
21201         (gst_pad_load_and_link), (gst_pad_save_thyself),
21202         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
21203         (gst_pad_check_pull_range), (gst_pad_pull_range),
21204         (gst_pad_template_get_type), (gst_pad_template_class_init),
21205         (gst_pad_template_init), (gst_pad_template_dispose),
21206         (name_is_valid), (gst_static_pad_template_get),
21207         (gst_pad_template_new), (gst_static_pad_template_get_caps),
21208         (gst_pad_template_get_caps), (gst_pad_set_element_private),
21209         (gst_pad_get_element_private), (gst_pad_start_task),
21210         (gst_pad_pause_task), (gst_pad_stop_task),
21211         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
21212         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
21213         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
21214         (gst_ghost_pad_new):
21215         * gst/gstpad.h:
21216         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
21217         (gst_query_new_position), (gst_query_set_position),
21218         (gst_query_parse_position), (gst_query_new_convert),
21219         (gst_query_set_convert), (gst_query_parse_convert):
21220         * gst/gstquery.h:
21221         * gst/gstqueryutils.c:
21222         * gst/gstqueryutils.h:
21223         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
21224         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
21225         (gst_queue_handle_src_query):
21226         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21227         (gst_element_query_position), (gst_element_query_convert),
21228         (intersect_caps_func), (gst_pad_query_position),
21229         (gst_pad_query_convert):
21230         * gst/gstutils.h:
21231         * tools/gst-inspect.c: (print_pad_info):
21232         * tools/gst-xmlinspect.c: (print_element_info):
21233         Remove old query functions. Ported old code.
21234         Added position/convert helper functions to gstutils.
21235         Reordered gstpad.c code, grouping relevant things.
21236         Remove gst_message_new(), always need to speficy a specific
21237         message.
21238
21239
21240 2005-05-09  Andy Wingo  <wingo@pobox.com>
21241
21242         * gst/gstiterator.h: Add some includes.
21243
21244         * gst/gstqueryutils.h: Include more headers.
21245
21246         * gst/gstpad.h:
21247         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
21248         some uses of gst_pad_query.
21249
21250         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
21251         NULL out parameters.
21252         (gst_query_new_position): New proc, allocates a new position
21253         query.
21254
21255         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
21256         gstqueryutils.c to the build.
21257
21258         * gst/gststructure.c (gst_structure_set_valist): Implement with
21259         the generic G_VALUE_COLLECT.
21260         
21261 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
21262
21263         * gst/Makefile.am: (gst_headers):
21264         Added gstqueryutils.h to the list of headers to install, that was
21265         a 'nachty' move wingo :)
21266
21267 2005-05-06  Andy Wingo  <wingo@pobox.com>
21268
21269         * gst/gstquery.h
21270         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
21271         GstData, init a memchunk.
21272         (standard_definitions): Add a few query types, deprecate a few.
21273         (gst_query_get_type): New proc.
21274         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
21275         implementation.
21276         (gst_query_new_application, gst_query_get_structure): New public
21277         procs.
21278
21279         * docs/design/draft-query.txt: Removed LINKS from the query types,
21280         because all the rest can be dispatched to other pads -- seemed
21281         ugly to have a query that couldn't be dispatched. internal_links
21282         is fine as a pad method.
21283
21284         * gst/gstpad.h: Add query2 as a pad method, add the new functions
21285         in gstpad.c, but maintain binary compatibility for the moment.
21286         Will fix before 0.9 is out.
21287
21288         * gst/gstqueryutils.c: 
21289         * gst/gstqueryutils.h: New files, implement 3 methods for each
21290         query type: parse_query, parse_response, and set. Probably need an
21291         allocator as well.
21292
21293         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
21294
21295         * gst/elements/gstfilesink.c (gst_filesink_query2):
21296         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
21297         query_types, and formats methods.
21298
21299         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
21300         (gst_pad_set_query2_function): New functions.
21301         (gst_real_pad_init): Set query2_default as the default query2
21302         function. Basically just dispatches to internally linked pads.
21303
21304         Needs review!
21305         
21306         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
21307         without using the atomic operations. Only one thread can possibly
21308         be accessing the data at this point. Changed so as to avoid
21309         gst_atomic operations.
21310
21311 2005-05-06  Wim Taymans  <wim@fluendo.com>
21312
21313         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
21314         Also set caps if we use the fallback buffer alloc.
21315
21316 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
21317
21318         * docs/gst/Makefile.am:
21319         * docs/gst/gstreamer-docs.sgml:
21320         * docs/gst/gstreamer-sections.txt:
21321         * docs/gst/tmpl/gstatomic.sgml:
21322         * docs/gst/tmpl/gstmemchunk.sgml:
21323         * testsuite/elements/struct_i386.h:
21324         * win32/GStreamer.vcproj:
21325         * win32/Makefile:
21326           Purge GstAtomic stuff from docs and win32 makefiles as well
21327
21328 2005-05-06  Wim Taymans  <wim@fluendo.com>
21329
21330         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
21331         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
21332         * gst/gstpad.c: (gst_pad_peer_get_caps):
21333         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
21334         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
21335         (gst_queue_src_activate), (gst_queue_change_state):
21336         * gst/gstqueue.h:
21337         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21338         (intersect_caps_func):
21339         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
21340         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
21341         Some fixes for the peer_get_caps() change.
21342
21343 2005-05-06  Wim Taymans  <wim@fluendo.com>
21344
21345         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
21346         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
21347         (gst_basesink_activate):
21348         Actually do something with error codes returned from the push
21349         functions.
21350
21351 2005-05-06  Wim Taymans  <wim@fluendo.com>
21352
21353         * docs/design/part-element-sink.txt:
21354         * docs/design/part-element-source.txt:
21355         * gst/base/gstbasesink.c: (gst_basesink_class_init),
21356         (gst_basesink_event), (gst_basesink_activate):
21357         * gst/base/gstbasesink.h:
21358         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
21359         (gst_basesrc_activate):
21360         * gst/base/gstbasesrc.h:
21361         * gst/gstelement.c: (gst_element_pads_activate):
21362         Some more documentation.
21363         Fixed scheduling decision in _pads_activate().
21364
21365 2005-05-05  Andy Wingo  <wingo@pobox.com>
21366
21367         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
21368         the test suite.
21369
21370 2005-05-05  Wim Taymans  <wim@fluendo.com>
21371
21372         * gst/base/Makefile.am:
21373         * gst/base/gstbasesink.h:
21374         * gst/base/gstbasesrc.c: (gst_basesrc_init),
21375         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
21376         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
21377         (gst_collectpads_class_init), (gst_collectpads_init),
21378         (gst_collectpads_finalize), (gst_collectpads_new),
21379         (gst_collectpads_set_function), (gst_collectpads_add_pad),
21380         (find_pad), (gst_collectpads_remove_pad),
21381         (gst_collectpads_is_active), (gst_collectpads_collect),
21382         (gst_collectpads_collect_range), (gst_collectpads_start),
21383         (gst_collectpads_stop), (gst_collectpads_peek),
21384         (gst_collectpads_pop), (gst_collectpads_available),
21385         (gst_collectpads_read), (gst_collectpads_flush),
21386         (gst_collectpads_chain):
21387         * gst/base/gstcollectpads.h:
21388         * gst/elements/Makefile.am:
21389         * gst/elements/gstelements.c:
21390         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
21391         (gst_fakesink_get_times), (gst_fakesink_event),
21392         (gst_fakesink_preroll), (gst_fakesink_render):
21393         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
21394         (gst_filesink_init), (gst_filesink_set_location),
21395         (gst_filesink_open_file), (gst_filesink_close_file),
21396         (gst_filesink_pad_query), (gst_filesink_event),
21397         (gst_filesink_render), (gst_filesink_change_state):
21398         * gst/elements/gstfilesink.h:
21399         Added object to help in making collect pad based elements.
21400         Ported filesink.
21401         Make event function in sink baseclass return gboolean.
21402
21403 2005-05-05  Wim Taymans  <wim@fluendo.com>
21404
21405         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
21406         (gst_bin_get_by_name):
21407         * gst/gstbuffer.h:
21408         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
21409         (gst_clock_finalize):
21410         * gst/gstdata.c: (gst_data_replace):
21411         * gst/gstdata.h:
21412         * gst/gstelement.c: (gst_element_request_pad),
21413         (gst_element_pads_activate):
21414         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
21415         (gst_object_unref):
21416         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21417         (gst_pad_set_checkgetrange_function),
21418         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
21419         (gst_pad_check_pull_range), (gst_pad_pull_range),
21420         (gst_static_pad_template_get_caps), (gst_pad_start_task),
21421         (gst_pad_pause_task), (gst_pad_stop_task):
21422         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21423         (gst_element_request_pad), (gst_pad_proxy_getcaps):
21424         Fix name lookup in GstBin.
21425         Added _data_replace() function and _buffer_replace()
21426         Use finalize method to clean up clock.
21427         Fix refcounting on request pads.
21428         Fix pad schedule mode error.
21429         Some more object refcounting debug info,
21430
21431
21432 2005-05-04  Andy Wingo <wingo@pobox.com>
21433
21434         * check/Makefile.am:
21435         * docs/gst/tmpl/gstatomic.sgml:
21436         * docs/gst/tmpl/gstplugin.sgml:
21437         * gst/base/gstbasesink.c: (gst_basesink_activate):
21438         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
21439         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
21440         (gst_basesrc_query), (gst_basesrc_set_property),
21441         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
21442         (gst_basesrc_activate):
21443         * gst/base/gstbasesrc.h:
21444         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
21445         (gst_base_transform_src_activate):
21446         * gst/elements/gstelements.c:
21447         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
21448         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
21449         * gst/elements/gsttee.c: (gst_tee_sink_activate):
21450         * gst/elements/gsttypefindelement.c: (find_element_get_length),
21451         (gst_type_find_element_checkgetrange),
21452         (gst_type_find_element_activate):
21453         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
21454         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
21455         (gst_caps_load_thyself):
21456         * gst/gstelement.c: (gst_element_pads_activate),
21457         (gst_element_save_thyself), (gst_element_restore_thyself):
21458         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
21459         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
21460         * gst/gstpad.h:
21461         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
21462         (gst_xml_parse_file), (gst_xml_parse_memory),
21463         (gst_xml_get_element), (gst_xml_make_element):
21464         * gst/indexers/gstfileindex.c: (gst_file_index_load),
21465         (_file_index_id_save_xml), (gst_file_index_commit):
21466         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
21467         (read_enum), (load_pad_template), (load_feature), (load_plugin),
21468         (load_paths):
21469         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
21470         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
21471         * tools/gst-complete.c: (main):
21472         * tools/gst-compprep.c: (main):
21473         * tools/gst-inspect.c: (print_element_properties_info):
21474         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
21475         * tools/gst-xmlinspect.c: (print_element_properties):
21476         GCC 4 fixen.
21477         
21478 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
21479
21480         * gst/gstplugin.c: (gst_plugin_check_module),
21481         (gst_plugin_check_file), (gst_plugin_load_file):
21482             apply patch from #172526 to make register work on MacOSX
21483
21484 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21485
21486         * docs/gst/tmpl/gstconfig.sgml:
21487         * gst/gstconfig.h.in:
21488           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
21489         * testsuite/debug/printf_extension.c: (main):
21490           Do not use GST_PTR_FORMAT on pointers to types with
21491           sizeof < sizeof(gpointer).  Fixes test on 64-bit
21492         * testsuite/elements/property.h:
21493           use correct printf format
21494
21495 2005-05-02  Wim Taymans  <wim@fluendo.com>
21496
21497         * docs/design/draft-push-pull.txt:
21498         * docs/design/draft-query.txt:
21499         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
21500         (gst_basesrc_start):
21501         Added draft for new query API.
21502         Added draft for better selecting scheduling methods.
21503         Make basesrc ignore length if the subclass does not support
21504         it.
21505
21506 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21507
21508         * gst/Makefile.am:
21509           possible fixes for automake-1.5 - _LIBADD is reserved
21510
21511 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21512
21513         * docs/faq/Makefile.am:
21514         * docs/manual/Makefile.am:
21515         * docs/manuals.mak:
21516         * docs/pwg/Makefile.am:
21517         * gst/Makefile.am:
21518           possible fixes for automake-1.5
21519
21520 2005-04-28  Wim Taymans  <wim@fluendo.com>
21521
21522         * gst/base/gstbasesink.c: (gst_basesink_base_init),
21523         (gst_basesink_pad_getcaps), (gst_basesink_init),
21524         (gst_basesink_do_sync):
21525         * gst/gstclock.c: (gst_clock_entry_new):
21526         * gst/gstevent.c: (gst_event_discont_get_value):
21527         * gst/gstpipeline.c: (pipeline_bus_handler),
21528         (gst_pipeline_change_state):
21529         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
21530         Better debugging of clocking info.
21531         Allow NULL values when getting discont values.
21532
21533 2005-04-27  Wim Taymans  <wim@fluendo.com>
21534
21535         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
21536         * check/gst/gstpad.c: (gst_pad_suite):
21537         Increase timeout for checks.
21538
21539 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
21540
21541         * check/Makefile.am:
21542           fix the broken rule for cleanup.  Apparently this rule is
21543           only needed on FC2, so maybe this warrants further autotool
21544           inspection.
21545
21546 2005-04-26  Wim Taymans  <wim@fluendo.com>
21547
21548         * gst/gsttrashstack.h:
21549         Ooohh. a nasty one! After having a failed pop() from the stack,
21550         it's possible that the stack is empty. In that case, don't
21551         follow the NULL pointer.
21552
21553 2005-04-25  Wim Taymans  <wim@fluendo.com>
21554
21555         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21556         (gst_pad_set_checkgetrange_function),
21557         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
21558         (gst_pad_check_pull_range), (gst_pad_pull_range),
21559         (gst_static_pad_template_get_caps), (gst_pad_start_task),
21560         (gst_pad_pause_task), (gst_pad_stop_task):
21561         * gst/gstplugin.c: (gst_plugin_load):
21562         * gst/gstplugin.h:
21563         Remove gst_library_load as it does more harm than good with
21564         the new g_module flags.
21565         Revert bogus caps template check in pad linking, pad caps
21566         are important when linking not the template, which is more
21567         general than the current caps.
21568
21569 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21570
21571         * gst/autoplug/.cvsignore:
21572         * gst/autoplug/Makefile.am:
21573         * gst/autoplug/gstsearchfuncs.c:
21574         * gst/autoplug/gstsearchfuncs.h:
21575         * gst/autoplug/gstspider.c:
21576         * gst/autoplug/gstspider.h:
21577         * gst/autoplug/gstspideridentity.c:
21578         * gst/autoplug/gstspideridentity.h:
21579         * gst/autoplug/spidertest.c:
21580           Die, spider, die.
21581
21582 2005-04-25  Wim Taymans  <wim@fluendo.com>
21583
21584         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21585         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
21586         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
21587         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
21588         * gst/gstpad.h:
21589         Added stubs for unimplemented functions. 
21590
21591 2005-04-24  David Schleef  <ds@schleef.org>
21592
21593         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
21594         please fix.
21595
21596 2005-04-24  David Schleef  <ds@schleef.org>
21597
21598         Convert everything from GstAtomicInt to g_atomic_int_*, and
21599         remove gstatomic.
21600         * gst/Makefile.am:
21601         * gst/gstatomic.c:
21602         * gst/gstatomic.h:
21603         * gst/gstatomic_impl.h:
21604         * gst/gstbuffer.c:
21605         * gst/gstcaps.c:
21606         * gst/gstcaps.h:
21607         * gst/gstclock.c:
21608         * gst/gstclock.h:
21609         * gst/gstdata.c:
21610         * gst/gstdata.h:
21611         * gst/gstdata_private.h:
21612         * gst/gstevent.c:
21613         * gst/gstinfo.c:
21614         * gst/gstinfo.h:
21615         * gst/gstmessage.c:
21616         * gst/gstobject.c:
21617         * gst/gstobject.h:
21618         * gst/gststructure.c:
21619         * gst/gststructure.h:
21620         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
21621         * gst/gstutils.h:
21622
21623 2005-04-24  David Schleef  <ds@schleef.org>
21624
21625         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
21626         make the regressions tests work.  Remove some code that is no
21627         longer true.
21628         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
21629         Disable warning for pads without templates.
21630
21631 2005-04-24  David Schleef  <ds@schleef.org>
21632
21633         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
21634         functions that handle filtered links.
21635         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
21636         removed functions.
21637         * gst/gstutils.c: Fix/remove utility functions that handle
21638         filtered caps.
21639         * gst/gstutils.h:
21640         * gst/gstvalue.c: Add serialization/deserialization of caps
21641         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
21642         requires fixing so that the filter caps notation creates
21643         a capsfilter element and sets the filter_caps property.  I
21644         think everyone probably wants to keep the shorthand notation.
21645         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
21646         * docs/gst/tmpl/gstpad.sgml:
21647
21648         * gst/elements/gstelements.c: Register capsfilter element.
21649         * gst/Makefile.am: fix spacing
21650         * docs/random/ds/0.9-suggested-changes: random
21651
21652 2005-04-23  David Schleef  <ds@schleef.org>
21653
21654         * gst/elements/Makefile.am:
21655         * gst/elements/gstcapsfilter.c: New element that acts like an
21656         identity, but filters caps.  Will eventually replace filtered
21657         caps in pad linking.
21658         * gst/gstutils.c: (gst_element_create_all_pads): New function
21659         to create all the ALWAYS pads that are registered with an
21660         element class.  This functionality should eventually be
21661         merged in with GstElement initialization.
21662         * gst/gstutils.h:
21663         * testsuite/trigger/README: part of trigger test code that should
21664         have been checked in a long time ago.
21665
21666 2005-04-23  David Schleef  <ds@schleef.org>
21667
21668         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
21669         needed with new versions of libtool (nobody will confirm this),
21670         and hard to carry around.
21671         * gst/autoplug/Makefile.am:
21672         * gst/base/Makefile.am:
21673         * gst/elements/Makefile.am:
21674         * gst/indexers/Makefile.am:
21675         * gst/schedulers/Makefile.am:
21676         * libs/gst/bytestream/Makefile.am:
21677         * libs/gst/control/Makefile.am:
21678         * libs/gst/dataprotocol/Makefile.am:
21679         * libs/gst/getbits/Makefile.am:
21680
21681 2005-04-21  Wim Taymans  <wim@fluendo.com>
21682
21683         * docs/design/draft-push-pull.txt:
21684         * docs/design/part-MT-refcounting.txt:
21685         * docs/design/part-TODO.txt:
21686         * docs/design/part-caps.txt:
21687         * docs/design/part-events.txt:
21688         * docs/design/part-gstbus.txt:
21689         * docs/design/part-gstpipeline.txt:
21690         * docs/design/part-messages.txt:
21691         * docs/design/part-push-pull.txt:
21692         * docs/design/part-query.txt:
21693         Some more docs.
21694
21695 2005-04-21  Wim Taymans  <wim@fluendo.com>
21696
21697         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
21698         (gst_message_new), (gst_message_new_error),
21699         (gst_message_new_warning), (gst_message_new_tag),
21700         (gst_message_new_state_changed), (gst_message_new_application),
21701         (gst_message_get_structure):
21702         * gst/gstmessage.h:
21703         * gst/gststructure.c: (gst_structure_set_parent_refcount),
21704         (gst_structure_copy_conditional):
21705         Use parent refcount in GstMessage to ensure GstStructure
21706         consistency.
21707         Cleaned up headers a bit.
21708         
21709
21710 2005-04-20  Wim Taymans  <wim@fluendo.com>
21711
21712         * gst/base/gstbasesink.c: (gst_basesink_base_init),
21713         (gst_basesink_pad_getcaps), (gst_basesink_init),
21714         (gst_basesink_chain_unlocked):
21715         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
21716         (gst_type_find_helper):
21717         * gst/elements/gsttypefindelement.c:
21718         (gst_type_find_element_have_type), (gst_type_find_element_init),
21719         (stop_typefinding), (gst_type_find_element_handle_event),
21720         (find_suggest), (gst_type_find_element_chain),
21721         (gst_type_find_element_checkgetrange),
21722         (gst_type_find_element_getrange), (do_typefind),
21723         (gst_type_find_element_activate):
21724         * gst/gstbuffer.c: (_gst_buffer_sub_free),
21725         (gst_buffer_default_free), (gst_buffer_default_copy),
21726         (gst_buffer_set_caps):
21727         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
21728         (gst_caps_replace):
21729         * gst/gstmessage.c: (gst_message_new),
21730         (gst_message_new_state_changed):
21731         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21732         (gst_pad_set_checkgetrange_function),
21733         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
21734         (gst_pad_set_caps), (gst_pad_check_pull_range),
21735         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
21736         * gst/gstpad.h:
21737         * gst/gsttypefind.c: (gst_type_find_register):
21738         Make gst_caps_replace() work like other _replace() functions.
21739         Use _caps_replace() where possible.
21740         Make sure _message_new() initialises its field.
21741         Add gst_static_pad_template_get_caps()
21742
21743
21744 2005-04-18  Andy Wingo  <wingo@pobox.com>
21745
21746         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
21747         on the peer, not the pad. I think that was a typo. Pass an extra
21748         arg to see if random access is possible. Activate the pads as
21749         PULL_RANGE if possible.
21750
21751         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
21752
21753         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
21754         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
21755         to PROP_....
21756
21757 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21758
21759         * docs/faq/using.xml:
21760           Add note on gstreamer-properties (#154996).
21761
21762 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21763
21764         * docs/random/bbb/optional-properties:
21765           Some analysis on optional properties.
21766
21767 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21768
21769         * docs/gst/tmpl/gstelementfactory.sgml:
21770         * gst/gstelement.h:
21771         * gst/gstelementfactory.c: (gst_element_factory_init),
21772         (gst_element_factory_cleanup), (gst_element_register),
21773         (__gst_element_factory_add_static_pad_template),
21774         (gst_element_factory_get_static_pad_templates),
21775         (gst_element_factory_can_src_caps),
21776         (gst_element_factory_can_sink_caps):
21777         * gst/registries/Makefile.am:
21778         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
21779         (gst_xml_registry_class_init), (gst_xml_registry_init),
21780         (gst_xml_registry_new), (gst_xml_registry_set_property),
21781         (gst_xml_registry_get_property), (get_time), (make_dir),
21782         (gst_xml_registry_get_perms_func),
21783         (plugin_times_older_than_recurse), (plugin_times_older_than),
21784         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
21785         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
21786         (add_to_char_array), (read_string), (read_uint), (read_enum),
21787         (load_pad_template), (load_feature), (load_plugin), (load_paths),
21788         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
21789         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
21790         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
21791         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
21792         (gst_xml_registry_rebuild):
21793         * gst/registries/gstlibxmlregistry.h:
21794         * tools/gst-compprep.c: (main):
21795         * tools/gst-inspect.c: (print_pad_templates_info):
21796         * tools/gst-xmlinspect.c: (print_element_info):
21797           Use libxml2 for registry parsing, use staticpadtemplates in
21798           elementfactories. Makes gst_init() +/- 10x faster.
21799
21800 2005-04-12  Wim Taymans  <wim@fluendo.com>
21801
21802         * gst/base/Makefile.am:
21803         * gst/base/gstbasesink.c: (gst_basesink_base_init),
21804         (gst_basesink_pad_getcaps), (gst_basesink_init),
21805         (gst_basesink_event), (gst_basesink_change_state):
21806         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
21807         (gst_basesrc_init), (gst_basesrc_query),
21808         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
21809         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
21810         (gst_basesrc_check_get_range), (gst_basesrc_loop),
21811         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
21812         (gst_basesrc_stop), (gst_basesrc_activate),
21813         (gst_basesrc_change_state):
21814         * gst/base/gsttypefindhelper.c: (helper_find_peek),
21815         (helper_find_suggest), (gst_type_find_helper):
21816         * gst/base/gsttypefindhelper.h:
21817         * gst/elements/Makefile.am:
21818         * gst/elements/gstelements.c:
21819         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
21820         (gst_fakesink_get_times), (gst_fakesink_event),
21821         (gst_fakesink_preroll), (gst_fakesink_render):
21822         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
21823         (gst_fakesrc_init), (gst_fakesrc_event_handler),
21824         (gst_fakesrc_get_property), (gst_fakesrc_create),
21825         (gst_fakesrc_start), (gst_fakesrc_stop):
21826         * gst/elements/gstfakesrc.h:
21827         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
21828         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
21829         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
21830         (gst_filesrc_create_read), (gst_filesrc_create),
21831         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
21832         (gst_filesrc_start):
21833         * gst/elements/gsttypefindelement.c:
21834         (gst_type_find_element_have_type), (gst_type_find_element_init),
21835         (start_typefinding), (stop_typefinding), (push_buffer_store),
21836         (gst_type_find_element_handle_event),
21837         (gst_type_find_element_chain),
21838         (gst_type_find_element_checkgetrange),
21839         (gst_type_find_element_getrange), (do_typefind),
21840         (gst_type_find_element_activate),
21841         (gst_type_find_element_change_state):
21842         * gst/elements/gsttypefindelement.h:
21843         * gst/gstpipeline.c: (pipeline_bus_handler):
21844         Added typefind helper.
21845         Small preroll fix in the base sink.
21846         Disable typefind code in basesrc.
21847         Crude port of typefindelement.
21848         Fakesrc cleanups.
21849
21850
21851 2005-04-11  Wim Taymans  <wim@fluendo.com>
21852
21853         * check/gst/gstbus.c: (gstbus_suite):
21854         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
21855         * check/gstcheck.h:
21856           Fix up the timeout so that the test does not fail.
21857
21858 2005-04-06  Wim Taymans  <wim@fluendo.com>
21859
21860         * gst/base/README:
21861         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
21862         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
21863         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
21864         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
21865         (gst_basesrc_check_get_range), (gst_basesrc_loop),
21866         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
21867         (gst_basesrc_stop), (gst_basesrc_activate),
21868         (gst_basesrc_change_state), (basesrc_find_peek),
21869         (basesrc_find_suggest), (gst_basesrc_type_find):
21870         * gst/base/gstbasesrc.h:
21871         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
21872         (gst_filesrc_class_init), (gst_filesrc_init),
21873         (gst_filesrc_finalize), (gst_filesrc_set_location),
21874         (gst_filesrc_set_property), (gst_filesrc_get_property),
21875         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
21876         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
21877         (gst_filesrc_create_read), (gst_filesrc_create),
21878         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
21879         * gst/elements/gstfilesrc.h:
21880         * gst/gstelement.c: (gst_element_get_state_func),
21881         (gst_element_lost_state), (gst_element_pads_activate):
21882         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21883         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
21884         (gst_pad_pull_range):
21885         * gst/gstpad.h:
21886         More work on the generic source base class, implement seeking,
21887         query.
21888         Make filesrc extend the base source class.
21889         Added gst_pad_set_checkgetrange_function to GstPad.
21890
21891 2005-04-06  Andy Wingo  <wingo@pobox.com>
21892
21893         * pkgconfig/gstreamer-base.pc.in:
21894         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
21895
21896         * pkgconfig/Makefile.am:
21897         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
21898
21899 2005-04-04  Wim Taymans  <wim@fluendo.com>
21900
21901         * gst/base/Makefile.am:
21902         * gst/base/README:
21903         * gst/base/gstbasesink.c: (gst_basesink_base_init),
21904         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
21905         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
21906         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
21907         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
21908         (gst_basesrc_base_init), (gst_basesrc_class_init),
21909         (gst_basesrc_init), (gst_basesrc_get_formats),
21910         (gst_basesrc_get_query_types), (gst_basesrc_query),
21911         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
21912         (gst_basesrc_set_property), (gst_basesrc_get_property),
21913         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
21914         (gst_basesrc_loop), (gst_basesrc_activate),
21915         (gst_basesrc_change_state):
21916         * gst/base/gstbasesrc.h:
21917         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
21918         (gst_fakesrc_class_init), (gst_fakesrc_init),
21919         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
21920         (gst_fakesrc_get_property), (gst_fakesrc_create):
21921         * gst/elements/gstfakesrc.h:
21922         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
21923         (gst_filesrc_open_file), (gst_filesrc_loop),
21924         (gst_filesrc_activate), (filesrc_find_peek),
21925         (gst_filesrc_type_find):
21926         Made base source class, make fakesrc extend it.
21927         Add comments to basesink class.
21928         Some filesrc cleanup.
21929
21930 2005-03-31  David Schleef  <ds@schleef.org>
21931
21932         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
21933         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
21934         expected to link against libgstreamer.
21935         * gst/base/Makefile.am: link against libgstreamer
21936         * gst/elements/Makefile.am: same
21937
21938 2005-03-31  Andy Wingo  <wingo@pobox.com>
21939
21940         * tests/instantiate/Makefile.am:
21941         * tests/instantiate/caps.c: Add test to test speed of caps copy
21942         and free.
21943
21944         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
21945         GMemChunk to be fair.
21946
21947         * gst/gsttrashstack.h: Remove warning about using the fallback
21948         trash stack implementation, it's still faster than malloc.
21949
21950 2005-03-30  Andy Wingo  <wingo@pobox.com>
21951
21952         * tests/complexity.c: Add a copyright.
21953
21954 2005-03-31  Wim Taymans  <wim@fluendo.com>
21955
21956         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
21957         (gst_base_transform_class_init), (gst_base_transform_init),
21958         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
21959         (gst_base_transform_get_property),
21960         (gst_base_transform_sink_activate),
21961         (gst_base_transform_src_activate),
21962         (gst_base_transform_change_state):
21963         * gst/base/gstbasetransform.h:
21964         * gst/elements/gstidentity.c: (gst_identity_class_init),
21965         (gst_identity_event), (gst_identity_check_perfect),
21966         (gst_identity_transform), (gst_identity_start),
21967         (gst_identity_stop):
21968         Added start/stop methods to transform base class so subclasses 
21969         don't need to deal with state changes even.
21970
21971 2005-03-31  Wim Taymans  <wim@fluendo.com>
21972
21973         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
21974         (gst_event_new_discontinuous), (gst_event_discont_get_value):
21975         * gst/gstevent.h:
21976         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21977         (gst_pad_pull_range):
21978         Added rate to the discont event to prepare for variable speed
21979         and reverse playback.
21980
21981 2005-03-29  David Schleef  <ds@schleef.org>
21982
21983         * configure.ac:
21984         * testsuite/trigger/Makefile.am:
21985         * testsuite/trigger/trigger.c: A little example program to show
21986         how trigger-based elements can work.
21987
21988 2005-03-29  Wim Taymans  <wim@fluendo.com>
21989
21990         * gst/base/Makefile.am:
21991         * gst/base/README:
21992         * gst/base/gstbasesink.c: (gst_basesink_get_type),
21993         (gst_basesink_base_init), (gst_basesink_class_init),
21994         (gst_basesink_pad_getcaps), (gst_basesink_init),
21995         (gst_basesink_activate), (gst_basesink_change_state):
21996         * gst/base/gstbasesink.h:
21997         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
21998         (gst_base_transform_base_init), (gst_base_transform_finalize),
21999         (gst_base_transform_class_init), (gst_base_transform_init),
22000         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
22001         (gst_base_transform_event), (gst_base_transform_getrange),
22002         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
22003         (gst_base_transform_set_property),
22004         (gst_base_transform_get_property),
22005         (gst_base_transform_sink_activate),
22006         (gst_base_transform_src_activate),
22007         (gst_base_transform_change_state):
22008         * gst/base/gstbasetransform.h:
22009         * gst/elements/gstidentity.c: (gst_identity_finalize),
22010         (gst_identity_class_init), (gst_identity_init),
22011         (gst_identity_event), (gst_identity_check_perfect),
22012         (gst_identity_transform), (gst_identity_set_property),
22013         (gst_identity_get_property), (gst_identity_change_state):
22014         * gst/elements/gstidentity.h:
22015         * gst/gstelement.c: (gst_element_get_state_func),
22016         (gst_element_lost_state), (gst_element_pads_activate):
22017         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
22018         (gst_pad_check_pull_range), (gst_pad_pull_range):
22019         * gst/gstpad.h:
22020         Simplify pad activation.
22021         Added function to check if pull_range can be performed.
22022         Error out when pulling inactive or flushing pads.
22023         Removed const from refcounted types as it does not make sense.
22024         Simplify pad templates in basesink
22025         Added base class for simple 1-to-1 transforms.
22026         Make identity subclass the base transform.
22027
22028 2005-03-29  Andy Wingo  <wingo@pobox.com>
22029
22030         * docs/libs/gstreamer-libs-overrides.txt: 
22031         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
22032         really don't understand what's going on, but like whatever. I want
22033         green buildbot!
22034
22035         * docs/gst/Makefile.am:
22036         * docs/libs/Makefile.am: Dist the overrides files.
22037
22038         * check/Makefile.am (clean-local): Remove .libs directories.
22039
22040         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
22041         elements to EXTRA_DIST, so po/ files are happy.
22042
22043         * po/POTFILES.in: Er, remove it here.
22044
22045         * po/POTFILES: Remove gstspider.c.
22046
22047         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
22048
22049         * docs/libs/gstreamer-libs-docs.sgml: 
22050         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
22051         bytestream.
22052
22053         * tests/complexity.c (main): Set the length of the preroll queue
22054         on the sinks to prevent a lockup.
22055
22056         * libs/gst/dataprotocol/Makefile.am: 
22057         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
22058         the same as the one in check/gst-libs/gdp.c.
22059
22060         * po/, docs/gst/: Commit automatic changes to docs and po files.
22061
22062         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
22063         the versioned libgstbase.
22064
22065         * check/Makefile.am: Depend on an unversioned gst-register, seems
22066         to make autoconf happier.
22067
22068         * gst/base/Makefile.am: Make libgstbase a versioned lib.
22069
22070 2005-03-28  Wim Taymans  <wim@fluendo.com>
22071
22072         * configure.ac:
22073         * docs/design/part-gstelement.txt:
22074         * docs/design/part-negotiation.txt:
22075         * docs/design/part-preroll.txt:
22076         * docs/design/part-scheduling.txt:
22077         * docs/design/part-states.txt:
22078         * gst/Makefile.am:
22079         * gst/base/Makefile.am:
22080         * gst/base/README:
22081         * gst/base/gstbasesink.c: (gst_basesink_get_template),
22082         (gst_basesink_base_init), (gst_basesink_class_init),
22083         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
22084         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
22085         (gst_basesink_set_pad_functions),
22086         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
22087         (gst_basesink_set_property), (gst_basesink_get_property),
22088         (gst_base_sink_get_template), (gst_base_sink_get_caps),
22089         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
22090         (gst_basesink_preroll_queue_push),
22091         (gst_basesink_preroll_queue_empty),
22092         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
22093         (gst_basesink_event), (gst_basesink_get_times),
22094         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
22095         (gst_basesink_chain_unlocked), (gst_basesink_chain),
22096         (gst_basesink_loop), (gst_basesink_activate),
22097         (gst_basesink_change_state):
22098         * gst/base/gstbasesink.h:
22099         * gst/elements/Makefile.am:
22100         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
22101         (gst_fakesink_class_init), (gst_fakesink_init),
22102         (gst_fakesink_set_property), (gst_fakesink_get_property),
22103         (gst_fakesink_get_times), (gst_fakesink_event),
22104         (gst_fakesink_preroll), (gst_fakesink_render),
22105         (gst_fakesink_change_state):
22106         * gst/elements/gstfakesink.h:
22107         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
22108         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
22109         * gst/gstelement.c: (gst_element_add_pad),
22110         (gst_element_get_state_func), (gst_element_abort_state),
22111         (gst_element_commit_state), (gst_element_lost_state),
22112         (gst_element_set_state), (gst_element_pads_activate):
22113         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
22114         * gst/gstpipeline.c: (gst_pipeline_send_event),
22115         (gst_pipeline_change_state):
22116         Added state change code.
22117         Added/updated docs.
22118         Added sink base class, make fakesink extend the base class.
22119         Small cleanups in GstPipeline.
22120
22121 2005-03-26  David Schleef  <ds@schleef.org>
22122
22123         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
22124         is broken and should be implemented in a different library.
22125         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
22126         * gst/gst.h: remove gstcpu.h
22127         * gst/gstcpu.c: remove
22128         * gst/gstcpu.h: remove
22129         * gst/Makefile.am.future: Remove this file.  It's ancient.
22130
22131 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22132
22133         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
22134         (gst_bin_send_event):
22135           Add default event/set_manager handlers. The set_manager handler
22136           takes care that the manager is distributed over kids that were
22137           already in the bin before the manager was set. The event handler
22138           is a utility virtual function that sends the event over all sinks,
22139           so that gst_element_send_event (bin, event); has the expected
22140           behaviour.
22141         * gst/gstpad.c: (gst_pad_event_default):
22142           Re-install default event handling for discontinuities, so that
22143           seeking works without requiring hacks in applications or extra
22144           code in sinks.
22145         * gst/gstpipeline.c: (gst_pipeline_class_init),
22146         (gst_pipeline_send_event):
22147           Half hack, half utility: set a pipeline to PAUSED for seek events,
22148           since that is the only way we can guarantee a/v sync. Means that
22149           you can do gst_element_seek (pipeline, method, pos); on a pipeline
22150           and it "just works".
22151
22152 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22153
22154         * gst/gstpipeline.c: (gst_pipeline_use_clock):
22155           Lock/unlock mismatch.
22156
22157 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
22158
22159         * docs/faq/gst-uninstalled:
22160           add gst-plugins-base
22161         * docs/gst/Makefile.am:
22162           don't error out until docs are fixed
22163         * docs/gst/gstreamer.types:
22164           remove thread
22165
22166 2005-03-22  Wim Taymans  <wim@fluendo.com>
22167
22168         * check/Makefile.am:
22169         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
22170         * gst/gststructure.c: (gst_structure_set_valist),
22171         (gst_structure_copy_conditional):
22172         Activated more tests.
22173         Added message test.
22174         Added G_TYPE_POINTER to GstStructure.
22175         
22176
22177 2005-03-22  Wim Taymans  <wim@fluendo.com>
22178
22179         * docs/design/part-TODO.txt:
22180         * docs/design/part-events.txt:
22181         * docs/design/part-gstbin.txt:
22182         * docs/design/part-gstbus.txt:
22183         * docs/design/part-gstpipeline.txt:
22184         * docs/design/part-messages.txt:
22185         * gst/gstbus.c:
22186         * gst/gstmessage.c:
22187         Docs updates
22188
22189 2005-03-21  Wim Taymans  <wim@fluendo.com>
22190
22191         * gst/gstbus.c: (gst_bus_post):
22192         Fix copy-and-paste error.
22193
22194 2005-03-21  Wim Taymans  <wim@fluendo.com>
22195
22196         * check/Makefile.am:
22197         * gst/Makefile.am:
22198         * gst/elements/Makefile.am:
22199         * gst/elements/gstelements.c:
22200         * gst/elements/gstfakesink.c: (gst_fakesink_init),
22201         (gst_fakesink_event), (gst_fakesink_chain):
22202         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
22203         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
22204         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
22205         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
22206         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
22207         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
22208         (gst_fakesrc_loop), (gst_fakesrc_activate),
22209         (gst_fakesrc_change_state):
22210         * gst/elements/gstfakesrc.h:
22211         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
22212         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
22213         (gst_filesrc_open_file), (gst_filesrc_loop),
22214         (gst_filesrc_activate), (gst_filesrc_change_state),
22215         (filesrc_find_peek), (filesrc_find_suggest),
22216         (gst_filesrc_type_find):
22217         * gst/elements/gstidentity.c: (gst_identity_finalize),
22218         (gst_identity_class_init), (gst_identity_init),
22219         (gst_identity_proxy_getcaps), (identity_queue_push),
22220         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
22221         (gst_identity_getrange), (gst_identity_chain),
22222         (gst_identity_sink_loop), (gst_identity_src_loop),
22223         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
22224         (gst_identity_set_property), (gst_identity_get_property),
22225         (gst_identity_change_state):
22226         * gst/elements/gstidentity.h:
22227         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
22228         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
22229         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
22230         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
22231         (gst_tee_sink_activate):
22232         * gst/elements/gsttee.h:
22233         * gst/gst.c: (gst_register_core_elements), (init_post):
22234         * gst/gst.h:
22235         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
22236         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
22237         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
22238         (gst_bin_change_state):
22239         * gst/gstbin.h:
22240         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
22241         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
22242         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
22243         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
22244         (gst_bus_set_sync_handler), (gst_bus_create_watch),
22245         (bus_watch_callback), (bus_watch_destroy),
22246         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
22247         (poll_timeout), (gst_bus_poll):
22248         * gst/gstbus.h:
22249         * gst/gstcaps.h:
22250         * gst/gstdata.h:
22251         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
22252         (gst_element_post_message), (gst_element_message_full),
22253         (gst_element_get_state_func), (gst_element_get_state),
22254         (gst_element_abort_state), (gst_element_commit_state),
22255         (gst_element_lost_state), (gst_element_set_state),
22256         (gst_element_pads_activate), (gst_element_change_state),
22257         (gst_element_dispose), (gst_element_set_manager_func),
22258         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
22259         (gst_element_set_manager), (gst_element_get_manager),
22260         (gst_element_set_bus), (gst_element_get_bus),
22261         (gst_element_set_scheduler), (gst_element_get_scheduler):
22262         * gst/gstelement.h:
22263         * gst/gstevent.c: (gst_event_new_segment_seek),
22264         (gst_event_new_flush):
22265         * gst/gstevent.h:
22266         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
22267         (_gst_message_free), (gst_message_get_type), (gst_message_new),
22268         (gst_message_new_eos), (gst_message_new_error),
22269         (gst_message_new_warning), (gst_message_new_tag),
22270         (gst_message_new_state_changed), (gst_message_new_application),
22271         (gst_message_get_structure), (gst_message_parse_tag),
22272         (gst_message_parse_state_changed), (gst_message_parse_error),
22273         (gst_message_parse_warning):
22274         * gst/gstmessage.h:
22275         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
22276         (gst_real_pad_set_property), (gst_pad_set_active),
22277         (gst_pad_is_active), (gst_pad_set_blocked_async),
22278         (gst_pad_set_blocked), (gst_pad_is_blocked),
22279         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
22280         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
22281         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
22282         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
22283         (gst_pad_link_filtered), (gst_pad_relink_filtered),
22284         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
22285         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
22286         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
22287         (gst_pad_set_caps), (gst_pad_configure_sink),
22288         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
22289         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
22290         (gst_real_pad_dispose), (gst_real_pad_finalize),
22291         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
22292         (gst_pad_event_default_dispatch), (gst_pad_event_default),
22293         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
22294         * gst/gstpad.h:
22295         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
22296         (pipeline_bus_handler), (gst_pipeline_change_state),
22297         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
22298         * gst/gstpipeline.h:
22299         * gst/gstprobe.h:
22300         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
22301         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
22302         (gst_queue_link_src), (gst_queue_bufferalloc),
22303         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
22304         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
22305         (gst_queue_loop), (gst_queue_handle_src_event),
22306         (gst_queue_handle_src_query), (gst_queue_src_activate),
22307         (gst_queue_change_state):
22308         * gst/gstqueue.h:
22309         * gst/gstscheduler.c: (gst_scheduler_init),
22310         (gst_scheduler_dispose), (gst_scheduler_create_task),
22311         (gst_scheduler_factory_create):
22312         * gst/gstscheduler.h:
22313         * gst/gststructure.c: (gst_structure_get_type),
22314         (gst_structure_copy_conditional):
22315         * gst/gststructure.h:
22316         * gst/gsttaginterface.h:
22317         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
22318         (gst_task_init), (gst_task_dispose), (gst_task_create),
22319         (gst_task_get_state), (gst_task_start), (gst_task_stop),
22320         (gst_task_pause):
22321         * gst/gsttask.h:
22322         * gst/gstthread.c:
22323         * gst/gstthread.h:
22324         * gst/gsttypes.h:
22325         * gst/schedulers/Makefile.am:
22326         * gst/schedulers/cothreads_compat.h:
22327         * gst/schedulers/entryscheduler.c:
22328         * gst/schedulers/faircothreads.c:
22329         * gst/schedulers/faircothreads.h:
22330         * gst/schedulers/fairscheduler.c:
22331         * gst/schedulers/gstbasicscheduler.c:
22332         * gst/schedulers/gstoptimalscheduler.c:
22333         * gst/schedulers/gthread-cothreads.h:
22334         * gst/schedulers/threadscheduler.c:
22335         (gst_thread_scheduler_task_get_type),
22336         (gst_thread_scheduler_task_class_init),
22337         (gst_thread_scheduler_task_init),
22338         (gst_thread_scheduler_task_start),
22339         (gst_thread_scheduler_task_stop),
22340         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
22341         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
22342         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
22343         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
22344         (plugin_init):
22345         * libs/gst/Makefile.am:
22346         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
22347         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
22348         (gst_file_pad_parent_set):
22349         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
22350         (gst_dp_event_from_packet):
22351         * tests/complexity.c: (main):
22352         * tests/mass_elements.c: (main):
22353         * testsuite/states/locked.c: (message_received), (main):
22354         * testsuite/states/parent.c: (main):
22355         * tools/gst-inspect.c: (print_element_flag_info),
22356         (print_implementation_info), (print_pad_info):
22357         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
22358         (main):
22359         * tools/gst-md5sum.c: (event_loop), (main):
22360         * tools/gst-typefind.c: (main):
22361         * tools/gst-xmlinspect.c: (print_element_info):
22362         Next big merge.
22363         Added GstBus for mainloop integration.
22364         Added GstMessage for sending notifications on the bus.
22365         Added GstTask as an abstraction for pipeline entry points.
22366         Removed GstThread.
22367         Removed Schedulers.
22368         Simplified GstQueue for multithreaded core.
22369         Made _link threadsafe, removed old capsnego.
22370         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
22371         Added pad blocking functions.
22372         Reworked scheduling functions in GstPad to prepare for
22373         scheduling updates soon.
22374         Moved events out of data stream.
22375         Simplified GstEvent types.
22376         Added return values to push/pull.
22377         Removed clocking from GstElement.
22378         Added prototypes for state change function for next merge.
22379         Removed iterate from bins and state change management.
22380         Fixed some elements, disabled others for now.
22381         Fixed -inspect and -launch.
22382         Added check for GstBus.
22383
22384 2005-03-10  Wim Taymans  <wim@fluendo.com>
22385
22386         * docs/design/part-MT-refcounting.txt:
22387         * docs/design/part-clocks.txt:
22388         * docs/design/part-gstelement.txt:
22389         * docs/design/part-gstobject.txt:
22390         * docs/design/part-standards.txt:
22391         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
22392         (gst_bin_remove_func), (gst_bin_remove):
22393         * gst/gstbin.h:
22394         * gst/gstbuffer.c:
22395         * gst/gstcaps.h:
22396         * testsuite/clock/clock1.c: (main):
22397         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
22398         (main):
22399         * testsuite/dlopen/loadgst.c: (do_test):
22400         * testsuite/refcounting/bin.c: (add_remove_test1),
22401         (add_remove_test2), (main):
22402         * testsuite/refcounting/element.c: (main):
22403         * testsuite/refcounting/element_pad.c: (main):
22404         * testsuite/refcounting/pad.c: (main):
22405         * tools/gst-launch.c: (sigint_handler_sighandler):
22406         * tools/gst-typefind.c: (main):
22407         Doc updates.
22408         Added doc about clock.
22409         removed gst_bin_iterate_recurse_up(), marked methods
22410         for removal.
22411         Fix more testsuites.
22412
22413 2005-03-09  Wim Taymans  <wim@fluendo.com>
22414
22415         * gst/gstpad.c: (gst_pad_get_direction),
22416         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
22417         (gst_pad_collect_valist):
22418         * testsuite/bins/interface.c: (main):
22419         * testsuite/caps/audioscale.c: (test_caps):
22420         * testsuite/caps/caps.c: (test1), (test2), (test3):
22421         * testsuite/caps/deserialize.c: (main):
22422         * testsuite/caps/enumcaps.c: (main):
22423         * testsuite/caps/filtercaps.c: (main):
22424         * testsuite/caps/intersect2.c: (main):
22425         * testsuite/caps/random.c: (main):
22426         * testsuite/caps/renegotiate.c: (my_fixate), (main):
22427         * testsuite/caps/sets.c: (check_caps):
22428         * testsuite/caps/simplify.c: (check_caps), (main):
22429         * testsuite/caps/subtract.c: (check_caps):
22430         Fix _pad_get_direction wrt ghostpads.
22431         Fix caps testsuite.
22432
22433 2005-03-09  Wim Taymans  <wim@fluendo.com>
22434
22435         * check/Makefile.am:
22436         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
22437         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
22438         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
22439         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
22440         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
22441         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
22442         (gst_bin_remove), (gst_bin_iterate_recurse_up),
22443         (bin_element_is_sink), (gst_bin_iterate_sinks),
22444         (gst_bin_iterate_all_by_interface):
22445         * gst/gstbin.h:
22446         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
22447         (gst_element_change_state), (gst_element_dispose),
22448         (gst_element_finalize), (gst_element_set_loop_function):
22449         * gst/gstelement.h:
22450         * gst/gstiterator.c: (find_custom_fold_func):
22451         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
22452         (gst_pad_collectv), (gst_pad_collect_valist),
22453         (gst_pad_template_new):
22454         * gst/gstpipeline.c: (gst_pipeline_class_init),
22455         (gst_pipeline_dispose), (gst_pipeline_set_property),
22456         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
22457         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
22458         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
22459         * gst/gstutils.h:
22460         * gst/schedulers/entryscheduler.c:
22461         * gst/schedulers/gstbasicscheduler.c:
22462         (gst_basic_scheduler_cothreaded_chain),
22463         (gst_basic_scheduler_chain_add_element):
22464         * testsuite/bins/interface.c: (main):
22465         Added GstBin test.
22466         Added GstSystemClock test.
22467         Implemented clock distribution code in GstBin.
22468         Implemented iterate sinks method for future use.
22469         Rearranged gstelement.h
22470         Fix GstIterator comparison bug.
22471         Moved some code to GstPipeline, mostly clocking related.
22472
22473 2005-03-09  Wim Taymans  <wim@fluendo.com>
22474
22475         * configure.ac:
22476         * gst/gst_private.h:
22477         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
22478         (gst_bin_remove_func), (gst_bin_remove),
22479         (gst_bin_get_by_name_recurse_up):
22480         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
22481         (gst_clock_id_compare_func), (gst_clock_id_wait),
22482         (gst_clock_id_wait_async), (gst_clock_init),
22483         (gst_clock_adjust_unlocked), (gst_clock_get_time):
22484         * gst/gstelement.h:
22485         * gst/gstinfo.c: (_gst_debug_init):
22486         * gst/gstobject.h:
22487         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
22488         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
22489         * gst/gstpad.h:
22490         Bump version number, we're now 0.9.0
22491         Add future debugging category.
22492         Fix NULL _unref() in _get_by_name_recurse_up
22493         Rearrange gstpad.h.
22494         Update some docs.
22495
22496 2005-03-08  Wim Taymans  <wim@fluendo.com>
22497
22498         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
22499         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
22500         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
22501         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
22502         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
22503         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
22504         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
22505         * gst/elements/gstidentity.c: (gst_identity_class_init):
22506         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
22507         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
22508         * gst/elements/gstshaper.c: (gst_shaper_class_init):
22509         * gst/elements/gststatistics.c: (gst_statistics_class_init):
22510         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
22511         (gst_tee_link):
22512         * gst/gstelement.c: (gst_element_class_init),
22513         (gst_element_base_class_init), (gst_element_init),
22514         (gst_element_get_random_pad), (gst_element_wait_state_change),
22515         (gst_element_change_state), (gst_element_dispose),
22516         (gst_element_finalize), (gst_element_set_loop_function):
22517         * gst/gstelement.h:
22518         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
22519         * gst/gstthread.c: (gst_thread_class_init),
22520         (gst_thread_release_children_locks), (gst_thread_change_state):
22521         * gst/schedulers/gstbasicscheduler.c:
22522         (gst_basic_scheduler_loopfunc_wrapper),
22523         (gst_basic_scheduler_chain_wrapper),
22524         (gst_basic_scheduler_src_wrapper),
22525         (gst_basic_scheduler_remove_element):
22526         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
22527         Remove threadsafe properties. Fix elements because GObject
22528         complains when installing a property before declaring a
22529         set/get_property handler.
22530         Rearrange gstelement.h file, use STATE macros for state locks.
22531         Free mutexes in the finalize method instead of dispose.
22532
22533 2005-03-08  Wim Taymans  <wim@fluendo.com>
22534
22535         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
22536         * gst/gstthread.c: (gst_thread_release_children_locks):
22537         Added parentage check.
22538         Fix build og GstThread again.
22539
22540 2005-03-08  Wim Taymans  <wim@fluendo.com>
22541
22542         * docs/design/part-MT-refcounting.txt:
22543         * docs/design/part-conventions.txt:
22544         * docs/design/part-gstobject.txt:
22545         * docs/design/part-relations.txt:
22546         * docs/design/part-standards.txt:
22547         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
22548         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
22549         (gst_bin_get_by_name), (gst_bin_get_by_interface),
22550         (gst_bin_iterate_all_by_interface):
22551         * gst/gstbuffer.h:
22552         * gst/gstclock.h:
22553         * gst/gstelement.c: (gst_element_class_init),
22554         (gst_element_change_state), (gst_element_set_loop_function):
22555         * gst/gstelement.h:
22556         * gst/gstiterator.c:
22557         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
22558         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
22559         (gst_object_dispatch_properties_changed), (gst_object_set_name),
22560         (gst_object_set_parent), (gst_object_unparent),
22561         (gst_object_check_uniqueness):
22562         * gst/gstobject.h:
22563         Docs updates, clean up some headers.
22564
22565 2005-03-07  Wim Taymans  <wim@fluendo.com>
22566
22567         * check/.cvsignore:
22568         * check/Makefile.am:
22569         * check/gst-libs/.cvsignore:
22570         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
22571         * check/gst/.cvsignore:
22572         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
22573         (START_TEST), (gstbus_suite), (main):
22574         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
22575         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
22576         (gst_data_suite), (main):
22577         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
22578         (add_fold_func), (gstiterator_suite), (main):
22579         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
22580         (thread_name_object), (thread_name_object_default),
22581         (gst_object_name_compare), (gst_object_suite), (main):
22582         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
22583         (gst_pad_suite), (main):
22584         * check/gstcheck.c: (gst_check_log_message_func),
22585         (gst_check_log_critical_func), (gst_check_init):
22586         * check/gstcheck.h:
22587         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
22588         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
22589         Added checks.
22590
22591 2005-03-07  Wim Taymans  <wim@fluendo.com>
22592
22593         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
22594         (gst_list_iterator_next), (gst_list_iterator_resync),
22595         (gst_list_iterator_free), (gst_iterator_new_list),
22596         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
22597         (gst_iterator_free), (gst_iterator_push), (filter_next),
22598         (filter_resync), (filter_uninit), (filter_free),
22599         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
22600         (gst_iterator_foreach), (find_custom_fold_func),
22601         (gst_iterator_find_custom):
22602         * gst/gstiterator.h:
22603         Added missing files.
22604
22605 2005-03-07  Wim Taymans  <wim@fluendo.com>
22606
22607         * Makefile.am:
22608         * configure.ac:
22609         * docs/design/part-MT-refcounting.txt:
22610         * docs/design/part-conventions.txt:
22611         * docs/design/part-gstobject.txt:
22612         * docs/design/part-relations.txt:
22613         * examples/mixer/mixer.c: (main):
22614         * examples/thread/thread.c: (eos), (main):
22615         * gst/Makefile.am:
22616         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
22617         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
22618         (gst_spider_plug_from_srcpad):
22619         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
22620         (gst_spider_identity_change_state),
22621         (gst_spider_identity_sink_loop_type_finding):
22622         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
22623         * gst/elements/gstidentity.c: (gst_identity_init):
22624         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
22625         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
22626         * gst/elements/gsttypefindelement.c: (free_entry):
22627         * gst/gst.c:
22628         * gst/gst.h:
22629         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
22630         (gst_bin_set_clock_func), (gst_bin_auto_clock),
22631         (gst_bin_set_index), (gst_bin_set_element_sched),
22632         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
22633         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
22634         (gst_bin_iterate_elements), (iterate_child_recurse),
22635         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
22636         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
22637         (compare_interface), (gst_bin_get_by_interface),
22638         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
22639         * gst/gstbin.h:
22640         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
22641         (gst_buffer_default_free), (gst_buffer_default_copy),
22642         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
22643         (gst_buffer_create_sub):
22644         * gst/gstbuffer.h:
22645         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
22646         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
22647         (gst_caps_unref), (gst_static_caps_get),
22648         (gst_caps_remove_and_get_structure), (gst_caps_append),
22649         (gst_caps_append_structure), (gst_caps_remove_structure),
22650         (gst_caps_copy_nth), (gst_caps_set_simple),
22651         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
22652         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
22653         (gst_caps_structure_intersect_field), (gst_caps_intersect),
22654         (gst_caps_structure_subtract_field), (gst_caps_subtract),
22655         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
22656         (gst_caps_structure_figure_out_union),
22657         (gst_caps_switch_structures), (gst_caps_do_simplify),
22658         (gst_caps_replace), (gst_caps_from_string),
22659         (gst_caps_copy_conditional):
22660         * gst/gstcaps.h:
22661         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
22662         (_gst_clock_id_free), (gst_clock_id_unref),
22663         (gst_clock_id_compare_func), (gst_clock_id_wait),
22664         (gst_clock_id_wait_async), (gst_clock_class_init),
22665         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
22666         (gst_clock_get_time), (gst_clock_set_time_adjust),
22667         (gst_clock_set_property), (gst_clock_get_property):
22668         * gst/gstclock.h:
22669         * gst/gstcompat.h:
22670         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
22671         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
22672         * gst/gstdata.h:
22673         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
22674         (gst_element_requires_clock), (gst_element_provides_clock),
22675         (gst_element_set_clock), (gst_element_clock_wait),
22676         (gst_element_wait), (gst_element_set_time_delay),
22677         (gst_element_is_indexable), (gst_element_add_pad),
22678         (gst_element_add_ghost_pad), (gst_element_remove_pad),
22679         (pad_compare_name), (gst_element_get_static_pad),
22680         (gst_element_request_pad), (gst_element_get_request_pad),
22681         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
22682         (gst_element_class_get_pad_template_list),
22683         (gst_element_class_get_pad_template), (gst_element_error_func),
22684         (gst_element_get_random_pad), (gst_element_get_event_masks),
22685         (gst_element_send_event), (gst_element_seek),
22686         (gst_element_get_query_types), (gst_element_query),
22687         (gst_element_get_formats), (gst_element_convert),
22688         (gst_element_is_locked_state), (gst_element_set_locked_state),
22689         (gst_element_sync_state_with_parent), (gst_element_change_state),
22690         (gst_element_finalize), (gst_element_yield),
22691         (gst_element_interrupt), (gst_element_set_scheduler),
22692         (gst_element_get_scheduler), (gst_element_set_loop_function):
22693         * gst/gstelement.h:
22694         * gst/gstevent.h:
22695         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
22696         (gst_format_get_by_nick), (gst_format_get_details),
22697         (gst_format_iterate_definitions):
22698         * gst/gstformat.h:
22699         * gst/gstindex.c: (gst_index_gtype_resolver):
22700         * gst/gstinfo.c:
22701         * gst/gstinfo.h:
22702         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
22703         (gst_mem_chunk_free):
22704         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
22705         (gst_object_ref), (gst_object_unref), (gst_object_sink),
22706         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
22707         (gst_object_dispatch_properties_changed),
22708         (gst_object_set_name_default), (gst_object_set_name),
22709         (gst_object_get_name), (gst_object_set_name_prefix),
22710         (gst_object_get_name_prefix), (gst_object_set_parent),
22711         (gst_object_get_parent), (gst_object_unparent),
22712         (gst_object_check_uniqueness), (gst_object_save_thyself),
22713         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
22714         (gst_object_set_property), (gst_object_get_property),
22715         (gst_object_get_path_string):
22716         * gst/gstobject.h:
22717         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
22718         (gst_real_pad_init), (gst_real_pad_get_property),
22719         (gst_pad_custom_new), (gst_pad_get_direction),
22720         (gst_pad_set_active), (gst_pad_is_active),
22721         (gst_pad_set_event_function), (gst_pad_is_linked),
22722         (gst_pad_link_free), (gst_pad_link_intersect),
22723         (gst_pad_link_fixate), (gst_pad_set_caps),
22724         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
22725         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
22726         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
22727         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
22728         (gst_pad_get_caps), (gst_pad_peer_get_caps),
22729         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
22730         (gst_pad_realize), (gst_pad_get_allowed_caps),
22731         (gst_real_pad_dispose), (gst_real_pad_finalize),
22732         (gst_pad_collectv), (gst_pad_collect_valist),
22733         (gst_pad_template_dispose), (gst_pad_template_new),
22734         (gst_pad_get_internal_links):
22735         * gst/gstpad.h:
22736         * gst/gstpipeline.c: (gst_pipeline_dispose),
22737         (gst_pipeline_change_state):
22738         * gst/gstpipeline.h:
22739         * gst/gstplugin.c:
22740         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
22741         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
22742         * gst/gstpluginfeature.h:
22743         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
22744         * gst/gstquery.c: (_gst_query_type_initialize),
22745         (gst_query_type_register), (gst_query_type_get_by_nick),
22746         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
22747         * gst/gstquery.h:
22748         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
22749         * gst/gstscheduler.c: (gst_scheduler_add_element),
22750         (gst_scheduler_factory_create):
22751         * gst/gststructure.c: (gst_structure_set_parent_refcount),
22752         (gst_structure_free), (gst_structure_set_name),
22753         (gst_structure_id_set_value), (gst_structure_set_value),
22754         (gst_structure_set_valist), (gst_structure_remove_field),
22755         (gst_structure_remove_fields),
22756         (gst_structure_remove_fields_valist),
22757         (gst_structure_remove_all_fields), (gst_structure_foreach),
22758         (gst_structure_map_in_place),
22759         (gst_caps_structure_fixate_field_nearest_int),
22760         (gst_caps_structure_fixate_field_nearest_double):
22761         * gst/gststructure.h:
22762         * gst/gstsystemclock.c: (gst_system_clock_class_init),
22763         (gst_system_clock_init), (gst_system_clock_dispose),
22764         (gst_system_clock_async_thread),
22765         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
22766         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
22767         * gst/gstsystemclock.h:
22768         * gst/gsttag.c: (gst_tag_list_add_value_internal),
22769         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
22770         * gst/gsttaginterface.c:
22771         * gst/gstthread.c: (gst_thread_dispose),
22772         (gst_thread_release_children_locks), (gst_thread_change_state),
22773         (gst_thread_main_loop):
22774         * gst/gsttrashstack.h:
22775         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
22776         * gst/gsttypes.h:
22777         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
22778         (gst_element_request_pad), (gst_element_get_pad_from_template),
22779         (gst_element_request_compatible_pad),
22780         (gst_element_get_compatible_pad_filtered),
22781         (gst_element_get_compatible_pad), (gst_element_state_get_name),
22782         (gst_element_link_pads_filtered), (gst_element_link_filtered),
22783         (gst_element_link_many), (gst_element_link),
22784         (gst_element_link_pads), (gst_element_unlink_pads),
22785         (gst_element_unlink_many), (gst_element_unlink),
22786         (gst_pad_can_link_filtered), (gst_pad_can_link),
22787         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
22788         (gst_object_default_error), (gst_bin_add_many),
22789         (gst_bin_remove_many), (gst_element_populate_std_props),
22790         (gst_element_class_install_std_props), (gst_buffer_merge),
22791         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
22792         (link_fold_func), (gst_pad_proxy_setcaps):
22793         * gst/gstutils.h:
22794         * gst/gstvalue.c: (gst_value_deserialize_string):
22795         * gst/parse/grammar.y:
22796         * gst/schedulers/gstbasicscheduler.c:
22797         (gst_basic_scheduler_cothreaded_chain),
22798         (gst_basic_scheduler_chain_recursive_add),
22799         (gst_basic_scheduler_pad_link):
22800         * gst/schedulers/gstoptimalscheduler.c:
22801         (get_group_schedule_function),
22802         (gst_opt_scheduler_state_transition),
22803         (gst_opt_scheduler_add_element), (element_get_reachables_func):
22804         * libs/gst/bytestream/bytestream.c:
22805         * libs/gst/dataprotocol/dataprotocol.c:
22806         (gst_dp_header_from_buffer):
22807         * po/nb.po:
22808         * po/ru.po:
22809         * tests/threadstate/threadstate2.c: (eos):
22810         * tools/gst-compprep.c: (main):
22811         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
22812         (print_pad_info), (print_children_info):
22813         * tools/gst-launch.c: (idle_func), (main):
22814         * tools/gst-md5sum.c: (idle_func), (main):
22815         * tools/gst-xmlinspect.c: (print_element_info):
22816         First THREADED backport attempt, focusing on adding locks and
22817         making sure the API is threadsafe. Needs more work. More docs
22818         follow this week.
22819
22820 2005-02-24  Andy Wingo  <wingo@pobox.com>
22821
22822         * tests/bench-complexity.scm:
22823         * tests/complexity.gnuplot: New files, good for running complexity
22824         benchmarks.
22825
22826         * tests/Makefile.am:
22827         * tests/complexity.c: New test, sets up N elements, at each level
22828         teeing into M streams per element. Eeeenteresting.
22829
22830         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
22831         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
22832         running bench-mass_elements.scm.
22833
22834         * tests/bench-mass_elements.scm: New script, runs mass_elements
22835         for various numbers of identities, outputting the results to a
22836         file. Requires guile 1.6. Just for testing.
22837
22838 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22839
22840         * gst/schedulers/fairscheduler.c:
22841           compile with debug disabled
22842
22843 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
22844
22845         * configure.ac:
22846           hunting season on 0.9 is now OPEN