libs/gst/base/gstbasesink.c: Fix leak caused when refusing newsegment after EOS.
[platform/upstream/gstreamer.git] / ChangeLog
1 2007-04-05  Wim Taymans  <wim@fluendo.com>
2
3         * libs/gst/base/gstbasesink.c:
4         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
5         Fix leak caused when refusing newsegment after EOS.
6
7         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
8         (gst_fake_sink_init), (gst_fake_sink_set_property),
9         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
10         (gst_fake_sink_render), (gst_fake_sink_change_state):
11         * plugins/elements/gstfakesink.h:
12         Add num-buffers property to make the element generate EOS after a
13         configurable amount of buffers.
14         API: fakesink::num-buffers property.
15
16         * tests/check/elements/fakesink.c: (GST_START_TEST),
17         (fakesink_suite):
18         Fix GstBus leak in test.
19         Test for fakesink num-buffers.
20
21 2007-04-05  Wim Taymans  <wim@fluendo.com>
22
23         * libs/gst/base/gstbasesink.c:
24         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
25         (gst_base_sink_change_state):
26         Don't accept anything after an EOS, return UNEXPECTED instead.
27
28         * tests/check/elements/fakesink.c: (GST_START_TEST),
29         (fakesink_suite):
30         Unit test for new EOS behaviour.
31
32 2007-04-05  Wim Taymans  <wim@fluendo.com>
33
34         * gst/gstelement.c: (gst_element_get_request_pad):
35         Make padtemplates also work when they don't contain %s or %d.
36
37 2007-04-05  Wim Taymans  <wim@fluendo.com>
38
39         * docs/gst/gstreamer-sections.txt:
40         * gst/gstclock.c: (gst_clock_adjust_unlocked),
41         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
42         * gst/gstclock.h:
43         Improve _adjust_unlocked() so that it overflows less.
44         Add gst_clock_unadjust_unlocked to convert from external time to
45         internal time based on calibration.
46         Add some more debug.
47         API: GstClock::gst_clock_unadjust_unlocked()
48
49 2007-04-03  Wim Taymans  <wim@fluendo.com>
50
51         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
52
53         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
54         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
55         when releasing sink pad. Fixes #425400.
56
57 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
58
59         * docs/random/ensonic/dynlink.txt:
60           More work on proposal for new core api.
61
62         * docs/libs/gstreamer-libs-sections.txt:
63         * libs/gst/base/gstbasetransform.h:
64           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
65           
66         * libs/gst/controller/gstcontroller.c:
67         (on_object_controlled_property_changed),
68         (gst_controller_sync_values),
69         (gst_controller_set_interpolation_mode):
70         * libs/gst/controller/gstcontroller.h:
71           Less verbose logging add docs for unimplemented parts and correctly
72           return when using unavailable parts.
73
74 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
75
76         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
77         Move all the debug to the CLOCK category, and associate it with
78         the clock object.
79
80 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
81
82         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
83         Make take_buffer a bit quicker by removing redundant checks
84         caused by calling gst_adapter_take.
85
86 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
87
88         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
89           Don't leak GCond.
90
91         * tests/check/Makefile.am:
92         * tests/check/elements/.cvsignore:
93         * tests/check/elements/multiqueue.c: (setup_multiqueue),
94         (GST_START_TEST), (multiqueue_suite):
95           Add some dead simple unit tests for the 'multiqueue' element
96           (some bits don't work yet and are disabled for now).
97
98 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
99
100         * gst/gstelement.c: (gst_element_get_request_pad),
101         (gst_element_class_get_request_pad_template):
102           Make gst_element_get_request_pad() create request pads only for
103           request pad templates and not for, say, sometimes pad templates.
104
105 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
106
107         * docs/design/draft-klass.txt:
108           Add example that needs more thinking.
109         
110         * docs/design/draft-missing-plugins.txt:
111           More thoughts about wrapper plugins.
112         
113         * docs/random/ensonic/embedded.txt:
114         * docs/random/ensonic/profiling.txt:
115           More design work.
116
117 2007-03-25  Wim Taymans  <wim@fluendo.com>
118
119         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
120         (gst_base_src_loop):
121         Only push the segment events in the PLAYING state for live sources.
122
123 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
124
125         * gst/gstpipeline.c: (gst_pipeline_change_state):
126         Modify the clock distribution path in PAUSED->PLAYING so that we 
127         never attempt to choose a new clock unless we're actually leaving
128         the PAUSED state for the first time. This prevents choosing a
129         different clock when the state_change gets called for a 2nd time due
130         to some element doing an async state change.
131
132 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
133
134         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
135         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
136         (gst_pad_chain_unchecked), (gst_pad_push):
137         Revert last commit. This needs some more thoughts.
138
139 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
140
141         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
142         (gst_pad_chain_unchecked), (gst_pad_push):
143         Check in set_caps if the caps are compatible with the pad and remove
144         two functions that are redundant now. Fixes #421543.
145
146 2007-03-22  Wim Taymans  <wim@fluendo.com>
147
148         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
149         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
150         Unref some more to make valgrind happy.
151
152 2007-03-22  Wim Taymans  <wim@fluendo.com>
153
154         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
155         (gst_system_clock_id_wait_jitter),
156         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
157         Fix anoying regression that survived a few releases. When adding an
158         async entry while blocking on a sync entry, the sync entry will unblock
159         but still be busy, so it should continue to wait instead of returning
160         _BUSY to the app.
161         Add some comments here and there.
162
163         * tests/check/gst/gstsystemclock.c: (mixed_thread),
164         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
165         Add testcase for this.
166
167 2007-03-22  Wim Taymans  <wim@fluendo.com>
168
169         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
170         Handle errors from the clock sync better, only UNSCHEDULED indicates a
171         WRONG_STATE and can silently pause the task. All other cases should
172         error out.
173
174 2007-03-22  Wim Taymans  <wim@fluendo.com>
175
176         Patch by: <syrjala at sci dot fi>
177
178         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
179         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
180         Improve debugging.
181
182 2007-03-21  Michael Smith  <msmith@fluendo.com>
183
184         * docs/pwg/advanced-types.xml:
185           Fix some errors in the typefinding docs pointed out on irc.
186
187 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
188
189         * libs/gst/base/gstbasesrc.c:
190         Clarify FIXME comment in the face of having added unlock_stop()
191
192 2007-03-21  Wim Taymans  <wim@fluendo.com>
193
194         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
195         Prepare for release where we warn against possible app breakage in the
196         case of live pipelines along with an env var to enable/disable live
197         preroll mode (GST_COMPAT=[no-]live-preroll).
198
199 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
200
201         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
202         So we should use correct constants for checking for None offset.
203
204 2007-03-20  Wim Taymans  <wim@fluendo.com>
205
206         * docs/design/part-block.txt:
207         Mention the fact that the newly switched element should be set to at
208         least PAUSED.
209
210 2007-03-20  Wim Taymans  <wim@fluendo.com>
211
212         * gst/gst.c:
213         Fix compilation with registry disabled as spotted by Saur.
214
215 2007-03-20  Wim Taymans  <wim@fluendo.com>
216
217         Patch by: Olivier Crete <tester at tester dot ca>
218
219         * gst/gstelement.c: (gst_element_sync_state_with_parent):
220         Look at the pending state too when syncing the element state to the
221         parent. Fixes #420133.
222
223 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
224
225         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
226         (gst_base_sink_change_state):
227         * libs/gst/base/gstbasesink.h:
228         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
229         (gst_base_src_default_event), (gst_base_src_unlock_stop),
230         (gst_base_src_deactivate):
231         * libs/gst/base/gstbasesrc.h:
232         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
233         for sub-classes to correctly clear any state they set trying to
234         unlock, such as clearing out unlock commands from a command fd.
235
236         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
237         (gst_fd_sink_render), (gst_fd_sink_unlock),
238         (gst_fd_sink_unlock_stop):
239         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
240         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
241         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
242
243         Implement unlock_stop in fdsrc and fdsink.
244         Implement seeking in fdsrc when a seekable fd is passed, as in
245         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
246
247 2007-03-19  Wim Taymans  <wim@fluendo.com>
248
249         Patch by: Evan Nemerson <evan at coeus dash group dot com>
250
251         * gst/gstelement.c: (gst_element_class_init):
252         Fix pad-added and pad-removed signal signatures so that the pad type is
253         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
254
255 2007-03-19  Wim Taymans  <wim@fluendo.com>
256
257         * docs/gst/gstreamer-sections.txt:
258         Add new element field and method.
259
260         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
261         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
262         (gst_bin_recalc_state), (gst_bin_get_state_func),
263         (gst_bin_element_set_state), (gst_bin_change_state_func),
264         (gst_bin_continue_func), (bin_bus_handler),
265         (bin_push_state_continue), (bin_handle_async_start),
266         (bin_handle_async_done), (gst_bin_handle_message_func):
267         Make async state changes a bit smarter by using new ASYNC_START and
268         ASYNC_DONE messages. This reduces the number of times we run the state
269         recalculation thread.
270         Don't change state of element with a pending ASYNC_START message.
271         Deprecate STATE_DIRTY messages.
272         
273         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
274         (gst_element_get_state_func), (gst_element_continue_state),
275         (gst_element_lost_state), (gst_element_set_state_func),
276         (gst_element_change_state):
277         * gst/gstelement.h:
278         Keep the state that was last set by the app in a new element field.
279         Don't allow state changes when handling an element event.
280         Post ASYNC_START and ASYNC_DONE messages.
281         Change lost_state so that we go to PAUSED and wait for the parent to set
282         us to PLAYING again (so latency calculation can be performed)
283         Export gst_element_change_state() method so that subclasses can use it.
284         API: gst_element_change_state()
285         API: GST_STATE_TARGET
286
287         * gst/gstpipeline.c: (gst_pipeline_class_init),
288         (reset_stream_time), (gst_pipeline_change_state),
289         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
290         Using the new ASYNC_START message we can reset the base_time when
291         needed. This can then be used to implement base_time redistribution in
292         flushing seeks so that we can remove the explicit seek handling.
293         Perform latency query and configuration when going to PLAYING.
294
295         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
296         (gst_base_sink_query), (gst_base_sink_change_state):
297         Post new ASYNC_START/ASYNC_DONE messages.
298
299         * tests/check/generic/sinks.c: (GST_START_TEST):
300         Fix test because the bin will not set the async element to PLAYING right
301         away.
302
303         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
304         Make the message check a little stronger.
305         Handle ASYNC messages.
306
307         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
308         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
309         Expect ASYNC_DONE messages.
310
311 2007-03-19  Wim Taymans  <wim@fluendo.com>
312
313         * docs/gst/gstreamer-sections.txt:
314         * gst/gstmessage.c: (gst_message_new_async_start),
315         (gst_message_new_async_done), (gst_message_parse_info),
316         (gst_message_parse_async_start):
317         * gst/gstmessage.h:
318         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
319         support.
320
321 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
322
323         * tools/gst-inspect.c:
324         (print_plugin_automatic_install_info_codecs):
325           Now that we don't check for the 'Codec' keyword any longer in the
326           klass, we shouldn't spew a warning if the klass isn't a decoder or
327           encoder (since it might be a Source/Network, for example).
328
329 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
330
331         * tools/gst-inspect.c:
332         (print_plugin_automatic_install_info_codecs):
333           Don't require decoder/demuxer/depayloader elements or
334           encoder/muxer/paylader elements to have 'Codec' as part of their
335           factory class string when introspecting a plugin's capabilities.
336           draft-klass.txt mentions that it might be removed in future, and
337           flump3dec doesn't have it as part of its class string, so chances
338           are others might also not have it.
339
340 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
341
342         * po/af.po:
343         * po/az.po:
344         * po/bg.po:
345         * po/ca.po:
346         * po/cs.po:
347         * po/de.po:
348         * po/en_GB.po:
349         * po/fr.po:
350         * po/it.po:
351         * po/nb.po:
352         * po/nl.po:
353         * po/ru.po:
354         * po/sq.po:
355         * po/sr.po:
356         * po/sv.po:
357         * po/tr.po:
358         * po/uk.po:
359         * po/vi.po:
360         * po/zh_CN.po:
361         * po/zh_TW.po:
362           Update translations from translation project
363
364 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
365
366         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
367         (gst_child_proxy_set_property):
368           Invert precondition check to be alike the ones in the mimiced gobject
369           api.
370
371 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
372
373         * docs/design/draft-tagreading.txt:
374         * docs/random/ensonic/audiobaseclasses.txt:
375           Do some Architect work.
376
377         * gst/gstobject.c: (gst_object_set_name):
378           Add a WARNING.
379
380         * gst/gstpad.c:
381           Add docs that point from gst_pad_get_range to gst_pad_pull_range
382
383 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
384
385         * gst/gstsystemclock.c: (gst_system_clock_init),
386         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
387         Defer starting the async system clock thread until the first async
388         wait is scheduled. Fixes #414986.
389
390 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
391
392         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
393         (gst_single_queue_free):
394           Fix small leak (free GstSingleQueue structure too, not only contents).
395
396 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
397
398         * gst/gstbin.c:(gst_bin_add):
399         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
400         * win32/common/libgstbase.def:
401         * win32/common/libgstreamer.def:
402         Add new exported functions.
403
404 2007-03-09  Wim Taymans  <wim@fluendo.com>
405
406         * docs/plugins/gstreamer-plugins-sections.txt:
407         Fix GstTee docs.
408
409 2007-03-09  Wim Taymans  <wim@fluendo.com>
410
411         * docs/gst/gstreamer-sections.txt:
412         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
413         * gst/gstbuffer.h:
414         Add metadata copy functions. Fixes #393099.
415
416         * gst/gstutils.c: (gst_buffer_stamp):
417         * libs/gst/base/gstbasetransform.c:
418         (gst_base_transform_prepare_output_buffer):
419         Use new metadata copy functions.
420
421 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
422
423         * plugins/elements/gstidentity.c: (gst_identity_class_init),
424         (gst_identity_init), (gst_identity_check_perfect),
425         (gst_identity_check_imperfect_timestamp),
426         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
427         (gst_identity_set_property), (gst_identity_get_property):
428         * plugins/elements/gstidentity.h:
429         Separate out check-imperfect-timestamp and check-imperfect-offset.
430         Put back check-perfect as it was to keep compatibility.
431
432 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
433
434         * gst/gstelement.c: (gst_element_dispose):
435         There's no need to warn if VOID_PENDING is not NONE here, as
436         long as the state is NULL it's ok, and that's checked immediately
437         above.
438
439 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
440
441         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
442         Fix check for perfect stream to ignore buffers with -1 
443         offsets/offset ends when checking data contiguity.
444
445 2007-03-08  Wim Taymans  <wim@fluendo.com>
446
447         * tools/gst-launch.c: (event_loop):
448         Print INFO messages.
449
450 2007-03-08  Wim Taymans  <wim@fluendo.com>
451
452         * libs/gst/base/gstbasetransform.c:
453         (gst_base_transform_sink_eventfunc),
454         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
455         (gst_base_transform_activate):
456         * libs/gst/base/gstbasetransform.h:
457         Add support for dropping buffers with custom GstFlowReturn.
458         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
459         buffers or dropped buffers.
460
461         * docs/libs/gstreamer-libs-sections.txt:
462         docs for new custom return code.
463
464         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
465         Use drop support in base class to implement drop-probability.
466
467 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
468
469         * gst/gst.c: (load_plugin_func):
470         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
471         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
472         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
473           Remove newlines at end of debug log strings.
474
475 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
476
477         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
478         Only post bus message at max, once per buffer received.
479
480 2007-03-07  Wim Taymans  <wim@fluendo.com>
481
482         * docs/design/Makefile.am:
483         * docs/design/part-synchronisation.txt:
484         Add doc about synchronisation
485
486         * docs/design/draft-latency.txt:
487         * docs/design/part-TODO.txt:
488         * docs/design/part-clocks.txt:
489         * docs/design/part-events.txt:
490         * docs/design/part-gstbus.txt:
491         * docs/design/part-gstpipeline.txt:
492         * docs/design/part-live-source.txt:
493         * docs/design/part-messages.txt:
494         * docs/design/part-overview.txt:
495         * docs/design/part-streams.txt:
496         * docs/design/part-trickmodes.txt:
497         Documentation updates.
498
499 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
500
501         * gstreamer.doap:
502         Update the doap file.
503
504 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
505
506         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
507         Rename non-perfect to imperfect for Mike and for the sanctity of the
508         language.
509         Also make sure bus message gets emitted for data-incontiguities.
510
511 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
512
513         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
514         (gst_identity_start):
515         * plugins/elements/gstidentity.h:
516         Emit bus message if check-perfect is true and we encounter a
517         non-perfect stream between 2 consecutive buffers.
518         Fixes #415394.
519
520 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
521
522         * configure.ac:
523         Back to CVS
524
525 === release 0.10.12 ===
526
527 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
528
529         * configure.ac:
530           releasing 0.10.12, "Inevitable Demise"
531
532 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
533
534         * configure.ac:
535          Version 0.10.11.2 (0.10.12 pre-release)
536          Bump libtool versioning.
537
538 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
539
540         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
541           Log flow-names and not numbers.
542
543 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
544
545         * configure.ac:
546           Convert to new AG_GST style.
547
548 2007-02-28  Wim Taymans  <wim@fluendo.com>
549
550         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
551         Don't unref query twice.
552
553 2007-02-28  Wim Taymans  <wim@fluendo.com>
554
555         * gst/gstvalue.c: (gst_value_transform_object_string),
556         (_gst_value_initialize):
557         Implement GstObject -> string transform so we print object names
558         when serializing GValues containing GstObjects.
559
560 2007-02-28  Wim Taymans  <wim@fluendo.com>
561
562         * docs/gst/gstreamer-sections.txt:
563         Add new stuff to docs.
564
565 2007-02-28  Wim Taymans  <wim@fluendo.com>
566
567         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
568         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
569         (gst_base_sink_change_state):
570         Improve latency query code.
571         Don't leak latency events.
572
573         * tests/check/gst/gstbin.c: (GST_START_TEST):
574         Improve debugging.
575
576 2007-02-28  Wim Taymans  <wim@fluendo.com>
577
578         * gst/gstelement.c: (gst_element_message_full),
579         (gst_element_get_state_func):
580         * gst/gstelement.h:
581         Improve docs a little. Added Since: for new macro.
582
583         * gst/gstobject.c: (gst_object_sink):
584         * gst/gstpipeline.c: (gst_pipeline_change_state),
585         (gst_pipeline_set_new_stream_time):
586         * gst/gstpipeline.h:
587         Improve debugging and docs.
588
589         * gst/gstutils.c: (gst_element_state_change_return_get_name):
590         Improve debugging.
591
592 2007-02-28  Wim Taymans  <wim@fluendo.com>
593
594         * gst/gstelement.c: (gst_element_message_full),
595         (gst_element_set_locked_state), (gst_element_get_state_func),
596         (gst_element_change_state):
597         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
598         Documentation updates.
599         Small code cleanups.
600
601         * gst/gstmessage.c: (gst_message_new_info),
602         (gst_message_parse_info):
603         * gst/gstmessage.h:
604         API: gst_message_new_info()
605         API: gst_message_parse_info()
606         Add INFO message create and parse code.
607
608 2007-02-28  Wim Taymans  <wim@fluendo.com>
609
610         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
611         (bin_query_latency_done):
612         Also report the live parameter of a latency query.
613
614 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
615
616         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
617           Copy the current generic/states example from -base and adapt so
618           we can use the exact same code everywhere.
619           Check a STATES_IGNORE_ELEMENTS env var which can be used
620           to ignore certain element factories for this test, which is
621           what is being done in -base
622         * tests/check/Makefile.am:
623           Mention this environment variable.
624
625 2007-02-27  Wim Taymans  <wim@fluendo.com>
626
627         * docs/gst/gstreamer-sections.txt:
628         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
629         (gst_bus_timed_pop), (gst_bus_pop):
630         * gst/gstbus.h:
631         API: gst_bus_timed_pop()
632         Implement gst_bus_timed_pop() to do a blocking timed wait for a
633         message to arrive on the bus.
634
635         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
636         (gst_bus_suite):
637         Two unit tests for new _timed_pop() function.
638
639 2007-02-23  Wim Taymans  <wim@fluendo.com>
640
641         * gst/gstpipeline.c: (gst_pipeline_change_state),
642         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
643         Don't ref a NULL clock in _provide_clock_func().
644         Don't allow an INVALID delay.
645         Don't try to calculate base_time with an invalid start_time.
646         Also distribute and notify a NULL clock when it was selected.
647
648         * tools/gst-launch.c: (event_loop):
649         Don't crash when a NULL clock was selected in the pipeline.
650
651 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
652
653         * docs/design/Makefile.am:
654         * docs/design/draft-missing-plugins.txt:
655         * docs/random/draft-missing-plugins.txt:
656           Some small updates: update plugin system identifier prefix
657           ('gstreamer.net' to 'gstreamer'), mention our new install
658           API in libgstbaseutils rather than libgimme-codec, add
659           reference to the online docs.
660
661 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
662
663         * win32/common/config.h:
664           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
665           use moap cl ci to only check in what is mentioned in the ChangeLog.
666
667 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
668
669         * docs/gst/gstreamer-sections.txt:
670         * gst/gstelement.h:
671           Fix up documentation to link to the correct GstGError section.
672           Add GST_ELEMENT_INFO macro since someone else added a Info message.
673
674 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
675
676         * tools/gst-launch.c: (event_loop):
677           Make sure that we actually show the important message part of a
678           warning message.
679           No need to check if the gerror is not NULL to free; first of all
680           g_free accepts NULL; and second the default error handler would
681           segfault if gerror was NULL.
682
683 2007-02-21  Wim Taymans  <wim@fluendo.com>
684
685         * docs/gst/gstreamer-sections.txt:
686         Removed docs as well.
687
688 2007-02-21  Wim Taymans  <wim@fluendo.com>
689
690         * gst/gstmessage.c: (gst_message_parse_duration):
691         * gst/gstmessage.h:
692         Remove new messages for release.
693
694 2007-02-20  Wim Taymans  <wim@fluendo.com>
695
696         * docs/design/part-gstghostpad.txt:
697         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
698         (gst_ghost_pad_new_full):
699         Make the ghostpad a parent of the internal pad again for better backward
700         compatibility. Don't write code that relies on this however.
701
702         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
703         (gst_pad_link_check_hierarchy):
704         Require that parents should be GstElements in the hierarchy check.
705
706 2007-02-20  Wim Taymans  <wim@fluendo.com>
707
708         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
709         (gst_bin_change_state_func), (bin_query_min_max_init),
710         (bin_query_latency_fold), (bin_query_latency_done),
711         (gst_bin_query):
712         Improve debug info.
713         Implement latency query.
714
715 2007-02-20  Wim Taymans  <wim@fluendo.com>
716
717         * docs/design/part-gstghostpad.txt:
718         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
719         (gst_ghost_pad_internal_do_activate_push),
720         (gst_ghost_pad_internal_do_activate_pull),
721         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
722         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
723         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
724         Do not set the internal pad as a parent anymore so we can avoid
725         hierarchy linking errors when the ghostpad has no parent yet. This also
726         fixes failed activation because of unlinked internal pads, which in
727         turn fixes the impossible case where you have to activate a pad before
728         you can add it to a running element.
729         Also fix the docs.
730
731         * gst/gstpad.c: (pre_activate), (post_activate),
732         (gst_pad_set_active), (gst_pad_activate_pull),
733         (gst_pad_activate_push), (gst_pad_check_pull_range):
734         Add some more debug info.
735         Mark activation mode in pre_activate so that we don't try to activate in
736         endless loops. Fixes #385084.
737
738 2007-02-19  Wim Taymans  <wim@fluendo.com>
739
740         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
741         (gst_base_transform_check_get_range):
742         Implement a checkgetrange function instead of relying on the default
743         core behaviour that assumes we can operate in pull mode if we have a
744         getrange function. First step at fixing #385084.
745
746 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
747
748         * gst/gstchildproxy.h:
749         * libs/gst/base/gstbasesink.h:
750         * libs/gst/base/gstbasesrc.h:
751         * libs/gst/base/gstbasetransform.h:
752         More docs coverage and some ChangeLog surgery (add missing names)
753
754 2007-02-15  Wim Taymans  <wim@fluendo.com>
755
756         * docs/design/part-TODO.txt:
757         * docs/design/part-activation.txt:
758         * docs/design/part-block.txt:
759         * docs/design/part-buffering.txt:
760         * docs/design/part-clocks.txt:
761         * docs/design/part-element-source.txt:
762         * docs/design/part-events.txt:
763         * docs/design/part-gstbin.txt:
764         * docs/design/part-gstbus.txt:
765         * docs/design/part-gstpipeline.txt:
766         * docs/design/part-live-source.txt:
767         * docs/design/part-messages.txt:
768         * docs/design/part-overview.txt:
769         * docs/design/part-qos.txt:
770         * docs/design/part-query.txt:
771         * docs/design/part-states.txt:
772         * docs/design/part-trickmodes.txt:
773         Some doc updates. Start renaming from stream_time to running_time where
774         it was used wrongly.
775
776 2007-02-15  Wim Taymans  <wim@fluendo.com>
777
778         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
779         Answer LATENCY query.
780
781 2007-02-15  Wim Taymans  <wim@fluendo.com>
782
783         * tests/check/gst/gstevent.c: (event_probe), (test_event),
784         (GST_START_TEST):
785         Improve debugging.
786
787 2007-02-15  Wim Taymans  <wim@fluendo.com>
788
789         * gst/gstpad.c: (gst_pad_get_internal_links_default),
790         (gst_pad_dispatcher):
791         Improve debugging of default pad dispatcher and query functions.
792
793 2007-02-15  Wim Taymans  <wim@fluendo.com>
794
795         * docs/gst/gstreamer-sections.txt:
796         Remove old unused method.
797
798 2007-02-13  Wim Taymans  <wim@fluendo.com>
799
800         * tests/check/gst/gstsegment.c: (GST_START_TEST):
801         Fix check
802
803 2007-02-13  Wim Taymans  <wim@fluendo.com>
804
805         * docs/design/part-seeking.txt:
806         Some small update.
807
808         * gst/gstsegment.c: (gst_segment_set_seek):
809         Revert old bogus change that should make seeking work again.
810
811 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
812
813         * docs/random/ensonic/dynlink.txt:
814         * docs/random/ensonic/interfaces.txt:
815         * docs/random/ensonic/receipies.txt:
816           Possible dynamic reconnection api, plus some type fixes the other two
817           docs.
818
819 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
820
821         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
822         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
823         Also check for an absolute path following file:// in the filesrc
824         element. Remove redundant check and call g_path_is_absolute() on the
825         unescaped location.
826
827 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
828
829         * docs/design/draft-klass.txt:
830           Add existing category analysis.
831           
832         * gst/gstcaps.c:
833           Fix doc example, framerate is a fraction.
834
835 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
836
837         * configure.ac:
838         * docs/gst/Makefile.am:
839         * docs/libs/Makefile.am:
840         * docs/plugins/Makefile.am:
841           Add crossreferences to glib/gobject docs.
842
843 2007-02-12  Wim Taymans  <wim@fluendo.com>
844
845         * docs/design/draft-latency.txt:
846         Small update.
847
848         * docs/libs/gstreamer-libs-sections.txt:
849         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
850         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
851         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
852         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
853         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
854         (gst_base_sink_get_position), (gst_base_sink_query),
855         (gst_base_sink_change_state):
856         * libs/gst/base/gstbasesink.h:
857         API: gst_base_sink_query_latency() to let subclasses query the upstream
858         latency.
859         API: gst_base_sink_get_latency() to let subclasses query the configured
860         latency in the sink.
861         Implement query and set latency.
862         Update some docs.
863         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
864         don't continue preroll when we are flushing. Fixes #405284.
865
866         * tests/check/pipelines/stress.c: (change_state_timeout),
867         (quit_timeout), (GST_START_TEST), (stress_suite):
868         Test for #405284.
869
870 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
871
872         Patch by: René Stadler <mail at renestadler de>
873
874         * docs/gst/gstreamer-sections.txt:
875         * gst/gsttaglist.c: (_gst_tag_initialize):
876         * gst/gsttaglist.h:
877           API: add GST_TAG_REFERENCE_LEVEL (#403597).
878
879 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
880
881         * docs/libs/Makefile.am:
882           Fix path to core docs.
883
884         * gst/gstbin.c: (gst_bin_get_by_interface),
885         (gst_bin_iterate_all_by_interface):
886           Refix docs by also renaming 'interface' to 'iface' in implementation.
887
888         * docs/gst/gstreamer-sections.txt:
889         * gst/gstcaps.c:
890         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
891         * gst/gstchildproxy.h:
892         * gst/gstelementfactory.c:
893         * gst/gstpadtemplate.h:
894         * libs/gst/controller/gstcontroller.c:
895         (gst_controlled_property_new):
896           Document more.
897
898 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
899
900         * gst/gstbin.h:(gst_bin_get_by_interface),
901         (gst_bin_iterate_all_by_interface):
902         Replace interface parameter name by iface as interface is 
903         a reserved keyword in Visual Studio for C++ projects so it removes
904         a build error for application developpers using VS.
905         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
906         Fix a bug on Windows in uri format check. Now the prefix checked
907         is file:// and next we check if the path after file:// is absolute.
908         * win32/common/libgstbase.def:
909         * win32/common/libgstdataprotocol.def:
910         * win32/common/libgstgstreamer.def:
911         Add new exported functions.
912
913 2007-02-09  Andy Wingo  <wingo@pobox.com>
914
915         * tests/check/pipelines/simple-launch-lines.c
916         (simple_launch_lines_suite, test_tee): Disable tee test until I
917         have time to fix it :-(
918
919         * tests/check/Makefile.am (noinst_HEADERS): 
920         * tests/check/libs/libsabi.c: 
921         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
922         * tests/check/gst/gstabi.c: 
923         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
924
925         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
926         tests for push and pull tee behavior.
927
928         * plugins/elements/gsttee.h: 
929         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
930         mark as deprecated as well as unimplemented. It was a crack idea.
931         Add support for tee operating in pull mode, off by default.
932
933         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
934         normal-case logs down to LOG, raise errors to WARNING.
935         (gst_registry_xml_read_cache): Don't log before calling a function
936         that logs.
937
938         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
939         exit (registry finalize).
940         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
941         DEBUG log when we emit signals that people don't even have the
942         chance to connect to.
943         (gst_registry_scan_path_level): Less logging in the normal case.
944
945 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
946
947         Patch by: Michal Benes <michal dot benes at itonis dot tv>
948
949         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
950         Correctly generate EOS for non-seekable files. We don't have a total
951         length for them and would get an unexpected end of file if we only
952         special-cased for regular files. (Fixes: #404569)
953
954 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
955
956         * tests/check/elements/filesrc.c: (GST_START_TEST),
957         (filesrc_suite):
958         Add unit test for the GstURIHandler interface in filesrc. This also
959         tests the newly added file://localhost/foo/bar support.
960
961 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
962
963         * gst/gstelementfactory.h:
964           The klass string is not a hierarchy. Add reference to the design doc
965           for more information and common types.
966
967 2007-02-02  Wim Taymans  <wim@fluendo.com>
968
969         * gst/gstquery.c: (gst_query_new_latency):
970         Remove old structure field.
971
972 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
973
974         * tools/gst-launch.1.in:
975           Give example for network streaming (#351998)
976
977 2007-02-02  Wim Taymans  <wim@fluendo.com>
978
979         * docs/gst/gstreamer-sections.txt:
980         Add docs for new methods.
981
982         * gst/gstevent.c: (gst_event_new_latency),
983         (gst_event_parse_latency):
984         * gst/gstevent.h:
985         Add new LATENCY event to configure latency in a pipeline.
986         API: gst_event_new_latency
987         API: gst_event_parse_latency
988
989         * gst/gstmessage.c: (gst_message_new_buffering),
990         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
991         (gst_message_new_latency), (gst_message_parse_buffering),
992         (gst_message_parse_lost_preroll):
993         * gst/gstmessage.h:
994         Added messages used in draft-latency.
995         API: gst_message_new_lost_preroll
996         API: gst_message_parse_lost_preroll
997         API: gst_message_new_prerolled
998         API: gst_message_new_latency
999
1000         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
1001         (gst_query_parse_latency):
1002         * gst/gstquery.h:
1003         Implemented new latency query as in design doc.
1004         API: gst_query_new_latency
1005         API: gst_query_set_latency
1006         API: gst_query_parse_latency
1007
1008 2007-02-02  Wim Taymans  <wim@fluendo.com>
1009
1010         * docs/design/draft-latency.txt:
1011         Slight redesign to allow for dynamic latency adjustments.
1012
1013         * docs/design/part-negotiation.txt:
1014         Fix some typos.
1015
1016 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
1017
1018         reviewed by: Wim Taymans <wim@fluendo.com>
1019
1020         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
1021         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
1022         Allow file://localhost/foo/bar URLs and correctly fail for every other
1023         hostname that one sets. This was gnomevfssrc is linked for those if
1024         installed as it can handle it (#403172)
1025
1026 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
1027
1028         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
1029
1030         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
1031         (unref_data), (gst_collect_pads_add_pad_full):
1032         * libs/gst/base/gstcollectpads.h:
1033         Don't put the previously added destroy notify in the GstCollectData
1034         struct as all it's padding is already used and we don't want to break
1035         ABI. Instead put in the pad's GObject data for now. This should be
1036         cleaned up for 0.11 (#402393).
1037
1038 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
1039
1040         reviewed by: Wim Taymans <wim@fluendo.com>
1041
1042         * docs/libs/gstreamer-libs-sections.txt:
1043         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
1044         (unref_data), (gst_collect_pads_add_pad),
1045         (gst_collect_pads_add_pad_full):
1046         * libs/gst/base/gstcollectpads.h:
1047         API: Add function to specify a destroy notification for custom
1048         GstCollectData when adding new pads in GstCollectPads (#402393).
1049
1050 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
1051
1052         * po/sv.po:
1053           Update Swedish translation (#378255).
1054
1055 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
1056
1057         * docs/design/draft-klass.txt:
1058           Fix the previous change, this is a list of categories and not a hierarchy.
1059
1060 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
1061
1062         * docs/design/draft-klass.txt:
1063           Add info about how to get a list of used classes.
1064
1065 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
1066
1067         * plugins/elements/gsttypefindelement.c:
1068         (gst_type_find_element_chain_do_typefinding),
1069         (gst_type_find_element_change_state):
1070           Don't leak found caps in chain function (no idea why that never
1071           showed up as a leak anywhere).
1072
1073 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
1074
1075         * gst/gstplugin.h:
1076           Fix and expand GstPluginDesc API docs.
1077
1078 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
1079
1080         * gst/gstcaps.c:
1081         * gst/gstelementfactory.c:
1082         * gst/gstpadtemplate.h:
1083           api doc fixes
1084
1085         * libs/gst/controller/gstcontroller.c:
1086         (gst_controlled_property_new):
1087         * tests/examples/controller/audio-example.c:
1088           comment fixes
1089
1090 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
1091
1092         * configure.ac:
1093           comment about refining the xml deps
1094
1095         * docs/manuals.mak:
1096           comments about moving away from jade for docs
1097         
1098         * gst/gst.c:
1099           recommit the ifdefs to use the binary registry
1100         
1101         * gst/gstbin.c: (gst_bin_change_state_func):
1102           this break is obsolete
1103
1104         * gst/gstelementfactory.h:
1105           better GST_ELEMENT_DETAILS docs, add comment about translation
1106
1107         * gst/gstinfo.h:
1108           remove eol slash
1109
1110         * gst/gstobject.c: (gst_signal_object_get_type):
1111           add G_UNLIKELY as usual
1112
1113         * gst/gstpad.c: (gst_pad_event_default):
1114           add fall trhu comment
1115
1116         * gst/gstregistrybinary.c: (gst_registry_binary_write),
1117         (gst_registry_binary_initialize_magic),
1118         (gst_registry_binary_save_string),
1119         (gst_registry_binary_save_pad_template),
1120         (gst_registry_binary_save_feature),
1121         (gst_registry_binary_save_plugin),
1122         (gst_registry_binary_write_cache),
1123         (gst_registry_binary_check_magic),
1124         (gst_registry_binary_load_pad_template),
1125         (gst_registry_binary_load_feature),
1126         (gst_registry_binary_load_plugin),
1127         (gst_registry_binary_read_cache):
1128           comment typo and formatting
1129
1130         * gst/gstutils.c: (gst_element_state_get_name),
1131         (gst_element_state_change_return_get_name):
1132           remove obsolete breaks
1133
1134         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
1135           add FIXME 0.11 and remove cpp comment
1136
1137 2007-01-29  Edward Hervey  <edward@fluendo.com>
1138
1139         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
1140         Fix print statement in an even more portable way.
1141
1142 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
1143
1144         * docs/gst/gstreamer-sections.txt:
1145         * gst/gstutils.h:
1146           API: add GST_ROUND_DOWN_* macros (#401781).
1147
1148 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
1149
1150         * docs/gst/gstreamer.types.in:
1151         * gst/gstregistry.c: (gst_registry_class_init):
1152           Document registry signals and make gtk-doc pick them up (#401381).
1153
1154 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
1155
1156         * docs/pwg/building-testapp.xml:
1157           Add some audioconverts and audioresample to the pipeline, and some
1158           more comments and error handling.
1159
1160 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
1161
1162         * docs/manual/manual.xml:
1163         * docs/pwg/pwg.xml:
1164           Fix typo (#400987).
1165
1166 2007-01-26  Wim Taymans  <wim@fluendo.com>
1167
1168         * gst/gstcaps.c: (gst_static_caps_get):
1169         Init caps flags too.
1170
1171 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
1172
1173         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
1174
1175         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
1176         If not using mmap'ed files try to seek to the end instead of the
1177         start to determine whether we can seek at all. This fixes the case
1178         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
1179         seeks for everything afterwards fail. Fixes #400656
1180
1181 2007-01-25  Wim Taymans  <wim@fluendo.com>
1182
1183         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
1184         Add some refcount debugging.
1185         Make gst_static_caps_get threadsafe, which is needed when autoplugging
1186         in multiple streaming threads.
1187
1188 2007-01-25  Wim Taymans  <wim@fluendo.com>
1189
1190         Patch by: David Schleef <ds at schleef dot org>
1191
1192         * docs/libs/gstreamer-libs-sections.txt:
1193         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
1194         * libs/gst/base/gstadapter.h:
1195         API: gst_adapter_copy() that can reduce the amount of memcpy when
1196         getting data from the adapter. Fixes #388201.
1197
1198 2007-01-25  Edward Hervey  <edward@fluendo.com>
1199
1200         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
1201         In print statements, "%x" is for guint. Fixes build on macosx.
1202
1203 2007-01-24  Edward Hervey  <edward@fluendo.com>
1204
1205         * plugins/elements/gstmultiqueue.c:
1206         (gst_multi_queue_loop):
1207         Small fix.
1208         (single_queue_overrun_cb), (single_queue_underrun_cb),
1209         (single_queue_check_full), (gst_single_queue_new):
1210         Implement single queue growth system.
1211         This uses the extra-size properties, and will grow single queues by
1212         that much if one goes full whereas there are others empty. This is
1213         called extra-mode in the code.
1214         When a single queue's levels go back below the initial max-size
1215         limits, it is no longer in extra-mode. This is to ensure we don't
1216         consume too much memory.
1217         Fixes #399875
1218
1219 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
1220
1221         * gst/gst.c: (gst_init_get_option_group):
1222           Make warning about late g_thread_init() calls a bit more explicit,
1223           so that it's more obvious to application developers what they need
1224           to do if a user files a bug against their application.
1225
1226 2007-01-22  Edward Hervey  <edward@fluendo.com>
1227
1228         * plugins/elements/gstmultiqueue.c:
1229         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
1230         Remove previous hack of unsetting the flushing flag for the source pad
1231         instead of activating it. Instead, fix the source pad activate function
1232         so that it no longer depends on having a parent set or not.
1233
1234 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
1235
1236         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
1237
1238         * docs/manual/basics-bus.xml:
1239           Fix example code, gst_element_unref() doesn't exist any longer.
1240
1241 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
1242
1243         Patch by: Mark Nauwelaerts <manauw at skynet be>
1244
1245         * gst/gstpad.c:
1246           Fix two docs typoes (#399094).
1247
1248 2007-01-19  Edward Hervey  <edward@fluendo.com>
1249
1250         * docs/faq/gst-uninstalled:
1251         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
1252         depending on libgstbaseutils can work in uninstalled environment.
1253
1254 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
1255
1256         * gst/gsttaglist.h:
1257         * gst/gsttagsetter.c:
1258         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
1259         statement for new tag.
1260
1261 2007-01-17  Edward Hervey  <edward@fluendo.com>
1262
1263         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
1264         When dynamically creating single queues, activate sinkpad before adding
1265         it.
1266         We should be doing the same thing for the source pad, but we can't
1267         since it would call a method which needs the parent to be set in order
1268         to work propertly. Instead of activating the source pad, we just unset
1269         the flushing flag, which is the minimal requirement for adding a pad
1270         to an element in a state greater than READY.
1271
1272 2007-01-17  Edward Hervey  <edward@fluendo.com>
1273
1274         * docs/faq/gst-uninstalled:
1275         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
1276         Mac OS X.
1277
1278 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
1279
1280         * tests/check/gst/gstabi.c:
1281         * tests/check/gst/struct_hppa.h:
1282         * tests/check/libs/libsabi.c:
1283         * tests/check/libs/struct_hppa.h:
1284           Add ABI structs for HPPA (see #393796).
1285
1286 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
1287
1288         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
1289           Actually write ABI structs to the file specified in the GST_ABI
1290           environment variable, as the message we print claims we would.
1291
1292 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
1293
1294         * tests/check/gst/gsttask.c:
1295           Fix header comment.
1296
1297 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
1298
1299         * gst/gsttaglist.c: (_gst_tag_initialize):
1300           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
1301           previous two entries.
1302
1303 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
1304
1305         * docs/gst/gstreamer-sections.txt:
1306         * gst/gsttaglist.c: (_gst_tag_initialize):
1307         * gst/gsttaglist.h:
1308           Add tag support for beat-per-minute.
1309
1310 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
1311
1312         * gst/gstregistrybinary.c: (gst_registry_binary_write),
1313         (gst_registry_binary_initialize_magic),
1314         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
1315         (gst_registry_binary_save_pad_template),
1316         (gst_registry_binary_save_feature),
1317         (gst_registry_binary_save_plugin),
1318         (gst_registry_binary_write_cache),
1319         (gst_registry_binary_check_magic),
1320         (gst_registry_binary_load_pad_template),
1321         (gst_registry_binary_load_feature),
1322         (gst_registry_binary_load_plugin),
1323         (gst_registry_binary_read_cache):
1324         * gst/gstregistrybinary.h:
1325           Use glib types, cleanup comments, impement interfaces and uri-types.
1326
1327 2007-01-13  Andy Wingo  <wingo@pobox.com>
1328
1329         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
1330         getrange() to return buffers with other caps, while we fix
1331         demuxers and typefind, or otherwise change part-negotiation.txt.
1332
1333 2007-01-12  Andy Wingo  <wingo@pobox.com>
1334
1335         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
1336         Factor start/stop into this private function instead of partially
1337         in activate functions and partially in the change_state function.
1338         Fixes setup before the element has changed from READY->PAUSED, as
1339         is the case in pull-mode pipelines.
1340         (gst_base_transform_sink_activate_push)
1341         (gst_base_transform_src_activate_pull): Refactor to use
1342         gst_base_transform_activate().
1343         (gst_base_transform_change_state): Removed, not needed any more.
1344
1345         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
1346         Truncate before fixating.
1347         
1348         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
1349         Don't set_caps() if the result of fixating is ANY, as it's not
1350         supported, and not necessary in the case of a link with no
1351         template caps on either side. Fixes tests/check/libs/basesrc in
1352         some pull-mode tests.
1353
1354         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
1355         (gst_base_transform_init, gst_base_transform_sink_activate_push)
1356         (gst_base_transform_src_activate_pull): 
1357         Track the activation mode.
1358         (gst_base_transform_setcaps): In pull mode, when activating the
1359         src pad, after activating the sink pad, activate the sink pad's
1360         peer, as discussed in part-negotiation.txt.
1361
1362         * libs/gst/base/gstbasesrc.h: 
1363         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
1364         vmethod, as in basesink.
1365
1366         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
1367
1368         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
1369         mode, first proxy the setcaps to the peer pad.
1370         (gst_base_sink_pad_fixate): Add a fixate function that calls the
1371         new fixate vmethod.
1372         (gst_base_sink_default_activate_pull): Rename from
1373         gst_base_sink_activate_pull.
1374         (gst_base_sink_negotiate_pull): New function, performs negotiation
1375         in pull mode before calling ::activate_pull().
1376         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
1377         vmethod instead of the default implementation. I have no idea how
1378         this worked before. Negotiate before calling activate_pull.
1379
1380         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
1381         sink pads in pull mode. In addition to being correct, fixes
1382         filesrc ! decodebin ! identity ! fakesink.
1383         (gst_pad_get_range, gst_pad_pull_range): Don't call
1384         gst_pad_set_caps() if the caps changes; instead error out with
1385         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
1386
1387 2007-01-12  Andy Wingo  <wingo@pobox.com>
1388
1389         * docs/design/part-negotiation.txt: Update with more policy.
1390
1391 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
1392
1393         * libs/gst/check/gstbufferstraw.h:
1394         * libs/gst/check/gstcheck.h:
1395           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
1396           belongs.
1397
1398 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
1399
1400         * tests/check/Makefile.am:
1401         * tests/check/gst/.cvsignore:
1402         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
1403         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
1404         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
1405         (GST_START_TEST), (gst_tag_setter_suite):
1406           Add minimal unit test for beforementioned GstTagSetter bug.
1407
1408 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
1409
1410         Patch by: René Stadler <mail at renestadler dot de>
1411
1412         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
1413           gst_tag_list_merge() returns a new list, so it's not the best idea
1414           to ingore its return value. Effectively meant that tags could only
1415           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
1416           Also add function guard to require a non-NULL taglist as input (has
1417           always been so due to gst_tag_list_copy(), just making it explicit).
1418
1419 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
1420
1421         * docs/random/draft-missing-plugins.txt:
1422           Some additions: mention new API that is supposed to be used at the
1423           various stages; short blob about new gst-inspect introspection
1424           option; mention potential future problem with plugins that have
1425           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
1426
1427 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
1428
1429         * tools/gst-inspect.c:
1430         (print_plugin_automatic_install_info_codecs),
1431         (print_plugin_automatic_install_info_protocols),
1432         (print_plugin_automatic_install_info), (main):
1433         Add --print-plugin-auto-install-info option to gst-inspect, so we can
1434         introspect plugin files and get machine-parsable output that corresponds
1435         to the last bit of the missing-plugin installer string (small gotcha:
1436         doesn't take into account ranks).
1437
1438 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
1439
1440         * configure.ac:
1441         * docs/gst/gstreamer-sections.txt:
1442         * gst/Makefile.am:
1443         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
1444         (gst_registry_lookup_locked):
1445         * gst/gstregistry.h:
1446         * gst/gstregistrybinary.c: (gst_registry_binary_write),
1447         (gst_registry_binary_initialize_magic),
1448         (gst_registry_binary_save_string),
1449         (gst_registry_binary_save_pad_template),
1450         (gst_registry_binary_save_feature),
1451         (gst_registry_binary_save_plugin),
1452         (gst_registry_binary_write_cache),
1453         (gst_registry_binary_check_magic),
1454         (gst_registry_binary_load_pad_template),
1455         (gst_registry_binary_load_feature),
1456         (gst_registry_binary_load_plugin),
1457         (gst_registry_binary_read_cache):
1458         * gst/gstregistrybinary.h:
1459         * gst/gstregistryxml.c: (load_feature),
1460         (gst_registry_xml_read_cache):
1461           commit binary registry (disabled by default, see #359653)
1462
1463 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
1464
1465         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
1466           Fix 'make check' too.
1467
1468 2007-01-10  Andy Wingo  <wingo@pobox.com>
1469
1470         * docs/design/part-negotiation.txt: Fix a typo, add a couple
1471         notes.
1472         
1473         * docs/design/part-negotiation.txt: Update with, um, one way that
1474         pull-mode negotiation might work?
1475
1476         * gst/gstpad.h: 
1477         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
1478         that the pad must be a src pad; makes sense to call it the other
1479         way in pull mode, and the logic is symmetric anyway.
1480
1481 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
1482
1483         * plugins/elements/gstfilesink.c:
1484           Include <stdio.h> for fseeko().
1485
1486 2007-01-10  Wim Taymans  <wim@fluendo.com>
1487
1488         * gst/gstevent.c:
1489         * gst/gstevent.h:
1490         Reserve LATENCY event.
1491
1492 2007-01-09  Wim Taymans  <wim@fluendo.com>
1493
1494         * docs/design/draft-latency.txt:
1495         Updates.
1496
1497 2007-01-09  Wim Taymans  <wim@fluendo.com>
1498
1499         * docs/design/draft-latency.txt:
1500         Updates.
1501
1502         * gst/gstelement.h:
1503         * gst/gststructure.c:
1504         * gst/gsttrace.c:
1505         Small typo fixes.
1506
1507 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
1508
1509         * tests/check/.cvsignore:
1510           Ignore test-registry.xml as well.
1511
1512 2007-01-09  Wim Taymans  <wim@fluendo.com>
1513
1514         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
1515         unref data at the end when we are done with the pad.
1516
1517 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
1518
1519         * docs/gst/gstreamer-sections.txt:
1520         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
1521         (init_post), (gst_deinit), (gst_update_registry):
1522         * gst/gst.h:
1523           API: add gst_update_registry() (#391296).
1524
1525         * tests/check/Makefile.am:
1526         * tests/check/gst/gstregistry.c:
1527         * tests/check/gst/.cvsignore:
1528           Simple unit test for the above.
1529
1530 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
1531
1532         * gst/gstregistry.c: (gst_registry_scan_path_level):
1533           Plugin extension on HP-UX is .sl, add that to the list of approved
1534           plugin extensions (see #393796).
1535
1536         * tests/check/gst/gstpad.c: (GST_START_TEST):
1537           ulong => gulong. Fixes compilation with HP-UX compiler.
1538
1539         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
1540           Fix compilation if valgrind headers are not available.
1541
1542 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
1543
1544         * win32/common/libgstreamer.def: 
1545           Add new exported function.
1546         * win32/vs6/libgstbase.dsp: 
1547           Add gstdataqueue.c to the build.
1548         * win32/vs6/libgstcoreelements.dsp:
1549           Add gstmultiqueue.c to the build.
1550         
1551 2007-01-06  Andy Wingo  <wingo@pobox.com>
1552
1553         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
1554         activate_pull(), providing for a way to specialize the process of
1555         spawning a thread to pull on the sink pad. There is a default
1556         implementation.
1557
1558         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
1559         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
1560         (gst_base_sink_init): Renamed pad activation functions (inserting
1561         "_pad" in their names). Refactor to use the new activate_pull
1562         vmethod, as appropriate.
1563         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
1564         default activate_pull function to start a task pulling from the
1565         sink pad, as before.
1566
1567         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
1568         on the pads if necessary, as in push()/chain(). Update docs.
1569         Shouldn't affect existing pull() usage as it is currently only
1570         being used on buffers without caps.
1571
1572 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
1573
1574         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
1575         (init_pre):
1576           Call g_thread_init() first thing in gst_init() / gst_check_init().
1577           When initialisation is done via gst_init_get_option_group() and
1578           GOption parsing, issue a warning if the GLib thread system has not
1579           been initialised yet by the time gst_init_get_option_group() is
1580           called, as it's quite likely other GLib functions such as
1581           g_option_context_new() have been called already then, and
1582           g_thread_init() must be called before any other GLib function. The
1583           application in question must be fixed in that case, since memory
1584           corruption might happen otherwise.
1585           We issue the warning because even if the GLib folks decide to work
1586           around the problem on their end in future, this is still an issue
1587           with all GLib versions >= 2.10.0, so we should warn until we depend
1588           on a GLib version we know to be safe.
1589           Update documentation as well.
1590           Closes bug #391278.
1591
1592 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
1593
1594         * tools/gst-inspect.c: (main):
1595         * tools/gst-launch.c: (main):
1596         * tools/gst-typefind.c: (main):
1597         * tools/gst-xmlinspect.c: (main):
1598           Call g_thread_init() really really early, before any other GLib
1599           function (see #342564 and recent discussion on gtk-devel-list).
1600
1601 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
1602
1603         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
1604
1605         * gst/gst_private.h:
1606         * gst/gstconfig.h.in:
1607         * gst/gstinfo.h:
1608           On win32, all the __declspec stuff for symbol exporting is
1609           apparently only needed with MSVC, but doesn't work with MingW.
1610           Fixes compilation with MingW and #391909.
1611
1612 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
1613
1614         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
1615           Change some GST_ERROR_OBJECT that aren't really errors to
1616           GST_WARNING_OBJECT in order to reduce terminal spam.
1617
1618 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
1619
1620         * tests/check/Makefile.am:
1621           disable test again, as there seem to be still race problems
1622
1623 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
1624
1625         * tests/check/Makefile.am:
1626         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
1627         (GST_START_TEST), (queue_suite):
1628           enable queue test again, add tests for the leaky behaviour
1629
1630 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
1631
1632         * configure.ac:
1633         * tests/examples/Makefile.am:
1634           Compile adapter test/example only if the required headers are
1635           available (fixes #391915).
1636
1637 2007-01-01  David Schleef  <ds@schleef.org>
1638
1639         * gst/gstplugin.c:
1640           Restore the previous signal handler for SIGSEGV instead of
1641           setting to default, since we may have stolen it away from
1642           someone.  (i.e., Mono)
1643
1644 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
1645
1646         * docs/random/draft-missing-plugins.txt:
1647           Some small additions and clarifications.
1648
1649 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
1650
1651         * gst/gstregistryxml.c: (gst_registry_save_escaped):
1652           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
1653           since that can lead to random memory corruptions and crashes
1654           (may or may not be related to #383244, #386711, and #386711).
1655
1656 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
1657
1658         * tests/check/.cvsignore:
1659         * tests/check/Makefile.am:
1660           sync .cvsignome and CLEANFILES
1661
1662 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
1663
1664         * tests/check/Makefile.am:
1665           fix distcheck
1666
1667 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
1668
1669         * docs/design/part-states.txt:
1670           two tiny additional comments
1671         
1672         * gst/gststructure.c:
1673           doc fixing
1674
1675         * tests/check/Makefile.am:
1676         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
1677         (GST_START_TEST):
1678           disable test for now, unless it gets fixed
1679
1680 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
1681
1682         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
1683         (GST_START_TEST):
1684           fix race in underrun test
1685
1686 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
1687
1688         * tests/check/elements/.cvsignore:
1689           ignore more
1690
1691         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
1692         (GST_START_TEST):
1693           try to narrow test failure
1694
1695 2006-12-21  David Schleef  <ds@schleef.org>
1696
1697         * plugins/elements/gstfakesrc.c:
1698           Use g_random_int_range(), since it produces better random
1699           numbers in a range than almost-correct floating point code.
1700
1701 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
1702
1703         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
1704         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
1705         (gst_check_teardown_sink_pad):
1706           do not automatically (de)activate pads
1707
1708         * tests/check/Makefile.am:
1709         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
1710         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
1711           add new, yet simple tests for queue
1712
1713         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
1714         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
1715         * tests/check/elements/filesrc.c: (cleanup_filesrc),
1716         (GST_START_TEST):
1717         * tests/check/elements/identity.c: (cleanup_identity):
1718           consistent pad (de)activation
1719
1720 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
1721
1722         Patch by: Sebastian Dröge  <slomo ubuntu com>
1723
1724         * libs/gst/base/gstcollectpads.c:
1725           Fix two doc typos (#387866).
1726
1727 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
1728
1729         * docs/manual/advanced-dparams.xml:
1730           Fix typo (g_object_control_properties() doesn't exist).
1731
1732 2006-12-19  Edward Hervey  <edward@fluendo.com>
1733
1734         * gst/gstsegment.c: (gst_segment_set_seek):
1735         Fine tune the cases where the segment start/stop values are really
1736         updated.
1737         * tests/check/gst/gstsegment.c: (GST_START_TEST):
1738         Add tests for the return values of gst_segment_set_seek().
1739
1740 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
1741
1742         * gst/gst.c:
1743           Docs typo fix.
1744
1745         * plugins/elements/gstqueue.c: (gst_queue_class_init),
1746         (gst_queue_init):
1747           Fix incorrect documentation and flesh it out a bit more.
1748           Set default values for the max properties on the GParamSpec as well,
1749           so it shows up correctly in gst-inspect.
1750
1751 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
1752
1753         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
1754           Correct docs of queue, add more detail and crosslink it more.
1755
1756 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
1757
1758         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
1759           Print additional debug info when the stream isn't perfectly
1760           timestamped; don't try to use invalid durations.
1761
1762 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
1763
1764         * docs/design/Makefile.am:
1765           Dist new design docs.
1766
1767 2006-12-16  Wim Taymans  <wim@fluendo.com>
1768
1769         Patch by: Sjoerd Simons <sjoerd at luon dot net>
1770
1771         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
1772         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
1773         (gst_collect_pads_stop), (gst_collect_pads_event),
1774         (gst_collect_pads_chain):
1775         * libs/gst/base/gstcollectpads.h:
1776         Add refcounting to the collectpads data so we can track when it's safe
1777         to free the data. Fixes #383382.
1778
1779 2006-12-15  Wim Taymans  <wim@fluendo.com>
1780
1781         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
1782         (gst_collect_pads_remove_pad):
1783         Automatically activate/deactivate pads when they are added to a
1784         started/stoped collectpads.
1785
1786 2006-12-15  Wim Taymans  <wim@fluendo.com>
1787
1788         * gst/gstelement.c: (gst_element_add_pad):
1789         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
1790         * gst/gstpad.c: (gst_pad_init):
1791         Set pads to FLUSHING when they are created. Check, warn and fix when a
1792         demuxer adds an inactive pad to itself when running. Fixes #339326.
1793
1794 2006-12-15  Wim Taymans  <wim@fluendo.com>
1795
1796         * gst/gstelement.c: (gst_element_class_init),
1797         (gst_element_default_send_event), (gst_element_send_event),
1798         (gst_element_default_query), (gst_element_query):
1799         Expose default element send_event and query handling as vmethods that
1800         subclasses can chain up to.
1801
1802 2006-12-15  Wim Taymans  <wim@fluendo.com>
1803
1804         * gst/gstelement.c: (gst_element_set_state_func):
1805         Small documentation fixes.
1806
1807 2006-12-15  Wim Taymans  <wim@fluendo.com>
1808
1809         * docs/design/draft-latency.txt:
1810         Checked in draft for handling latency in pipelines.
1811
1812 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
1813
1814         * Makefile.am:
1815         * gstreamer.doap:
1816         * gstreamer.spec.in:
1817           adding .doap file
1818
1819 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
1820
1821         * gst/gst.c: (init_pre), (init_post):
1822           init_pre() and init_post() might be called via our GOptionGroup or
1823           from gst_init(), and we should skip both of them if we've already
1824           been initialised, otherwise we will init some things twice or add
1825           two default log functions.
1826
1827 2006-12-13  Edward Hervey  <edward@fluendo.com>
1828
1829         * docs/manual/basics-bus.xml:
1830         No, gst_main_loop does not exist. Its g_main_loop.
1831         Discovered by somebody who abused the copy-paste technique of coding :)
1832
1833 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
1834
1835         * gst/gstghostpad.c:
1836           Log ghostpad debug stuff to the GST_PADS category as well rather
1837           than just to the default category.
1838
1839 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
1840
1841         * configure.ac:
1842         * gst/gst.c: (init_pre):
1843           Add some basic system details such as OS and architecture
1844           to the debug output if possible, courtesy of uname().
1845
1846 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
1847
1848         * docs/gst/running.xml:
1849           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
1850           environment variables.
1851
1852 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
1853
1854         * tests/check/gst/gstbin.c: (GST_START_TEST):
1855         It is acceptable to have a refcount of 2 or 3 at this point in the
1856         test, because the pipeline might be just posting its state_change
1857         message. The next line then waits for that message to appear using
1858         bus_poll, so that should be fine too.
1859
1860 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
1861
1862         * gst/gst.c: (ensure_current_registry_forking):
1863         Ignore EINTR when reading from the child registry pipe.
1864         Explicitly ignore the return value from close, since it makes no
1865         difference.
1866
1867         * gst/gstminiobject.c: (gst_mini_object_ref),
1868         (gst_mini_object_unref):
1869         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
1870
1871         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
1872         When removing cached plugins, remove their features too, so they're
1873         not visible after they've disappeared.
1874
1875         * gst/gstutils.c: (prepare_link_maybe_ghosting):
1876         In the unlikely case that we are linking pads with no parents, don't
1877         crash trying to get the non-existent parent bin.
1878
1879         * gst/parse/grammar.y:
1880         Output debug in the PIPELINE category
1881
1882 2005-03-08  Wim Taymans  <wim@fluendo.com>
1883
1884         Patch by: René Stadler <mail at renestadler dot de>
1885
1886         * gst/gstclock.c: (gst_clock_new_periodic_id):
1887         Reject invalid clock times for interval of periodic ids.
1888         Fixes ##383506.
1889
1890 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
1891
1892         * gst/gstelementfactory.c: (gst_element_factory_create):
1893         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1894         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
1895         * tools/gst-inspect.c: (print_element_info):
1896         Fix refcounting of gst_plugin_feature_load to match the docs. 
1897         Fixes: #380129
1898
1899 2006-12-07  Wim Taymans  <wim@fluendo.com>
1900
1901         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
1902         (gst_base_sink_get_position):
1903         Improve debugging of events.
1904
1905 2006-12-07  Wim Taymans  <wim@fluendo.com>
1906
1907         Patch by: René Stadler <mail at renestadler dot de>
1908
1909         * gst/gstclock.c: (gst_clock_id_wait):
1910         Make period ids add the interval to the origial requested time instead
1911         of the possibly updated time which can be wrong when there are multiple
1912         waiters for the same id. Fixes #382592.
1913
1914         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
1915         (gst_system_clock_id_wait_jitter_unlocked),
1916         (gst_system_clock_id_wait_jitter):
1917         Fix restart in the async notify thread when an async entry is added to
1918         the front of the list. Fixes #381492. 
1919
1920         * tests/check/gst/gstsystemclock.c: (store_callback),
1921         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
1922         Added test for multiple async waits.
1923         Added test for async wait order.
1924
1925 2006-12-07  Wim Taymans  <wim@fluendo.com>
1926
1927         * gst/gstbin.c: (gst_bin_query):
1928         Add some more docs about the POSITION query.
1929
1930 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
1931
1932         * configure.ac:
1933         Bump version nano - back to CVS.
1934
1935 === release 0.10.11 ===
1936
1937 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
1938
1939         * configure.ac:
1940           releasing 0.10.11, "Love never runs on time"
1941
1942 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
1943
1944         * win32/common/libgstbase.def:
1945         * win32/common/libgstreamer.def:
1946         * win32/vs8/libgstbase.vcproj:
1947         * win32/vs8/libgstcoreelements.vcproj:
1948         * win32/vs8/libgstreamer.vcproj:
1949         Fix compilation on win32 under VS8
1950         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
1951         Partially fixes #381175
1952
1953 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
1954
1955         * gst/gstvalue.c: (gst_value_compare_fraction):
1956         If someone is foolish enough to compare 2 fractions with denominator =
1957         0, return UNORDERED rather than aborting.
1958
1959 2006-11-28  Edward Hervey  <edward@fluendo.com>
1960
1961         * libs/gst/base/Makefile.am:
1962         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
1963         (gst_data_queue_base_init), (gst_data_queue_class_init),
1964         (gst_data_queue_init), (gst_data_queue_new),
1965         (gst_data_queue_cleanup), (gst_data_queue_finalize),
1966         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
1967         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
1968         (gst_data_queue_is_empty), (gst_data_queue_is_full),
1969         (gst_data_queue_set_flushing), (gst_data_queue_push),
1970         (gst_data_queue_pop), (gst_data_queue_drop_head),
1971         (gst_data_queue_set_property), (gst_data_queue_get_property):
1972         * libs/gst/base/gstdataqueue.h:
1973         New GstDataQueue object for threadsafe queueing. Most useful for
1974         elements that need some queueing functionnality.
1975         * docs/libs/gstreamer-libs-docs.sgml:
1976         * docs/libs/gstreamer-libs-sections.txt:
1977         Insert documentation for GstDataQueue
1978         * plugins/elements/Makefile.am:
1979         * plugins/elements/gstelements.c:
1980         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
1981         (gst_multi_queue_class_init), (gst_multi_queue_init),
1982         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
1983         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
1984         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
1985         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
1986         (gst_multi_queue_loop), (gst_multi_queue_chain),
1987         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
1988         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
1989         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
1990         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
1991         (wake_up_next_non_linked), (compute_next_non_linked),
1992         (single_queue_overrun_cb), (single_queue_underrun_cb),
1993         (single_queue_check_full), (gst_single_queue_new):
1994         * plugins/elements/gstmultiqueue.h:
1995         New multiqueue element, using GstDataQueue. Used for queuing multiple
1996         streams.
1997         Closes #344639 and #347785
1998
1999 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
2000
2001         * docs/pwg/advanced-types.xml:
2002           add more missing type details
2003
2004         * tools/gst-run.c: (main):
2005           remove unused variable
2006
2007 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
2008
2009         * docs/libs/Makefile.am:
2010         * docs/libs/gstreamer-libs.types:
2011           add types of base classes to enable gobject specific stuff in the docs
2012
2013         * docs/random/ensonic/embedded.txt:
2014           more ideas about isolating platform specific things
2015
2016 2006-11-20  Wim Taymans  <wim@fluendo.com>
2017
2018         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
2019
2020         * libs/gst/check/gstcheck.h:
2021         Fix compilation and running against 0.9.4. Fixes #377332.
2022
2023 2006-11-20  Wim Taymans  <wim@fluendo.com>
2024
2025         * gst/gstsegment.c: (gst_segment_set_seek),
2026         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
2027         (gst_segment_to_running_time):
2028         Fix boundary checking in to_running_time() and to_stream_time().
2029         Fixes #377183.
2030
2031         * tests/check/gst/gstsegment.c: (GST_START_TEST):
2032         stream and running time can now be calculated for the complete
2033         clipped segment.
2034
2035 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
2036
2037         * gst/gstpad.c: (gst_pad_push_event):
2038           Can't access event structure after giving away ownership of
2039           the event.
2040
2041 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
2042
2043         * docs/random/ensonic/embedded.txt:
2044         * docs/random/ensonic/profiling.txt:
2045         * docs/random/ensonic/receipies.txt:
2046           more thinking
2047
2048 2006-11-13  Wim Taymans  <wim@fluendo.com>
2049
2050         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
2051
2052         * gst/gstpad.c:
2053         Fix documentation for gst_pad_dispatcher. Fixes #374475.
2054
2055 2006-11-13  Wim Taymans  <wim@fluendo.com>
2056
2057         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
2058
2059         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
2060         Store new length in segment duration so we don't keep on calling the
2061         potentially expensize get_size() call. Fixes #370865.
2062
2063 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
2064
2065         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
2066
2067         * win32/common/libgstreamer.def:
2068           Add two missing symbols (#366492).
2069
2070 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
2071
2072         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
2073         (gst_adapter_take_buffer):
2074         Fix format string to use all its arguments.
2075         Remove useless >= check on a guint
2076
2077 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
2078
2079         * tests/examples/adapter/.cvsignore:
2080         Ignore build file as commanded by the build-bot
2081
2082 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
2083
2084         * tests/examples/adapter/Makefile.am:
2085         * tests/examples/adapter/adapter_test.c: (run_test_take),
2086         (run_test_take_buffer), (run_tests), (main):
2087
2088         Add new files from the previous commit
2089
2090 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
2091
2092         * Makefile.am:
2093         * configure.ac:
2094         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
2095         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
2096         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
2097         * libs/gst/base/gstadapter.h:
2098         * tests/check/libs/adapter.c: (create_and_fill_adapter),
2099         (GST_START_TEST), (gst_adapter_suite):
2100         * tests/examples/Makefile.am:
2101         Do some optimisation work in GstAdapter to avoid copies in more cases.
2102         It could still do slightly better by merging buffers when
2103         gst_buffer_is_span_fast is true, but is already faster. 
2104
2105         Also, avoid traversing a single-linked list to append each incoming 
2106         buffer inside the adapter.
2107
2108         Add simple test app that times the adapter behaviour in different
2109         situations, and extend the unit test to check that bytes enter and
2110         exit the adapter in their original order.
2111
2112 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
2113
2114         * docs/random/draft-missing-plugins.txt:
2115           Update: use element message instead of adding a new message
2116           type to the core; don't provide GStreamer API to initiate the
2117           plugin download, just provide API to compose the strings needed
2118           and let an external libgimmestuff handle the rest.
2119
2120 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
2121
2122         * tools/gst-inspect.c: (print_element_properties_info):
2123         Print a string instead of 'unknown type' for GValueArray properties
2124
2125 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
2126
2127         * docs/random/draft-missing-plugins.txt:
2128         More small fixes.
2129
2130 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
2131
2132         * tests/examples/typefind/typefind.c: (type_found), (main):
2133           Make typefind element example work again (#371894); add a
2134           license header.
2135
2136 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
2137
2138         * docs/random/draft-missing-plugins.txt:
2139           Commit initial draft about how to deal with missing plugins,
2140           needs work (API too).
2141
2142 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
2143
2144         * docs/pwg/advanced-types.xml:
2145           documents the new caps elements (see #363118)
2146
2147 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
2148
2149         * gst/gstplugin.c: (gst_plugin_load_file):
2150         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
2151         (gst_file_src_map_region), (gst_file_src_start):
2152         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
2153         (gst_file_index_commit):
2154           Use g_strerror() instead of strerror() - we want UTF-8.
2155
2156 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
2157
2158         Patch by: Peter Kjellerstedt <pkj at axis com>
2159
2160         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
2161           Another printf fix (#371493).
2162
2163 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
2164
2165         * tests/check/gst/gsttag.c:
2166           relicence (okay with author=company)
2167
2168 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
2169
2170         * gst/gstpad.c: (gst_pad_event_default_dispatch),
2171         (gst_pad_push_event):
2172           Enhance debug and improve docs
2173         
2174         * gst/gsturi.c:
2175           Fix docs
2176
2177 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
2178
2179         * docs/random/ensonic/distributed.txt:
2180         * docs/random/ensonic/profiling.txt:
2181           more ideas
2182
2183 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
2184
2185         * docs/gst/gstreamer-sections.txt:
2186           add new API and fix the build
2187           
2188         * gst/gstbin.c: (gst_bin_recalc_state):
2189         * gst/gstelement.c: (gst_element_message_full),
2190         (gst_element_get_state_func), (gst_element_set_state_func):
2191           use new API and improve logging
2192         
2193         * gst/gstutils.c: (gst_element_state_change_return_get_name):
2194         * gst/gstutils.h:
2195           API: add function to get StateChangereturn names to improve logs 
2196
2197 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
2198
2199         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
2200           I'm considering shooting the next person to put strerror stuff
2201           in the translateable part of the message.
2202
2203 2006-11-03  Wim Taymans  <wim@fluendo.com>
2204
2205         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
2206         Get the type and printf conversion specifiers right.
2207
2208 2006-11-03  Wim Taymans  <wim@fluendo.com>
2209
2210         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
2211
2212         * gst/gstpad.c: (gst_pad_init), (pre_activate),
2213         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
2214         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
2215         Some small cleanups. Improve debugging.
2216         * gst/gstpad.h:
2217         Signal all waiting threads with a broadcast instead of just one.
2218         Fixes #369942.
2219
2220 2006-11-03  Wim Taymans  <wim@fluendo.com>
2221
2222         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
2223         (gst_fd_src_create):
2224         Add some debugging. 
2225         Only update fd when it's different from the old.
2226
2227 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2228
2229         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
2230           Printf fixes for PPC/OSX, take two (#369366).
2231
2232 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2233
2234         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
2235
2236         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
2237         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
2238         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
2239           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
2240           don't cast to long long for portability reasons, but use
2241           GLib's types instead.
2242
2243 2006-10-30  Michael Smith  <msmith@fluendo.com>
2244
2245         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
2246           Get the arguments to lseek() the right way around.
2247           Fixes 367677.
2248
2249 2006-10-30  Wim Taymans  <wim@fluendo.com>
2250
2251         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
2252
2253         * gst/gstinfo.h:
2254         _declspec should be __declspec (two underscores, not one). Fixes 366572.
2255
2256 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
2257
2258         Patch by: Kjartan Maraas  <kmaraas at gnome org>
2259
2260         * docs/design/part-MT-refcounting.txt:
2261         * docs/random/wtay/capsnego2-docs:
2262         * gst/gstclock.c:
2263         * gst/gstxml.c:
2264           Typo fixes (#366212).
2265
2266 2006-10-28  Wim Taymans  <wim@fluendo.com>
2267
2268         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
2269
2270         * gst/gst.c:
2271         * win32/common/libgstbase.def:
2272         * win32/common/libgstreamer.def:
2273         * win32/vs8/libgstbase.vcproj:
2274         * win32/vs8/libgstcontroller.vcproj:
2275         Add needed entries in .def files.
2276         Use HAVE_UNISTD_H.
2277         Rearrange def files in vs8 solutions. Fixes #366286.
2278
2279 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
2280
2281         * win32/common/gstconfig.h:
2282           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
2283           hand-made win32 gstconfig.h. Fixes #366321.
2284
2285 2006-10-27  Wim Taymans  <wim@fluendo.com>
2286
2287         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
2288         (gst_ghost_pad_new_full):
2289         Make acceptcaps return TRUE when we don't have a target, just like
2290         setcaps does.
2291
2292 2006-10-27  Wim Taymans  <wim@fluendo.com>
2293
2294         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
2295         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
2296
2297 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
2298
2299         * gst/gststructure.c: (gst_structure_id_set_value):
2300           If someone tries to set a non-UTF8 string field on a structure,
2301           don't just print a warning, but also ignore the request and do
2302           not change/add that field to the structure.
2303
2304         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
2305           Test for the above.
2306
2307 2006-10-25  David Schleef  <ds@schleef.org>
2308
2309         * gst/gstinfo.c:
2310           g_hash_table_insert() needs a cast to a non-const pointer duh.
2311
2312 2006-10-25  David Schleef  <ds@schleef.org>
2313
2314         * gst/gstinfo.c:
2315         * gst/gstinfo.h:
2316           Change name parameter of _gst_debug_register_funcptr to const
2317           to reflect the constness of its use in the function as well
2318           as to quiet a gcc warning.
2319
2320 2006-10-25  Edward Hervey  <edward@fluendo.com>
2321
2322         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
2323         Don't push the buffer if it's empty.
2324         Closes #363095
2325
2326 2006-10-24  Wim Taymans  <wim@fluendo.com>
2327
2328         * gst/gstevent.h:
2329         Add small comment.
2330
2331         * libs/gst/base/gstbasetransform.c:
2332         (gst_base_transform_sink_eventfunc):
2333         Debug segment values *after* updating them as this is more
2334         interesting.
2335
2336 2006-10-23  Wim Taymans  <wim@fluendo.com>
2337
2338         * docs/design/part-events.txt:
2339         Update some docs.
2340
2341         * docs/design/part-block.txt:
2342         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
2343         (gst_pad_push_event):
2344         Revert BLOCKING patch, it tries to be smart without really having a
2345         clear idea what or how. So, now we discard all FLUSHING events again on
2346         a blocking pad. Should fix gnonlin again.
2347
2348 2006-10-23  Wim Taymans  <wim@fluendo.com>
2349
2350         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
2351
2352         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
2353         (gst_base_src_start), (gst_base_src_activate_push):
2354         Make sure size is always initialized. Fixes #364388.
2355
2356 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
2357
2358         * docs/random/ensonic/distributed.txt:
2359           add some ideas about doing distributed processing
2360
2361         * docs/random/ensonic/profiling.txt:
2362           get_rusage look promising
2363
2364 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
2365
2366         * docs/manual/basics-helloworld.xml:
2367           Add a cast in example to fix compile warning
2368
2369 2006-10-18  Wim Taymans  <wim@fluendo.com>
2370
2371         * gst/gstsegment.c: (gst_segment_set_last_stop),
2372         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
2373         Relax arg checking again, -1 is allowed.
2374
2375 2006-10-18  Wim Taymans  <wim@fluendo.com>
2376
2377         * gst/gstsegment.c: (gst_segment_set_last_stop),
2378         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
2379         _set_last_stop() must be with a value != -1
2380         A _TYPE_SET to -1 means seek to 0.
2381         Calc last_stop correctly for negative rates.
2382         Make sure we work with positive durations when updating a segment.
2383
2384 2006-10-18  Wim Taymans  <wim@fluendo.com>
2385
2386         * docs/design/part-live-source.txt:
2387         * gst/gstclock.h:
2388         Small docs fixes.
2389
2390 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
2391
2392         * gst/gstbuffer.h:
2393           Add an explicit cast to GstBuffer** to keep old code that added an
2394           explicit cast to GstMiniObject** for gst_mini_object_replace()
2395           compiling without warning.
2396
2397 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
2398
2399         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
2400           check for validity of dates
2401
2402 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
2403
2404         * docs/gst/gstreamer-sections.txt:
2405           Forgot this one, makes gtk-doc shut up.
2406
2407 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
2408
2409         Patch by: Peter Kjellerstedt <pkj at axis com>
2410
2411         * gst/gstobject.h:
2412           Don't define xmlNodePtr to gpointer if the core was built with
2413           --disable-loadsave and --disable-registry, this will break
2414           applications that want to use libxml2 but are buildling against a
2415           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
2416           instead so we don't have to mess with the libxml2 namespace
2417           (#361675).
2418
2419 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
2420
2421         * gst/gstbuffer.h:
2422           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
2423           type-punned pointer warnings.
2424
2425 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
2426
2427         * gst/gstelement.h:
2428           Add casts to the correct return type to state <=> state transition
2429           macros.
2430
2431 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
2432
2433         * docs/design/part-live-source.txt:
2434           describe howto handle latency
2435         
2436         * docs/random/ensonic/profiling.txt:
2437           more ideas
2438
2439         * tools/gst-plot-timeline.py:
2440           fix log parsing for solaris, remove unused function
2441
2442 2006-10-16  Wim Taymans  <wim@fluendo.com>
2443
2444         * docs/design/part-trickmodes.txt:
2445         * gst/gstevent.c:
2446         Update some docs regarding reverse playback.
2447
2448 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
2449
2450         Patch by: Marcus Granado  <mrc dot gran at gmail com>
2451
2452         * win32/vs8/grammar.vcproj:
2453           Error out with a warning if glib-genmarshal.exe is not in path,
2454           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
2455
2456 2006-10-13  Wim Taymans  <wim@fluendo.com>
2457
2458         * gst/gstsegment.c: (gst_segment_set_seek):
2459         When seeking to stop -1, set last_stop (current position) to the
2460         duration of the segment.
2461
2462 2006-10-13  Wim Taymans  <wim@fluendo.com>
2463
2464         * gst/gstelement.h:
2465         Clarify _NO_PREROLL a bit more.
2466
2467         * gst/gstevent.c:
2468         Fix docs.
2469
2470         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
2471         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
2472         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
2473         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
2474         due to wrong locking order. Fixes #361769.
2475         Remove some redundant/misplaced checks in pad_block.
2476
2477         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
2478         For negative rates, count backwards from the duration.
2479
2480 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
2481
2482         * gst/gsterror.c: (_gst_library_errors_init):
2483           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
2484           up with something better).
2485
2486 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
2487
2488         * win32/vs6/libgstreamer.dsp:
2489         * win32/vs7/libgstreamer.vcproj:
2490         * win32/vs8/libgstreamer.vcproj:
2491           Don't reference glib-compat.c which is currently not used and not
2492           disted; add gstquark.c which was recently added. Fixes #361730.
2493
2494 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
2495
2496         * win32/common/libgstbase.def:
2497         * win32/common/libgstcontroller.def:
2498         * win32/common/libgstreamer.def:
2499           Add gst_caps_merge() and a bunch of other recently-added functions.
2500           Fixes #361732.
2501
2502 2006-10-11  Wim Taymans  <wim@fluendo.com>
2503
2504         * docs/plugins/gstreamer-plugins.args:
2505         * docs/plugins/inspect/plugin-coreelements.xml:
2506         * docs/plugins/inspect/plugin-coreindexers.xml:
2507         Update element args.
2508
2509         * gst/gstsystemclock.c:
2510         Small comment update.
2511
2512         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
2513         (gst_tee_request_new_pad), (gst_tee_release_pad),
2514         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
2515         (gst_tee_sink_activate_pull):
2516         * plugins/elements/gsttee.h:
2517         Some tee loving:
2518         Add default property defines.
2519         Implement release pad function.
2520         Give properties better blubs etc.
2521         Activate pads before adding them to a running tee.
2522         Do simple buffer_alloc on the first requested pad.
2523         Post error when activation fails.
2524
2525 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
2526
2527         * gst/gst.c: (ensure_current_registry_forking):
2528           Check return value of write() to make compiler happy.
2529
2530 2006-10-11  Wim Taymans  <wim@fluendo.com>
2531
2532         Patch by: Sjoerd Simons <sjoerd at luon dot net>
2533
2534         * plugins/elements/gstqueue.c: (gst_queue_chain):
2535         Recheck queue filledness after signalling the overrun when we're about
2536         to leak downstream because we released the lock when emitting the signal
2537         and the queue could be empty again. Fixes #352345.
2538
2539 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
2540
2541         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
2542           Fix refcounting here too, just like we did for _new_valist() a few
2543           days ago (#357180) (thanks to René Stadler). Also remove all those
2544           'Since: 0.9' from the gtk-doc blobs.
2545
2546         * tests/check/libs/controller.c: (controller_refcount_new_list),
2547         (gst_controller_suite):
2548           Unit test for the above.
2549
2550 2006-10-10  Wim Taymans  <wim@fluendo.com>
2551
2552         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
2553
2554         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
2555         (gst_pad_save_thyself):
2556         Update some docs.
2557         Write pad direction in XML output. Fixes #345496.
2558
2559 2006-10-10  Wim Taymans  <wim@fluendo.com>
2560
2561         Patch by: René Stadler <mail at renestadler dot de>
2562
2563         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
2564         (gst_controller_new_list), (_gst_controller_dispose),
2565         (_gst_controller_finalize), (_gst_controller_class_init):
2566         Take ref to controlled object so that it cannot disappear. 
2567         Fixes #357432.
2568
2569 2006-10-10  Wim Taymans  <wim@fluendo.com>
2570
2571         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
2572         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
2573         (gst_check_teardown_sink_pad):
2574         Activate/deactivate pads in setup/teardown respectively.
2575
2576 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2577
2578         Patch by: Josep Torre Valles <josep@fluendo.com>
2579
2580         * gst/Makefile.am:
2581         Cast values when making gstenumtypes.h.  This pacifies Forte
2582         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
2583         in the enumeration.
2584
2585 2006-10-09  Wim Taymans  <wim@fluendo.com>
2586
2587         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
2588         Rename some more @cur to @start to fix docs. 
2589
2590         * gst/gstsegment.c: (gst_segment_set_seek):
2591         Fix typo.
2592         time and start must always stay in sync as defined in design doc.
2593
2594         * gst/gsttaglist.c: (gst_tag_list_is_empty):
2595         Rename param to fix docs.
2596
2597         * tests/check/gst/gstsegment.c: (GST_START_TEST):
2598         Check that start and time are in sync.
2599
2600         * tests/check/pipelines/parse-launch.c:
2601         (gst_parse_test_element_change_state):
2602         Activate pad before adding to the element.
2603
2604 2006-10-09  Wim Taymans  <wim@fluendo.com>
2605
2606         * docs/design/part-qos.txt:
2607         Fix typo.
2608
2609         * gst/gstevent.c:
2610         * gst/gstevent.h:
2611         Update seek event docs regarding negative rates.
2612         Rename @cur to @start. 
2613
2614         * gst/gstsegment.c: (gst_segment_set_seek):
2615         * gst/gstsegment.h:
2616         Update set_seek docs regarding negative rates.
2617         Correctly update last_stop to @stop when dealing with negative
2618         rates.
2619         Rename @cur to @start. 
2620
2621         * tests/check/gst/gstpad.c: (GST_START_TEST):
2622         Activate pads before trying to use them.
2623
2624         * tests/check/gst/gstsegment.c: (GST_START_TEST),
2625         (gst_segment_suite):
2626         Add simple check for segments and negative rates.
2627
2628 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
2629
2630         * gst/gsttaglist.c: (gst_tag_list_is_empty):
2631         * gst/gsttaglist.h:
2632         * docs/gst/gstreamer-sections.txt:
2633           API: add gst_tag_list_is_empty() (#360467).
2634
2635         * tests/check/gst/gsttag.c: (GST_START_TEST):
2636           And a test case.
2637
2638 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2639
2640         * gst/gstmessage.h:
2641         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
2642         a value that doesn't fit on enumeration.
2643
2644 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2645
2646         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
2647         Remove local debugging system and use Gstreamer's instead.
2648
2649 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2650
2651         Patch by: Josep Torre Valles <josep@fluendo.com>
2652
2653         * common/m4/gst-error.m4:
2654         Disable warning of statement not reached on Forte.
2655         * gst/gstmessage.h:
2656         Fix warning on Forte (value doesn't fit on enumeration).
2657         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
2658         Fix warning on Forte (value doesn't fit on enumeration).
2659         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
2660         DEBUG macro says it takes minimum of 2 args and so Forte
2661         complains about the use with just 1 arg.
2662         * plugins/elements/gstfdsink.c:
2663         * plugins/elements/gstfdsrc.c:
2664         * plugins/elements/gstfilesink.c:
2665         * plugins/elements/gstfilesrc.c:
2666         Use correct return type for the uri handler implementations.
2667
2668         All these fix warnings in Forte.  Fixes bug #360860.
2669
2670 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
2671
2672         * gst/gstelement.h:
2673           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
2674           format string, so don't use G_GNUC_PRINTF for those versions.
2675
2676 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
2677
2678         * gst/gsttaglist.c: (gst_is_tag_list):
2679         * gst/gsttaglist.h:
2680           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
2681
2682         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
2683           Small test for the above.
2684
2685 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
2686
2687         * gst/gsttaglist.h:
2688           Less tabs, more spaces.
2689
2690 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
2691
2692         * gst/gstinfo.h:
2693           Those two function declarations do actually belong there, revert
2694           commit from yesterday that turned them intro macros.
2695
2696 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2697
2698         Patch by: Josep Torre Valles <josep@fluendo.com>
2699
2700         * gst/gst.c: (gst_init_get_option_group):
2701         Fix empty declaration and type mismatch.
2702         * gst/gstbin.c: (gst_bin_change_state_func):
2703         Fix type mismatch.
2704         * gst/gstelement.c: (gst_element_continue_state),
2705         (gst_element_set_state_func), (gst_element_change_state),
2706         (gst_element_change_state_func):
2707         Fix type mismatches.
2708         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
2709         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
2710         Cast as appropriate.
2711         * gst/gstobject.c: (gst_class_signal_connect):
2712         Cast as appropriate.  The function pointer parameter really
2713         has the wrong type but would break API if we change it.
2714         * gst/gstquery.c:
2715         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
2716         order of including string.h.
2717         * gst/gstutils.c: (gst_element_state_get_name):
2718         Remove unreachable line.
2719         * gst/gstxml.c: (gst_xml_parse_doc):
2720         Fix type mismatch.
2721         All these caught by Forte.
2722
2723 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2724
2725         Patch by: Josep Torre Valles <josep@fluendo.com>
2726
2727         * common/m4/gst-error.m4:
2728         Fixed bug #360151.
2729         We need to disable warnings on Forte for empty declarations
2730         due to gst-indent adding ;s to lines that just use macros
2731         where the macro actually doesn't need a ; at end to end
2732         statement.
2733
2734 2006-10-06  Wim Taymans  <wim@fluendo.com>
2735
2736         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
2737         (gst_file_sink_close_file), (gst_file_sink_event),
2738         (gst_file_sink_render):
2739         Add some FIXME for the NEWSEGMENT handling.
2740
2741 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2742
2743         * gst/parse/grammar.y:
2744         Remove static function gst_parse_element_lock as all it does
2745         is return.  Looks like cruft from 0.8.
2746
2747 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2748
2749         Patch by: Josep Torre Valles <josep@fluendo.com>
2750
2751         * common/m4/gst-error.m4:
2752         * configure.ac:
2753         * libs/gst/net/Makefile.am:
2754         Fix a compilation issue with Forte on Solaris.  inet_aton is in
2755         libresolv.
2756
2757 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
2758
2759         * gst/gstpad.c: (pre_activate):
2760         * gst/gstregistry.c: (gst_registry_scan_path_level):
2761         * gst/gstregistryxml.c: (load_plugin):
2762         * libs/gst/controller/gstcontroller.c:
2763         (gst_controlled_property_set_interpolation_mode):
2764         * libs/gst/dataprotocol/dataprotocol.c:
2765         (gst_dp_packet_from_event_1_0):
2766         * libs/gst/net/gstnetclientclock.c:
2767         (gst_net_client_clock_observe_times):
2768         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
2769           Printf fixes.
2770
2771 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
2772
2773         * configure.ac:
2774         * docs/gst/gstreamer-sections.txt:
2775         * gst/gstconfig.h.in:
2776         * gst/gstelement.h:
2777         * gst/gstinfo.h:
2778           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
2779           whether we can use G_GNUC_PRINTF in other header files and at
2780           least check the printf format/arguments of debug messages and
2781           GST_ELEMENT_ERROR messages when the printf extension is not
2782           being used.
2783           Replace more tabs with spaces in gstinfo.h and remove two spurious
2784           function declarations in GST_DISABLE_DEBUG part with macros.
2785
2786 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
2787
2788         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
2789           More docs for the sync-message signal (mention that it is not
2790           emitted by default); log message structures of messages posted on
2791           the bus as well.
2792
2793 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
2794
2795         * gst/gst.c: (ensure_current_registry_forking):
2796         Use a pipe pair to receive status results from the forked child, and
2797         ignore the result from waitpid. Fixes #355499
2798
2799 2006-10-02  Wim Taymans  <wim@fluendo.com>
2800
2801         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
2802         (gst_ghost_pad_suite):
2803         Fix leak in check.
2804
2805 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
2806
2807         * gst/gstpad.c:
2808           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
2809
2810 2006-10-02  Edward Hervey  <edward@fluendo.com>
2811
2812         * docs/design/part-block.txt:
2813         Further explain the use of flushing on blocked pads.
2814         * docs/gst/gstreamer-sections.txt:
2815         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
2816         (gst_pad_push_event):
2817         * gst/gstpad.h:
2818         Added new GstPadFlag : GST_PAD_BLOCKING.
2819         Adds the notion of pads really blocking, which enables to properly
2820         handle FLUSH_START/FLUSH_STOP events on blocked pads.
2821         Fixes #358999
2822         API: gst_pad_is_blocking()
2823         API: GST_PAD_IS_BLOCKING() macro
2824         API: GST_PAD_BLOCKING GstPadFlag
2825         
2826 2006-10-02  Wim Taymans  <wim@fluendo.com>
2827
2828         Patch by: mrcgran <mrc.gran at gmail dot com>
2829
2830         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
2831         Filter the proxied caps against the padtemplate if we have one.
2832
2833         * gst/gstquery.c: (gst_query_new_segment):
2834         Add include for gstinfo.h so that compilation with
2835         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
2836
2837 2006-10-02  Wim Taymans  <wim@fluendo.com>
2838
2839         Patch by: Alessandro Decina  <alessandro at nnva org>
2840
2841         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
2842         (gst_file_sink_set_location), (gst_file_sink_open_file),
2843         (gst_file_sink_close_file), (gst_file_sink_event),
2844         (gst_file_sink_render):
2845         Set file to NULL when closing filesink so that we can set a new filename
2846         in READY. Fixes #358613.
2847
2848 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
2849
2850         Patch by: Alessandro Decina  <alessandro at nnva org>
2851
2852         * gst/gstevent.c: (_gst_event_copy):
2853           Fix gst_mini_object_make_writable() and gst_event_copy() for events
2854           with event structures by setting the parent refcount address of the
2855           copied structure to the address of the refcount member of the newly
2856           copied event rather than the address of the refcount member of the
2857           original event. Fixes #358737.
2858
2859         * tests/check/gst/gstevent.c: (GST_START_TEST):
2860           Unit test for the above.
2861
2862 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
2863
2864         * docs/design/Makefile.am:
2865           Dist some more files.
2866
2867 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
2868
2869         * tests/check/libs/controller.c: (GST_START_TEST),
2870         (gst_controller_suite):
2871           Add test for the previous fix; add some more tests
2872           for correct refcounting behaviour; fix a few leaks
2873           in test cases; call gst_controller_init() at start
2874           of all tests.
2875
2876 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
2877
2878         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
2879         (gst_controller_set_from_list):
2880           Don't g_return_val_if_fail() on timed values with invalid timestamps
2881           inside a critical section without unlocking the mutex. Spotted by
2882           René Stadler. (#357617)
2883           Also, fix up refcounting properly: when returning an existing
2884           controller, we should increase the reference only once and not
2885           once per property and when trying to control a property again
2886           we should also increase the refcount.
2887
2888 2006-09-29  Wim Taymans  <wim@fluendo.com>
2889
2890         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
2891         * libs/gst/net/gstnettimeprovider.c:
2892         (gst_net_time_provider_thread):
2893         Stop reading commands when EOF as well.
2894
2895         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
2896         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
2897         * plugins/elements/gstidentity.c: (gst_identity_class_init):
2898         Unify description of the dump property.
2899
2900 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
2901
2902         * tests/examples/manual/.cvsignore:
2903         OK, so it's actually cvsignore that needs changing. Stop laughing.
2904
2905 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
2906
2907         * tests/examples/manual/Makefile.am:
2908         Gah, declare vars *before* using them
2909
2910 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
2911
2912         * gst/gst.c: (init_pre), (scan_and_update_registry),
2913         (ensure_current_registry_nonforking),
2914         (ensure_current_registry_forking), (ensure_current_registry),
2915         (init_post), (gst_debug_help), (gst_deinit):
2916         * gst/gst_private.h:
2917         * gst/gstregistry.c: (gst_registry_finalize),
2918         (gst_registry_remove_features_for_plugin_unlocked),
2919         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
2920         (gst_registry_scan_path),
2921         (_priv_gst_registry_remove_cache_plugins),
2922         (_priv_gst_registry_cleanup):
2923         * gst/gstregistry.h:
2924         Re-commit the registry changes, along with an extra fix:
2925           When a cached plugin is encountered at a different file path,
2926           update the stored path in the registry cache so that the parent
2927           process knows where it actually is now when it re-reads the registry
2928           cache. Fixes the thing that broke distcheck with the previous commit.
2929
2930         * tests/check/Makefile.am:
2931         Clean up files named 'core' too when running make clean.
2932
2933         * tests/examples/manual/Makefile.am:
2934         Set up a registry path for running these tests, and clean it properly
2935         for distcheck.
2936
2937 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
2938
2939         * configure.ac:
2940         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
2941         want gmodule-no-export-2.0.pc instead so that we don't drag in
2942         --export-dynamic on every project that links to GStreamer.
2943
2944         Also, make our export regex only match the start of symbols, rather 
2945         than any symbol that contains '_gst' somewhere.
2946
2947         * libs/gst/check/Makefile.am:
2948         The libgstcheck we build does however need export-dynamic, as it
2949         produces some symbols that don't match our _gst... style regex.
2950         Fixes: #318031
2951
2952 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
2953
2954         * gst/gst.c: (init_pre), (scan_and_update_registry),
2955         (ensure_current_registry_nonforking),
2956         (ensure_current_registry_forking), (ensure_current_registry),
2957         (init_post), (gst_debug_help), (gst_deinit):
2958         * gst/gst_private.h:
2959         * gst/gstregistry.c: (gst_registry_finalize),
2960         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
2961         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
2962         (_gst_registry_cleanup):
2963         * gst/gstregistry.h:
2964           Revert previous change until I figure out why it breaks distcheck.
2965
2966 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
2967
2968         * gst/gst.c: (init_pre), (scan_and_update_registry),
2969         (ensure_current_registry_nonforking),
2970         (ensure_current_registry_forking), (ensure_current_registry),
2971         (init_post), (gst_debug_help), (gst_deinit):
2972
2973           Make init_pre and init_post take the full complement of GOptionFunc
2974           args so they can return useful GErrors. Make the registry updating
2975           functions do so.
2976
2977           Call _priv_gst_registry_remove_cache_plugins after scanning files to
2978           ensure that the registry we're about to write out doesn't contain
2979           stale information about old-deleted plugin files.
2980
2981           Make _priv_gst_registry_remove_cache_plugins return a boolean so
2982           that deletion of plugin files is considered a registry change.
2983
2984         * gst/gst_private.h:
2985         * gst/gstregistry.c: (gst_registry_finalize),
2986         (gst_registry_remove_features_for_plugin_unlocked),
2987         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
2988         (gst_registry_scan_path),
2989         (_priv_gst_registry_remove_cache_plugins),
2990         (_priv_gst_registry_cleanup):
2991         * gst/gstregistry.h:
2992         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
2993         by adding _priv prefix, so that they won't appear in the global
2994         symbol table. They still do atm though because of #318031. Move the
2995         prototypes to gst_private.h
2996
2997         When removing a plugin, remove all features for that plugin too. 
2998         Fixes #340878.
2999
3000 2006-09-27  Wim Taymans  <wim@fluendo.com>
3001
3002         * docs/random/moving-plugins:
3003         Make it clear that the "compiled-in descriptions" really mean
3004         the element details.
3005
3006         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3007         (gst_base_sink_wait_preroll):
3008         Update docs.
3009
3010         * docs/libs/gstreamer-libs-sections.txt:
3011         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
3012         (gst_base_src_get_range), (gst_base_src_activate_push):
3013         * libs/gst/base/gstbasesrc.h:
3014         Added function to block while waiting for PLAYING, this function
3015         is used by live sources that block on the clock.
3016         API: gst_base_src_wait_playing()
3017
3018 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
3019
3020         Patch by: Peter Kjellerstedt <pkj at axis com>
3021
3022         * Makefile.am:
3023           gst-element-check.m4 is generated and should therefore be
3024           copied from the build dir rather than the source dir (#357593).
3025           'make distcheck' hasn't noticed this because we were disting
3026           the file as well, so stop doing that.
3027
3028 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
3029
3030         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
3031           Add some tests for gst_caps_intersect().
3032
3033         * tools/gst-launch.c: (event_loop):
3034           Print all buffering percentages we get, even the 100% one.
3035
3036 2006-09-26  Wim Taymans  <wim@fluendo.com>
3037
3038         * tools/gst-inspect.c: (print_element_properties_info),
3039         (print_signal_info):
3040         Fix printing of flags to match the look of enums.
3041
3042 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
3043
3044         * gst/gstelementfactory.c:
3045           Fix typo in docs blurb.
3046
3047 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
3048
3049         * gst/gsturi.c: (search_by_entry):
3050           Don't assert/crash here if a uri handler doesn't return any
3051           supported protocols. The list of protocols could be generated
3052           dynamically at runtime or at plugin registration, and an error
3053           in the underlying library shouldn't be fatal (#353301).
3054
3055 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
3056
3057         * gst/gstinfo.c:
3058           Fix warning if HAVE_PRINTF_EXTENSION is undefined
3059           (spotted by Peter Kjellerstedt).
3060
3061 2006-09-23  Wim Taymans  <wim@fluendo.com>
3062
3063         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
3064
3065         * libs/gst/base/gstbasesrc.c:
3066         (gst_base_src_default_check_get_range), (gst_base_src_start),
3067         (gst_base_src_activate_push), (gst_base_src_activate_pull),
3068         (gst_base_src_change_state):
3069         Match _start/_stop calls in the activate functions. Remove redundant
3070         _stop call from the state change function. Fixes #356910.
3071         Turn failure DEBUG into ERROR. 
3072
3073 2006-09-22  Wim Taymans  <wim@fluendo.com>
3074
3075         * docs/design/part-buffering.txt:
3076         * gst/gstmessage.c: (gst_message_new_buffering),
3077         (gst_message_parse_buffering):
3078         Update docs about buffering.
3079
3080         * docs/design/part-trickmodes.txt:
3081         Fix typo.
3082
3083 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
3084
3085         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
3086         (gst_controller_new_list):
3087           Ref instances when returning them again (fixes #357180)
3088
3089 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
3090
3091         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
3092           Don't forget to release proxy lock when there's an error.
3093
3094 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
3095
3096         * gst/gstcaps.h:
3097           Add extra initialisers for Caps things, to fix some plugin warnings
3098           when using -Wextra
3099
3100 2006-09-18  Wim Taymans  <wim@fluendo.com>
3101
3102         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
3103           Also set template on the internal pad so that a getcaps from the 
3104           target pad returns the template caps.
3105
3106 2006-09-18  Wim Taymans  <wim@fluendo.com>
3107
3108         * gst/gstelement.c: (gst_element_post_message),
3109         (gst_element_dispose):
3110         Use _DEBUG_OBJECT some more.
3111
3112         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
3113         Avoid typechecks.
3114
3115         * tools/gst-launch.c: (main):
3116         If the toplevel element is not a GstPipeline, it must be put in a
3117         pipeline so that a bus and clock is selected.
3118
3119 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
3120
3121         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
3122           JITTER, RATE, and LATENCY query should be handled by the
3123           default case and not by the CONVERT query code.
3124
3125 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
3126
3127         * gst/gstformat.c: (gst_format_register):
3128           Fix locking order (must take lock before using n_values).
3129
3130         * gst/gstvalue.c: (gst_value_serialize_enum),
3131         (gst_value_deserialize_enum_iter_cmp),
3132         (gst_value_deserialize_enum):
3133           Fix serialisation/deserialisation of custom registered GstFormats.
3134
3135         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3136           Unit test for custom format serialisation/deserialisation.
3137
3138 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
3139
3140         * docs/pwg/building-boiler.xml:
3141         * plugins/elements/gstcapsfilter.c:
3142         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
3143         section.
3144
3145 2006-09-16  Edward Hervey  <edward@fluendo.com>
3146
3147         * libs/gst/base/gstbasetransform.c:
3148         (gst_base_transform_buffer_alloc):
3149         Check if requested caps are the same as the sinks caps IF
3150         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
3151         is FALSE.
3152         This fixes the renegotiation issues stated in #352827.
3153
3154 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3155
3156         * configure.ac:
3157         * docs/manual/advanced-autoplugging.xml:
3158         * tests/examples/Makefile.am:
3159         * tests/examples/manual/.cvsignore:
3160         * tests/examples/manual/Makefile.am:
3161         * tests/examples/manual/extract.pl:
3162           Extract the manual examples again like we used to do.
3163           Fix one of them.
3164
3165 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3166
3167         * win32/common/config.h:
3168           update for version
3169
3170 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
3171
3172         * gst/gsterror.c:
3173           Documents how to receive errors.
3174
3175 2006-09-15  Wim Taymans  <wim@fluendo.com>
3176
3177         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
3178         (event_loop), (main):
3179         Added some comments here and there.
3180         Post an application message when an interrupt is caught instead of doing
3181         an uncontrolled state change.
3182         Clean up the event loop.
3183         Handle buffering messages, pause/resume the pipeline.
3184         Make shutdown because of an interrupt more reliable.
3185
3186 2006-09-15  Wim Taymans  <wim@fluendo.com>
3187
3188         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3189         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
3190         (gst_base_sink_preroll_object):
3191         Make sure that our internal state is correct when we commit our state
3192         asynchronously. This solves a race where a state change to PLAYING
3193         could cause the sink to remain blocked in preroll in some situations.
3194
3195 2006-09-15  Wim Taymans  <wim@fluendo.com>
3196
3197         * tools/gst-inspect.c: (print_element_properties_info),
3198         (print_signal_info):
3199         List flags as hex so it's easier to deal with.
3200
3201 2006-09-15  Wim Taymans  <wim@fluendo.com>
3202
3203         * docs/libs/gstreamer-libs-sections.txt:
3204         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
3205         (gst_base_sink_do_sync):
3206         * libs/gst/base/gstbasesink.h:
3207         Expose logic to wait for preroll so that subclasses such as audiosink
3208         can also use this method.
3209         API: gst_base_sink_wait_preroll()
3210
3211 2006-09-15  Wim Taymans  <wim@fluendo.com>
3212
3213         * gst/gstobject.c: (gst_object_set_parent):
3214         * gst/gstpipeline.c: (do_pipeline_seek):
3215         Small cleanups in docs and code.
3216
3217         * gst/gstsegment.c: (gst_segment_clip):
3218         * tests/check/gst/gstsegment.c: (GST_START_TEST):
3219         if stop == start and start is in the segment, no clipping should be
3220         done. Also add a test for this.
3221
3222 2006-09-15  Wim Taymans  <wim@fluendo.com>
3223
3224         * docs/design/part-buffering.txt:
3225         * docs/gst/gstreamer-sections.txt:
3226         * gst/gstmessage.c: (gst_message_new_buffering),
3227         (gst_message_parse_buffering):
3228         * gst/gstmessage.h:
3229         Added methods to create and parse BUFFERING messages.
3230         Added preliminary docs about buffering.
3231         API: gst_message_new_buffering
3232         API: gst_message_parse_buffering
3233
3234 2006-09-06  Wim Taymans  <wim@fluendo.com>
3235
3236         * gst/gstbin.c:
3237         Update documentation.
3238
3239         * gst/gstelement.c: (gst_element_class_init),
3240         (gst_element_release_request_pad), (gst_element_set_clock),
3241         (gst_element_get_index), (gst_element_add_pad),
3242         (gst_element_remove_pad), (gst_element_get_random_pad),
3243         (gst_element_send_event), (gst_element_get_query_types),
3244         (gst_element_query), (gst_element_post_message),
3245         (gst_element_message_full), (gst_element_continue_state),
3246         (gst_element_lost_state), (gst_element_save_thyself),
3247         (gst_element_restore_thyself):
3248         Documentation updates.
3249         Rename last bit of the new-pad -> pad-added signal rename.
3250         Fix the case where an element query would only work if the source
3251         pad was linked.
3252         Avoid some useless type checking in message handling.
3253
3254         * gst/gstevent.c:
3255         * gst/gstevent.h:
3256         * gst/gstutils.c:
3257         Documentation updates.
3258
3259 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3260
3261         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
3262           add an INFO line for when we actually update the fd
3263
3264 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3265
3266         * configure.ac:
3267           back to TRUNK
3268
3269 === release 0.10.10 ===
3270
3271 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
3272
3273         * configure.ac:
3274           releasing 0.10.10, "Pais"
3275
3276 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
3277
3278         * docs/manual/advanced-position.xml:
3279           Fix typo in sample code.
3280
3281 2006-09-05  Wim Taymans  <wim@fluendo.com>
3282
3283         * libs/gst/net/gstnetclientclock.c: (inet_aton),
3284         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
3285         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
3286         * libs/gst/net/gstnetclientclock.h:
3287         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
3288         * libs/gst/net/gstnettimepacket.h:
3289         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
3290         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
3291         (gst_net_time_provider_thread), (gst_net_time_provider_new):
3292         * libs/gst/net/gstnettimeprovider.h:
3293         Make stuff compile on windows. Fixes #345295.
3294
3295 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
3296
3297         * gst/gst.c: (ensure_current_registry_forking):
3298           Print better details when child was terminated by signal.
3299
3300 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
3301
3302         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
3303           Print a warning rather than g_assert() if a plugin feature
3304           is a URI handler but returns no protocols (#353976).
3305
3306 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
3307
3308         * docs/random/moving-plugins:
3309         Fix two typos.         
3310
3311 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
3312
3313         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
3314           Fix locking order, handle NULL function values properly.
3315
3316         * gst/gstinfo.h:
3317           Fix docs.
3318
3319         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
3320           Initialise variable before using it and fix debug statement to
3321           print the address of the function rather than the address of the
3322           variable on the stack holding the address of the function.
3323
3324 2006-09-01  Wim Taymans  <wim@fluendo.com>
3325
3326         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
3327         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
3328         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
3329         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
3330         (gst_ghost_pad_parent_unset),
3331         (gst_ghost_pad_internal_do_activate_push),
3332         (gst_ghost_pad_internal_do_activate_pull),
3333         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
3334         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
3335         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
3336         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
3337         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
3338         (gst_ghost_pad_new_no_target_from_template),
3339         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
3340         More cleanups.
3341         Avoid needless typechecking in macros.
3342         Since the internal pad is always present and never changes, there is
3343         no need to locking or ref when retrieving it.
3344         Improve debugging a bit.
3345         Handle link errors when setting the target. Fixes #341029.
3346
3347 2006-09-01  Wim Taymans  <wim@fluendo.com>
3348
3349         * docs/libs/gstreamer-libs-sections.txt:
3350         * docs/plugins/gstreamer-plugins-sections.txt:
3351         Fix docs some more.
3352
3353         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
3354         (gst_collect_pads_event):
3355         * libs/gst/base/gstcollectpads.h:
3356         Documentation updates.
3357         Free queued buffer when removing a pad.
3358
3359 2006-08-31  Michael Smith  <msmith@fluendo.com>
3360
3361         * gst/gstutils.c: (gst_element_link_pads),
3362         (gst_element_link_pads_filtered):
3363           Ensure that we set a capsfilter to NULL if we failed to link it
3364           when doing filtered linking, to avoid criticals.
3365
3366           No need to check for unreffing srcpad, which is explicly NULLed
3367           above (a trivial code cleanup).
3368
3369 2006-08-31  Wim Taymans  <wim@fluendo.com>
3370
3371         * docs/design/part-gstghostpad.txt:
3372         Update ascii art in documentation.
3373
3374         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
3375         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
3376         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
3377         (gst_ghost_pad_internal_do_activate_push),
3378         (gst_ghost_pad_internal_do_activate_pull),
3379         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
3380         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
3381         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
3382         (gst_ghost_pad_set_target):
3383         Small cleanups and leak fixes.
3384         Remove some checks now that the internal pad is never NULL.
3385         Fix the case where linking pads without a target would create nasty
3386         criticals. Fixes #341029.
3387         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
3388         value of _set_target().
3389
3390         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
3391         (gst_ghost_pad_suite):
3392         Some more tests for creating and linking untargeted ghostpads.
3393
3394 2006-08-31  Edward Hervey  <edward@fluendo.com>
3395
3396         * docs/gst/gstreamer-sections.txt:
3397         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
3398         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
3399         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
3400         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
3401         (gst_ghost_pad_new_from_template),
3402         (gst_ghost_pad_new_no_target_from_template):
3403         * gst/gstghostpad.h:
3404         Refactored *_new() functions.
3405         Templates are now used as a g_object_new() parameter.
3406         Use template in _do_getcaps() if we don't have a target.
3407         Small documentation cleanups.
3408         Added two new constructors:
3409         gst_ghost_pad_new_from_template()
3410         gst_ghost_pad_new_no_target_from_template()
3411         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
3412         (gst_ghost_pad_suite):
3413         Added tests for new ghostpad instanciation functions.
3414
3415         API additions: gst_ghost_pad_new_from_template,
3416         gst_ghost_pad_new_no_target_from_template
3417
3418 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
3419
3420         * docs/random/ensonic/profiling.txt:
3421           Ideas about qos profiling.
3422
3423 2006-08-29  Wim Taymans  <wim@fluendo.com>
3424
3425         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
3426         Code cleanups.
3427         Fix memleak.
3428
3429 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
3430
3431         * gst/gstxml.c:
3432           Improve and detypofy docs.
3433
3434         * tests/check/Makefile.am:
3435         * tests/check/gst/.cvsignore:
3436         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
3437           Add a basic test suite for GstXML.
3438
3439 2006-08-29  Wim Taymans  <wim@fluendo.com>
3440
3441         * gst/gstelement.c: (activate_pads), (clear_caps),
3442         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
3443         Clear the pad caps when the element shut down all of the pads and
3444         is not streaming data that could modify the caps. 
3445         Fixes #352958.
3446
3447 2006-08-28  Michael Smith  <msmith@fluendo.com>
3448
3449         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3450           Revert previous change; I misunderstood single-segment mode.
3451
3452 2006-08-28  Michael Smith  <msmith@fluendo.com>
3453
3454         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3455           Unset DISCONT on buffers when using single-segment mode.
3456
3457 2006-08-28  Wim Taymans  <wim@fluendo.com>
3458
3459         * gst/gstcaps.c: (gst_caps_merge_structure):
3460         * gst/gstcaps.h:
3461         Fix docs and indentation again.
3462
3463         * tests/check/gst/gstquery.c: (GST_START_TEST):
3464         Fix leak in tests and add some more tests.
3465
3466 2006-08-28  Edward Hervey  <edward@fluendo.com>
3467
3468         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3469         Inform GstSegment of the last stop position in order for the current
3470         segment to have a proper duration if it doesn't have a specific stop
3471         position from which a duration could be calculated.
3472         This bug was noticeable when a non-flushing, non-update new segment was
3473         followed by another segment (all buffers from the new segment were being
3474         dropped).
3475
3476 2006-08-28  Wim Taymans  <wim@fluendo.com>
3477
3478         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
3479         Small comment update.
3480
3481         * plugins/elements/gstidentity.c: (gst_identity_class_init),
3482         (gst_identity_transform_ip):
3483         Drop-probability is broken, mention this in the code with a 
3484         FIXME and also in the property description.
3485         Make silent also be silent about the drop messages.
3486
3487 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
3488
3489         * docs/manual/appendix-win32.xml:
3490           Remove mention of popt, we don't depend on that any
3491           longer (#353136). Add some comments pointing out that
3492           this section is slightly outdated.
3493
3494 2006-08-28  Wim Taymans  <wim@fluendo.com>
3495
3496         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
3497
3498         * gst/gstquery.c: (gst_query_new_segment):
3499         * tests/check/gst/gstquery.c: (GST_START_TEST):
3500         Initialize variables when creating a new segment query.
3501         Fixes #353121.
3502
3503 2006-08-28  Wim Taymans  <wim@fluendo.com>
3504
3505         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
3506
3507         * gst/gstelement.c: (gst_element_get_bus):
3508         * tests/check/gst/gstelement.c: (GST_START_TEST):
3509         Check for NULL before _reffing the bus. Fixes #353122.
3510
3511 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
3512
3513         * docs/manual/basics-bus.xml:
3514           Docs update: fix wrong callback return value explanation; add
3515           some lines about the implicit relationship between main loop
3516           and main context; remove duplicate main loop variable declaration.
3517
3518 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
3519
3520         * tests/check/gst/gstcaps.c: (GST_START_TEST):
3521           Don't leak caps in unit test; add a few more simple
3522           checks. 
3523
3524 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
3525
3526         * docs/gst/gstreamer-sections.txt:
3527         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
3528         (gst_caps_structure_is_subset), (gst_caps_merge),
3529         (gst_caps_merge_structure):
3530         * gst/gstcaps.h:
3531         * libs/gst/base/gstbasetransform.c:
3532         (gst_base_transform_transform_caps):
3533         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
3534           implement caps merging (fixes #352580)
3535
3536 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
3537
3538         * tools/Makefile.am:
3539         * tools/gst-plot-timeline.py:
3540           add debug-log plotting developer tool (#340674)
3541
3542 2006-08-23  Wim Taymans  <wim@fluendo.com>
3543
3544         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
3545         (gst_pad_stop_task):
3546         Improve debugging for task functions.
3547
3548         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
3549         (gst_task_start), (gst_task_pause), (gst_task_join):
3550         Make sure that the task function started and finished after a 
3551         join(). 
3552         Don't try to push the task function on the threadpool multiple
3553         times.
3554         Improve the g_warning message with some useful suggestions
3555         about how to fix the problem. 
3556
3557 2006-08-23  Wim Taymans  <wim@fluendo.com>
3558
3559         * gst/gstutils.c: (gst_pad_proxy_getcaps):
3560         Handle RESYNC correctly in _proxy_getcaps.
3561
3562 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
3563
3564         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
3565         (gst_xml_parse_memory), (gst_xml_get_element):
3566           Chain up to parent class in dispose function and also
3567           unref the elements in the toplevel_elements GList.
3568           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
3569           Always return a reference in gst_xml_get_element() rather
3570           than only sometimes.
3571
3572         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
3573           Don't leak GstXml object.
3574
3575 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
3576
3577         * docs/gst/gstreamer-sections.txt:
3578         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
3579         (gst_caps_merge):
3580         * gst/gstcaps.h:
3581         * libs/gst/base/gstbasetransform.c:
3582         (gst_base_transform_transform_caps):
3583           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
3584           in a better way
3585
3586 2006-08-21  Edward Hervey  <edward@fluendo.com>
3587
3588         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
3589         Implement GObject::dispose virtual method in GstXML so we can free the
3590         top_elements GList.
3591
3592 2006-08-21  Wim Taymans  <wim@fluendo.com>
3593
3594         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
3595         (gst_buffer_create_sub):
3596         Copy duration/offset_end/caps when creating a subbuffer of the
3597         complete parent.
3598         Make the subbuffer read-only when we make the metadata writable for
3599         now. Fixes #351768.
3600
3601         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
3602         Added check for metadata copy when creating subbuffers.
3603
3604 2006-08-21  Edward Hervey  <edward@fluendo.com>
3605
3606         * libs/gst/base/gstbasetransform.c:
3607         (gst_base_transform_buffer_alloc):
3608         Only call downstream buffer_alloc if transform element is passthrough
3609         or always_in_place. Closes #350449.
3610
3611 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
3612
3613         * ChangeLog:
3614           ChangeLog surgery to add comments to previous changes
3615
3616 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
3617
3618         * gst/gst.c:
3619           Add comments
3620
3621         * gst/gstpad.c: (gst_pad_set_active):
3622           Be more verbose in the log
3623
3624         * libs/gst/base/gstbasetransform.c:
3625         (gst_base_transform_transform_caps):
3626           Simplify caps to get rid of duplicates, fixes #345444
3627
3628 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
3629
3630         * gst/gstvalue.c:
3631         * gst/gstvalue.h:
3632           Use these optimizations only internally.
3633
3634 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
3635
3636         * gst/gstvalue.c: (gst_value_compare_list),
3637         (gst_value_compare_fraction_range),
3638         (gst_value_intersect_fraction_fraction_range),
3639         (gst_value_intersect_fraction_range_fraction_range),
3640         (gst_value_subtract_fraction_fraction_range),
3641         (gst_value_subtract_fraction_range_fraction_range),
3642         (gst_value_get_compare_func), (gst_value_compare),
3643         (gst_value_compare_with_func):
3644         * gst/gstvalue.h:
3645           Saves the expensive lookup of the compare function in many cases
3646          (#345444)
3647
3648 2006-08-18  Edward Hervey  <edward@fluendo.com>
3649
3650         * tests/check/gst/gstinfo.c: (gst_info_suite):
3651         Disable test that require gstdebug if it wasn't built in core.
3652
3653 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
3654
3655         * docs/random/ensonic/logging.txt:
3656           update ideas
3657           
3658         * gst/gstinfo.c: (gst_debug_log_default):
3659           reorder fields, save some columns, add optional color codes for log
3660           levels
3661
3662 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
3663
3664         * docs/random/ensonic/logging.txt:
3665           add ideas about making the logs a bit more useful
3666
3667 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
3668
3669         * docs/pwg/advanced-events.xml:
3670         * docs/pwg/titlepage.xml:
3671           Update for 0.10 API (#340627). Add myself
3672           to authors list.
3673
3674 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
3675
3676         * docs/libs/gstreamer-libs-docs.sgml:
3677         * docs/libs/gstreamer-libs-sections.txt:
3678         * libs/gst/check/gstbufferstraw.c:
3679           Make gstcheck stuff show up in docs (still needs to
3680           be documented properly though).
3681
3682 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
3683
3684         * docs/gst/gstreamer-sections.txt:
3685         * gst/Makefile.am:
3686         * gst/gst.c: (init_post):
3687         * gst/gst_private.h:
3688         * gst/gstquark.c: (_priv_gst_quarks_initialize):
3689         * gst/gstquark.h:
3690         * gst/gstquery.c: (gst_query_new_position),
3691         (gst_query_set_position), (gst_query_parse_position),
3692         (gst_query_new_duration), (gst_query_set_duration),
3693         (gst_query_parse_duration), (gst_query_new_convert),
3694         (gst_query_set_convert), (gst_query_parse_convert),
3695         (gst_query_new_segment), (gst_query_set_segment),
3696         (gst_query_parse_segment), (gst_query_new_seeking),
3697         (gst_query_set_seeking), (gst_query_parse_seeking):
3698         Add internal helpers for pre-registering quarks from static strings
3699         and using the quark values directly instead of looking them up when
3700         creating and parsing queries. Can be used for event construction too.
3701         Closes #350432.
3702
3703 2006-08-16  Wim Taymans  <wim@fluendo.com>
3704
3705         * gst/gstbin.c:
3706         Fix bogus docs.
3707
3708 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
3709
3710         * gst/gstutils.c: (gst_util_set_value_from_string):
3711           Fix memleak (#351502).
3712
3713         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
3714           Add unit test for most of gst_util_set_value_from_string()
3715           (not that one would want to encourage use of this function).
3716
3717 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
3718
3719         * libs/gst/check/gstcheck.h:
3720           Use const gchar * variables in fail_unless_equals_string
3721           macro to avoid compiler warnings (and don't use tabs for
3722           indenting).
3723
3724 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
3725
3726         * tools/gst-launch.c: (print_tag):
3727           More space on the left for the tag names, to cater
3728           for the 'extended comment' tag (not touching the
3729           string for the first line since it's translated).
3730
3731 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
3732
3733         * libs/gst/check/gstcheck.h:
3734           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
3735           print something when they fail.
3736
3737 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
3738
3739         * docs/gst/gstreamer-sections.txt:
3740         * gst/gsttaglist.c: (_gst_tag_initialize):
3741         * gst/gsttaglist.h:
3742           API: add GST_TAG_EXTENDED_COMMENT (#350935).
3743           Also change merge function for GST_TAG_COMMENT to
3744           use_first.
3745
3746 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
3747
3748         * gst/gstinfo.c: (gst_debug_print_object):
3749           Make GST_PTR_FORMAT print messages as well.
3750
3751         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
3752         (GST_START_TEST), (gst_info_suite):
3753           More tests.
3754
3755 2006-08-14  Edward Hervey  <edward@fluendo.com>
3756
3757         * gst/gstelementfactory.c: (gst_element_register):
3758         If the GstElementClass doesn't have a GstElementDetails with all fields
3759         filled up correctly (longname, description AND author), then error out
3760         nicely instead of crashing.
3761
3762 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
3763
3764         * gst/gststructure.c:
3765           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
3766
3767         * gst/gstvalue.h:
3768           Expand on the difference between arrays and lists as we use them.
3769           
3770 2006-08-14  Wim Taymans  <wim@fluendo.com>
3771
3772         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
3773         If the parent state change function failed, don't assume we can safely
3774         stop the source, this will be done when the pads are deactivated.
3775
3776 2006-08-14  Wim Taymans  <wim@fluendo.com>
3777
3778         * gst/gstbuffer.c:
3779         * gst/gsttask.c: (gst_task_join):
3780         Small doc updates.
3781
3782         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
3783         (gst_pad_stop_task):
3784         When pad (de)activation failed for some reason, restore the old
3785         activation mode and set the pad to flushing instead of assuming the
3786         pad is deactivated.
3787         If the _task_join() failed, reinstall the task on the pad so that it can
3788         be stopped later and return an error.
3789
3790 2006-08-11  Andy Wingo  <wingo@pobox.com>
3791
3792         * configure.ac:
3793         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
3794         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
3795         is only for users of API that don't want to see deprecated
3796         functions in the headers; people that want to compile out
3797         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
3798         CFLAGS. Fixes the build of multifdsink, or will soon..
3799
3800 2006-08-11  Wim Taymans  <wim@fluendo.com>
3801
3802         * docs/gst/gstreamer-sections.txt:
3803         Add GstClockClass vmethod docs.
3804
3805         * gst/gstcaps.h:
3806         Mark #endif with comment for associated #if
3807
3808         * gst/gstclock.c: (gst_clock_id_wait):
3809         * gst/gstclock.h:
3810         Add vmethod wait_jitter to avoid an unneeded _get_time() for
3811         most clock implementations.
3812         Document vmethods.
3813         Flesh out docs about resolution methods.
3814         API: GstClockClass::wait_jitter
3815
3816         * gst/gstsystemclock.c: (gst_system_clock_class_init),
3817         (gst_system_clock_async_thread),
3818         (gst_system_clock_id_wait_jitter_unlocked),
3819         (gst_system_clock_id_wait_jitter):
3820         Use base class wait_jitter variant for improved performance
3821         due to less clock polling.
3822
3823 2006-08-11  Edward Hervey  <edward@fluendo.com>
3824
3825         * gst/gst.c: (gst_init_check), (init_post):
3826         Set gst as being initialized before scanning/updating the registry,
3827         since there might be my python plugin loader that calls gst_init() and
3828         we don't want to loop back in.
3829         Closes #350879
3830
3831 2006-08-11  Wim Taymans  <wim@fluendo.com>
3832
3833         * docs/design/part-qos.txt:
3834         Bring docs in line with the code. Mostly the sign of the jitter was
3835         wrong in the docs. Fixes #349943.
3836
3837         * gst/gstclock.c:
3838         Fix the docs for the jitter.
3839
3840         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
3841         (gst_event_parse_tag), (gst_event_new_buffer_size),
3842         (gst_event_parse_buffer_size), (gst_event_parse_qos),
3843         (gst_event_new_seek), (gst_event_parse_seek),
3844         (gst_event_new_navigation):
3845         Make sure the GstStructure has no parent when creating custom
3846         events.
3847         Add some more argument checking so that we avoid 0.0 rates.
3848         Flesh out the docs for the QoS event some more.
3849
3850 2006-08-11  Wim Taymans  <wim@fluendo.com>
3851
3852         * docs/gst/gstreamer-sections.txt:
3853         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
3854         (ensure_current_registry_forking), (ensure_current_registry),
3855         (parse_one_option), (parse_goption_arg), (gst_deinit),
3856         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
3857         * gst/gst.h:
3858         Doc updates.
3859         Added API and command line option to disable registry forking in
3860         addition to the environment variable.
3861         Constify some static arrays.
3862         Added some more debug.
3863         Don't deinit twice.
3864         API: gst_registry_fork_is_enabled()
3865         API: gst_registry_fork_set_enabled()
3866         API: --gst-disable-registry-fork command line option
3867         Fixes #348918.
3868
3869 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
3870
3871         * gst/gst.c: (gst_init):
3872           Fix typo in error message.
3873
3874 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
3875
3876         * libs/gst/controller/gstcontroller.h:
3877           fix ABI size-correction
3878
3879         * tests/check/libs/gdp.c: (gst_dp_suite):
3880           make tests that use deprecated API conditional
3881
3882 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
3883
3884         * docs/libs/gstreamer-libs-sections.txt:
3885         * libs/gst/controller/gstcontroller.c:
3886         (_gst_controller_get_property), (_gst_controller_set_property),
3887         (_gst_controller_init), (_gst_controller_class_init):
3888         * libs/gst/controller/gstcontroller.h:
3889         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
3890         (gst_object_set_control_rate):
3891           API: add gst_object_{s,g}et_control_rate(), add private data section,
3892           fix docs
3893
3894         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
3895         * libs/gst/dataprotocol/dataprotocol.h:
3896           add deprecation guards to make gtk-doc happy and allow disabling cruft
3897
3898 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
3899
3900         * tests/check/Makefile.am:
3901         * tests/check/gst/.cvsignore:
3902           Let's enable the new unit test as well.
3903
3904 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
3905
3906         * configure.ac:
3907         * docs/gst/gstreamer-sections.txt:
3908         * gst/gstconfig.h.in:
3909         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
3910         (_gst_info_printf_extension_ptr),
3911         (_gst_info_printf_extension_segment):
3912           API: add GST_SEGMENT_FORMAT, which is a printf extension we
3913           register that lets us easily dump GstSegments into debug
3914           logs (#350419).
3915
3916         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
3917         (info_segment_format_printf_extension), (gst_info_suite):
3918           Add simple unit test that logs a bunch of different segments (not
3919           valgrinded at the moment because of leaks in
3920           gst_debug_add_log_function).
3921
3922 2006-08-09  Edward Hervey  <edward@fluendo.com>
3923
3924         * libs/gst/base/gstbasetransform.c:
3925         (gst_base_transform_buffer_alloc):
3926         Even if we can't figure out the proper format to request downstream,
3927         call buffer_alloc() downstream with the input parameters without setting
3928         the caps on the srcpad. This will force negotiation in the chain
3929         function.
3930         Closes #350449
3931
3932 2006-08-08  Edward Hervey  <edward@fluendo.com>
3933
3934         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
3935         Unlinking from a pad without a target is now a perfectly valid case
3936         which should NOT raise an assertion.
3937         This case would happen if a linked ghostpad its target set to NULL after
3938         it was previously linked.
3939
3940 2006-08-08  Edward Hervey  <edward@fluendo.com>
3941
3942         * tests/check/libs/gdp.c:
3943         Also comment out the test (see below).
3944
3945 2006-08-08  Edward Hervey  <edward@fluendo.com>
3946
3947         * tests/check/libs/gdp.c: (gst_dp_suite):
3948         Use the architecture information from config.h and not gcc macros
3949         in order to properly disable a test that fails on PPC64.
3950
3951 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
3952
3953         * gst/gstelement.c: (gst_element_remove_pad):
3954           Don't crash printing the warning if the pad has no parent.
3955
3956 2006-08-02  Wim Taymans  <wim@fluendo.com>
3957
3958         * libs/gst/dataprotocol/dataprotocol.c:
3959         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
3960         (gst_dp_crc), (gst_dp_header_payload_length),
3961         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
3962         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
3963         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
3964         (gst_dp_event_from_packet), (gst_dp_validate_header),
3965         (gst_dp_validate_payload):
3966         Make debug category static
3967         Constify the crc table.
3968         Do some more arg checking in public functions.
3969         Fix some docs and do some small cleanups.
3970
3971         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
3972         Add some more checks to see if GDP deals with bogus input.
3973
3974 2006-07-31  Wim Taymans  <wim@fluendo.com>
3975
3976         * gst/gstvalue.c: (gst_value_compare_list):
3977         Fix GstValueList comparison code. Fixes #347293.
3978
3979         * tests/check/gst/gstvalue.c: (GST_START_TEST):
3980         Check to test GstValueList comparison.
3981
3982 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
3983
3984         * gst/gstelementfactory.c: (gst_element_factory_create):
3985         Remove unnecessary ref/unref pair
3986
3987         * gst/parse/grammar.y:
3988         Make sure to free the parse buffer on all code paths.
3989         Move a g_free up to the error handler where it's easier to see.
3990
3991         * tests/check/gst/gstevent.c: (test_event):
3992         Extending timeout for downstream travelling events to 10 seconds to
3993         hopefully avoid intermittent failure on the buildbots.
3994
3995         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
3996         Don't manually set the state of the src element - it will happen as a
3997         natural consequence of the pipeline changing state, and that way it
3998         will do it in the right order too.
3999
4000 2006-07-31  Wim Taymans  <wim@fluendo.com>
4001
4002         * libs/gst/base/gstbasetransform.c:
4003         (gst_base_transform_buffer_alloc):
4004         Use OBJECT_LOCK and refcounting to get the pad caps in the
4005         buffer_alloc function because the caps could change while we are
4006         busy with them. Fixes #349105
4007
4008 2006-07-31  Wim Taymans  <wim@fluendo.com>
4009
4010         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
4011         Protect _PAD_CAPS with OBJECT_LOCK.
4012
4013 2006-07-31  Wim Taymans  <wim@fluendo.com>
4014
4015         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
4016         (gst_pad_get_property), (gst_pad_activate_pull),
4017         (gst_pad_activate_push), (gst_pad_set_blocked_async),
4018         (gst_pad_set_activate_function),
4019         (gst_pad_set_activatepull_function),
4020         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
4021         (gst_pad_set_getrange_function),
4022         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
4023         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
4024         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
4025         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
4026         (gst_pad_set_acceptcaps_function),
4027         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
4028         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
4029         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
4030         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
4031         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
4032         (gst_pad_configure_sink), (gst_pad_configure_src),
4033         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
4034         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
4035         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
4036         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
4037         (gst_pad_send_event):
4038         Use _DEBUG_OBJECT when it makes sense.
4039         Protect GST_PAD_CAPS with the OBJECT_LOCK.
4040         Small cleanups and code reflows.
4041         Avoid caps refcounting in _accept_caps.
4042         Refactor alloc_buffer so that the code performed on the peer is in a
4043         separate function. Also if the pad does not implement a buffer alloc
4044         function, we should still check if the pad is flushing before falling
4045         back to the default allocator.
4046
4047 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
4048
4049         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
4050         Make all uses of identity and fakesink have silent=true to avoid
4051         serialising every passing data structure, which is breaking tests
4052         on FC4 for some unknown reason.
4053
4054 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
4055
4056         * gst/parse/Makefile.am:
4057         * gst/parse/grammar.y:
4058         * gst/parse/parse.l:
4059           Reverted previous patch as it required to bump the flex dependency to
4060           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
4061
4062 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
4063
4064         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
4065
4066         * gst/parse/Makefile.am:
4067         * gst/parse/grammar.y:
4068         * gst/parse/parse.l:
4069           push & pop the state of the lexer for reentrant use case
4070           Fixes #349180
4071
4072 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
4073
4074         * libs/gst/base/gstbasesrc.h:
4075           Note in the docs that the ::newsegment vfunc is not actually used by
4076           GstBaseSrc.
4077
4078 2006-07-28  Wim Taymans  <wim@fluendo.com>
4079
4080         * libs/gst/base/gstcollectpads.c:
4081         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
4082         (gst_collect_pads_clear), (gst_collect_pads_flush),
4083         (gst_collect_pads_event), (gst_collect_pads_chain):
4084         When flushing a pad, also clear the queued buffer so that we don't
4085         accidentally use it when we shouldn't.
4086         Fix leaks by inreffing incomming buffer.
4087         Flush out queued buffers in case of errors.
4088         Fixes #347452.
4089
4090 2006-07-28  Wim Taymans  <wim@fluendo.com>
4091
4092         * docs/random/phonon-gst:
4093         Random notes about a Phonon backend.
4094
4095 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
4096
4097         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
4098         Extra debug output
4099         * tests/check/libs/gdp.c: (gst_dp_suite):
4100         Take a whack at fixing the ppc compile using a different define to
4101         disable the broken test.
4102
4103         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
4104         Remove excess g_print()
4105
4106 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
4107
4108         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
4109         Oops, meant to uncomment this line too to dampen the noise a bit.
4110
4111 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
4112
4113         * gst/parse/grammar.y:
4114         * gst/parse/parse.l:
4115         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
4116         (GST_START_TEST), (parse_suite):
4117         Fix some of the leaks exposed by extending the parse-launch testsuite,
4118         and move the 3 I can't figure out into a separate test that won't run
4119         the pipelines unless the appropriate line is uncommented.
4120
4121 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
4122
4123         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
4124           Requesting 0 bytes before the end of the file should result in
4125           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
4126           unit test.
4127
4128 2006-07-27  Wim Taymans  <wim@fluendo.com>
4129
4130         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
4131         Fix useless assert, a uint is always positive.
4132
4133         * gst/gststructure.c: (gst_structure_nth_field_name),
4134         (gst_structure_foreach), (gst_structure_map_in_place):
4135         Check input arguments for public functions to avoid obvious crashes.
4136
4137         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
4138         * plugins/elements/gstfakesink.h:
4139         Do less useless typechecking.
4140
4141 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
4142
4143         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
4144           Do not use mmap() by default since there are a number of error
4145           conditions that we would like to handle in a non-fatal way that
4146           will result in a SIGBUS if we use mmap(). Examples: external
4147           devices (USB harddrive, portable music player) being unplugged
4148           while in use; file on mounted CD/DVD that can't be read because
4149           the medium is partly damaged. Fixes #348455 and #348475.
4150
4151 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
4152
4153         * gst/gstquery.h:
4154         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
4155         rates are a gdouble
4156
4157 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
4158
4159         * gst/gstregistry.c:
4160           Move big documentation comment into class section header, so that it
4161           appears in the API docs.
4162
4163 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
4164
4165         * docs/gst/gstreamer-sections.txt:
4166         Oops. Commit the docs additions too for new API.
4167         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
4168
4169 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
4170
4171         * gst/gststructure.c: (gst_structure_id_set),
4172         (gst_structure_id_set_valist):
4173         * gst/gststructure.h:
4174         Add API for setting values into structures without performing
4175         a quark lookup, if the appropriate quark is already known.
4176
4177         API: gst_structure_id_set
4178         API: gst_structure_id_set_valist
4179
4180         * gst/parse/grammar.y:
4181         * gst/parse/parse.l:
4182         Remove some dead code shown by the coverage information.
4183         Don't throw a critical g_warning when encountering a syntax error,
4184         just warn and let the normal error path handle it.
4185
4186         * plugins/elements/gstelements.c:
4187         Bump the rank of filesink up to PRIMARY so that it is preferred over
4188         gnomevfssink for file:// sink uri's
4189
4190         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
4191         (GST_START_TEST), (run_delayed_test),
4192         (gst_parse_test_element_base_init),
4193         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
4194         (gst_parse_test_element_change_state),
4195         (gst_register_parse_element), (parse_suite):
4196         Beef up the tests for parse syntax to check that more error cases
4197         fail as they are supposed to. Increases the test coverage a bit.
4198
4199 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
4200
4201         * docs/manual/basics-elements.xml:
4202           Fix gst_element_link() example.
4203
4204         * gst/gstutils.c:
4205           Mention in API docs that one should usually gst_bin_add()
4206           elements to a bin or pipeline before doing the linking.
4207           
4208 2006-07-26  Wim Taymans  <wim@fluendo.com>
4209
4210         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
4211         (gst_subbuffer_get_type), (gst_buffer_create_sub):
4212         Avoid function call for known types by keeping the buffer and
4213         subbuffer GType global.
4214
4215         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
4216         Random silly optimisations in read() path.
4217
4218 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
4219
4220         * tools/gst-launch.c: (main):
4221           If the top-level of the parse is a normal bin, it doesn't do the
4222           right logic to run as a top-level element, so place it inside a
4223           pipeline.
4224
4225 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
4226
4227         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
4228           Remove superfluous g_object_notify() calls, GObject does
4229           that for us automatically.
4230
4231 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
4232
4233         * gst/gstinfo.h:
4234           on Win32, use dllspec to export the debug category symbols
4235
4236 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
4237
4238         * gst/gsttaglist.c: (_gst_tag_initialize):
4239           Allow more than one GST_TAG_IMAGE per taglist.
4240
4241 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4242
4243         * gst/gstminiobject.c:
4244           update docs
4245         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
4246         (gst_fd_src_create):
4247           log recurring events at LOG level
4248           add more debug for when the fd gets set
4249
4250 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
4251
4252         * gst/gstparse.c: (gst_parse_launch):
4253           Also remove reentrance checks if flex is MT safe (#348179)
4254          Fix my empty ChangeLog entry below
4255
4256 2006-07-21  Andy Wingo  <wingo@pobox.com>
4257
4258         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
4259
4260         * libs/gst/check/Makefile.am
4261         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
4262         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
4263         * libs/gst/check/gstbufferstraw.h:
4264         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
4265         functions, thus proving I am still a GStreamer haxor. OK I wrote
4266         them a long time ago, but anyways.
4267
4268 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
4269
4270         * configure.ac:
4271         * gst/gstparse.c: (gst_parse_launch):
4272           Check for flex version and omit mutex if we have a MT save flex
4273           (fixes #348179)
4274
4275 2006-07-21  Wim Taymans  <wim@fluendo.com>
4276
4277         * gst/gstparse.c: (gst_parse_launch):
4278         Protect recursive calls to _parse with a recursive mutex
4279         and busy flag.
4280
4281 2006-07-21  Wim Taymans  <wim@fluendo.com>
4282
4283         * tests/check/gst/gstpad.c: (GST_START_TEST):
4284         Fix leak in test.
4285
4286 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
4287
4288         * gst/gstparse.c: (gst_parse_launch):
4289           Do not hang on recursive usage of gst_parse_launch()
4290
4291 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
4292
4293         * gst/gsttaglist.c:
4294           Add some more docs, comments and FIXME 0.11s here and there
4295           and also fix some typos.
4296
4297 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
4298
4299         * gst/gstsegment.h:
4300           Convert tabs to spaces for better readability. 
4301
4302 2006-07-20  Edward Hervey  <edward@fluendo.com>
4303
4304         * tests/check/libs/gdp.c: (gst_dp_suite):
4305         the test_buffer test fails at line 140 on ppc64 at the following
4306         check:
4307         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
4308                 GST_BUFFER_FLAG_IN_CAPS),
4309                 "GST_BUFFER_IN_CAPS flag should have been copied !");
4310         See bug #348114 for more details.
4311
4312 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
4313
4314         * docs/pwg/advanced-scheduling.xml:
4315         * gst/gstpad.c:
4316           Fix typos (#348000).
4317
4318 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
4319
4320         * docs/pwg/intro-basics.xml:
4321           Fix wrong links (#347927).
4322
4323 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
4324
4325         * gst/gstregistry.h:
4326         * gst/gstregistryxml.c: (load_feature),
4327         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
4328         * win32/common/config.h:
4329           make --disable-index work (#342564)
4330
4331 2006-07-18  Wim Taymans  <wim@fluendo.com>
4332
4333         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4334
4335         * gst/Makefile.am:
4336         * gst/gsttrace.h:
4337         The attached patch adds two missing defines to gsttrace.h when tracing
4338         is disabled.  It also corrects one existing define.
4339         Fixes #347756.
4340
4341 2006-07-17  Wim Taymans  <wim@fluendo.com>
4342
4343         * docs/gst/gstreamer-sections.txt:
4344         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
4345         * gst/gst.h:
4346         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
4347         Add two functions to check and change the SIGSEGV behaviour
4348         when loading plugins.
4349         Don't mess with the SIGSEGV handler when we were told not to.
4350         Fixes #347794.
4351         API: gst_segtrap_is_enabled
4352         API: gst_segtrap_set_enabled
4353
4354 2006-07-14  Wim Taymans  <wim@fluendo.com>
4355
4356         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
4357         * tests/check/elements/filesrc.c: (GST_START_TEST):
4358         Revert fix for regression in #347408 after release.
4359
4360 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
4361
4362         Patch by: Antoine Tremblay <hexa00 at gmail com>
4363
4364         * gst/gstutils.c: (gst_element_unlink):
4365           Free iterator when done (#347311).
4366
4367         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4368           And add a test case for this.
4369
4370 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
4371
4372         * configure.ac:
4373         Bump nano back to CVS
4374
4375 === release 0.10.9 ===
4376
4377 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
4378
4379         * configure.ac:
4380           releasing 0.10.9, "On the road again"
4381
4382 2006-07-13  Wim Taymans  <wim@fluendo.com>
4383
4384         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
4385         * tests/check/elements/filesrc.c: (GST_START_TEST):
4386         Revert pull-0 fix for release. Disable check. Fixes #347408.
4387
4388 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4389
4390         * libs/gst/dataprotocol/dataprotocol.c:
4391         (gst_dp_event_from_packet_1_0):
4392           Fixes #347337: failure to deserialize event packets with
4393           empty payload (only event type)
4394
4395 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4396
4397         * gst/Makefile.am:
4398           do not install a .c file in the header directory
4399
4400 2006-07-13  Edward Hervey  <edward@fluendo.com>
4401
4402         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
4403         GhostPad no longer implicitely use the padtemplates of the targets.
4404         Fixes #347384
4405
4406 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
4407
4408         * gst/gstvalue.c: (gst_value_compare_list),
4409         (gst_value_compare_array), (_gst_value_initialize):
4410         * tests/check/gst/gstvalue.c: (GST_START_TEST):
4411         Make GstValueArray comparison be order dependent as designed.
4412         Add checks for value lists and value array comparisons.
4413         Fixes #347221
4414
4415 2006-07-11  Edward Hervey  <edward@fluendo.com>
4416
4417         * gst/gstbin.c: (activate_pads),
4418         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
4419         (gst_bin_change_state_func):
4420         (de)activate src pads before calling state_change on the childs.
4421         This is to avoid the case where a src ghostpad is blocked (holding the
4422         stream lock), which would block the deactivation of the ghostpad's
4423         target pad.
4424         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
4425         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
4426         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
4427         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
4428         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
4429         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
4430         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
4431         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
4432         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
4433         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
4434         (gst_ghost_pad_class_init),
4435         (gst_ghost_pad_internal_do_activate_push),
4436         (gst_ghost_pad_internal_do_activate_pull),
4437         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
4438         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
4439         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
4440         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
4441         GhostPads now create their internal GstProxyPad at creation (and not
4442         when they're linked, as it was being done previously).
4443         The internal and target pads are linked straight away.
4444         The data will also travel through the other pad in order to make
4445         pad blocking and probes non-hackish (the probe/block now really happens
4446         on the GhostPad and not on the target).
4447         * gst/gstpad.c: (gst_pad_set_blocked_async),
4448         (gst_pad_link_prepare), (gst_pad_push_event):
4449         Remove previous ghostpad cruft.
4450         * gst/gstutils.c: (gst_pad_add_data_probe),
4451         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
4452         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
4453         (gst_pad_remove_buffer_probe):
4454         Remove previous ghost pad cruft.
4455         Added more detailed debug statements.
4456         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
4457         Fix the testsuite for refcounting changes.
4458         The comments about who has references were correct, but the refcount
4459         being checked wasn't the same (!?!).
4460
4461         Fixes #341029
4462
4463 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
4464
4465         * docs/gst/gstreamer-sections.txt:
4466         * gst/gstconfig.h.in:
4467         More docs for configuration options, add docs to gtk-doc.
4468
4469 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
4470
4471         * gst/Makefile.am:
4472         * gst/gstconfig.h.in:
4473         * win32/common/config.h:
4474         Fix build when disabling tracing (fixes #344016). Also start to document
4475         the defines that disable the sub-systems.
4476
4477 2006-07-10  Edward Hervey  <edward@fluendo.com>
4478
4479         * gst/gst.c: (ensure_current_registry_forking):
4480         let's make valgrind happy...
4481
4482 2006-07-09  Wim Taymans  <wim@fluendo.com>
4483
4484         * gst/gstelement.c: (activate_pads),
4485         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
4486         Better pad activation code: Reset the collect value too on resync.
4487         Add some comments.
4488
4489 2006-07-09  Wim Taymans  <wim@fluendo.com>
4490
4491         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
4492         (gst_pad_activate_push):
4493         Use some more macros where it makes sense.
4494         Allow pad mode switching instead of asserting. When a pad
4495         is activated in one mode and we activate it in another, 
4496         deactivate it first before activating it in a different mode.
4497         Fixes #329198.
4498
4499 2006-07-08  Andy Wingo  <wingo@pobox.com>
4500
4501         * tools/gst-launch.c (main): Handle err == NULL.
4502
4503         * gst/gst.c (init_post, ensure_current_registry)
4504         (ensure_current_registry_forking)
4505         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
4506         factoring out the registry scanning into separate functions. Don't
4507         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
4508         Better environment var name/interface suggestions accepted.
4509
4510 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
4511
4512         * gst/gstobject.c: (gst_object_set_name_default),
4513         (gst_object_set_name):
4514           Random micro-optimisation: don't use a hash table
4515           with strings as keys and the usual strdup/strcmp
4516           involved, but rather just use the GQuark of the
4517           type name as key, since it needs to be looked up
4518           anyway to get the type name string.
4519
4520         * tests/check/gst/gstobject.c: (GST_START_TEST):
4521           Fix various leaks.
4522
4523 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
4524
4525         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
4526         (gst_bin_iterate_all_by_interface):
4527           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
4528           GTypes are gulongs and thus the top 4 bytes might be cut
4529           off on some platforms when doing GPOINTER_TO_INT, leading
4530           to invalid GTypes and bad things happening (see RH bug #179654).
4531           Also add a check to make sure the type passed in is really
4532           an interface type.
4533
4534 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
4535
4536         * .cvsignore:
4537           Ignore more.
4538
4539 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
4540
4541         * Makefile.am:
4542         * configure.ac:
4543         * gst-element-check.m4:
4544         * gst-element-check.m4.in:
4545           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
4546           instead of the unversioned gst-inspect (#324176, #168659).
4547
4548 2006-07-06  Wim Taymans  <wim@fluendo.com>
4549
4550         * gst/gstmessage.h:
4551         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
4552         warnings.
4553
4554 2006-07-06  Wim Taymans  <wim@fluendo.com>
4555
4556         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4557         (gst_base_src_wait), (gst_base_src_update_length),
4558         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
4559         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
4560         (gst_base_src_loop), (gst_base_src_start),
4561         (gst_base_src_activate_pull):
4562         Update docs.
4563         blocksize == 0 now means the default blocksize when working in push
4564         based mode.
4565         Remove some pointless asserts in _wait function.
4566         Fix offset/length calculations and EOS handling. We can now pull 0
4567         bytes as well, which is allowed.
4568         use _check_get_range() to decide if we can operate in _pull based
4569         mode.
4570         Fix refcounting leak when check_get_range function was not 
4571         implemented.
4572         API GstBaseSrc::blocksize range can be 0 too now (default)
4573
4574         * tests/check/elements/filesrc.c: (GST_START_TEST),
4575         (filesrc_suite):
4576         Added check to test _get_range() behaviour.
4577
4578 2006-07-06  Wim Taymans  <wim@fluendo.com>
4579
4580         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
4581         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
4582         (gst_pad_pull_range):
4583         * gst/gstpad.h:
4584         Lots of comments and docs added to the pad functions.
4585         Flesh out the expected behaviour of the get_range() functions.
4586
4587 2006-07-06  Wim Taymans  <wim@fluendo.com>
4588
4589         * gst/gstbus.h:
4590         * gst/gstclock.h:
4591         * gst/gstevent.h:
4592         * gst/gstiterator.h:
4593         * gst/gstpad.h:
4594         * gst/gstplugin.h:
4595         * gst/gsttask.h:
4596         Remove comma at end of enumerator list. 
4597
4598 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
4599
4600         * win32/common/libgstbase.def:
4601         * win32/common/libgstdataprotocol.def:
4602         * win32/common/libsgtreamer.def:
4603         Add new exported functions.
4604
4605 2006-07-05  Wim Taymans  <wim@fluendo.com>
4606
4607         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
4608         Add some more docs here and there.
4609
4610 2006-07-05  Wim Taymans  <wim@fluendo.com>
4611
4612         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
4613         (gst_base_sink_loop), (gst_base_sink_get_position):
4614         When operating in pull mode update the offset so that we
4615         read sequentially.
4616
4617 2006-07-05  Wim Taymans  <wim@fluendo.com>
4618
4619         * gst/gstregistryxml.c: (read_string):
4620         Avoid strdup. (will happen in libxml, but hey!)
4621
4622         * gst/gsturi.c:
4623         Add some more docs.
4624
4625 2006-07-05  Wim Taymans  <wim@fluendo.com>
4626
4627         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
4628         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
4629         (gst_buffer_suite):
4630         No point in checking if the size of the subbuffer > 0, the
4631         code handles it correclty as demonstrated by unit test.
4632         Also add a unit test for the zero sized _new_and_alloc and
4633         _copy. Fixes #346663.
4634
4635 2006-07-05  Wim Taymans  <wim@fluendo.com>
4636
4637         * libs/gst/base/gstbasetransform.c:
4638         (gst_base_transform_prepare_output_buffer),
4639         (gst_base_transform_buffer_alloc),
4640         (gst_base_transform_handle_buffer):
4641         Make sure the buffer we pass to transform_ip has a refcount of
4642         1 and thus is writable. Fixes #343196
4643
4644 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
4645
4646         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
4647         (gst_file_src_init), (gst_file_src_set_property),
4648         (gst_file_src_get_property), (gst_file_src_map_region):
4649         * plugins/elements/gstfilesrc.h:
4650         Add "sequential" property, off by default, to use madvise and hint
4651         to the kernel that sequential access is desired.
4652         Touch all retrieved pages by default to ensure they are pulled
4653         into memory. (Closes #345720)
4654
4655 2006-07-03  Wim Taymans  <wim@fluendo.com>
4656
4657         * docs/design/part-block.txt:
4658         * docs/design/part-dynamic.txt:
4659         Small docs updates.
4660
4661 2006-07-03  Wim Taymans  <wim@fluendo.com>
4662
4663         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
4664         (gst_caps_unref), (gst_static_caps_get),
4665         (gst_caps_append_structure):
4666         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
4667         Use GSlice when the glib we build against is >= 2.10
4668
4669 2006-07-03  Wim Taymans  <wim@fluendo.com>
4670
4671         * gst/gstelement.c: (gst_element_pads_activate):
4672         Small cleanup in pad activation code.
4673
4674 2006-07-03  Wim Taymans  <wim@fluendo.com>
4675
4676         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4677
4678         * gst/gst-i18n-app.h:
4679         * gst/gst-i18n-lib.h:
4680         * tools/gst-inspect.c: (print_signal_info):
4681         The attached patch will make the inclusion of gettext.h unconditional in
4682         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
4683         libintl.h in tools/gst-inspect.c.
4684         This allows use of --disable-nls again and fixes #344642.
4685
4686 2006-07-03  Edward Hervey  <edward@fluendo.com>
4687
4688         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
4689         Implement pad blocking on events according to part-block.txt.
4690         More comments on behaviour.
4691         * tests/check/gst/gstevent.c: (test_event):
4692         Send event to peer pad of blocked pad (else it will block).
4693
4694 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4695
4696         * libs/gst/check/gstcheck.c: (gst_check_message_error),
4697         (gst_check_run_suite):
4698           if we get the wrong message, give us the types as string
4699         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
4700           Fix a translatable
4701         * tests/check/elements/filesrc.c: (GST_START_TEST):
4702           add a test for trying to open a non-existing file
4703
4704 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4705
4706         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
4707           add a test for adding self
4708
4709 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4710
4711         * libs/gst/check/gstcheck.h:
4712           add some assert_ as alias for fail_unless_*
4713         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
4714           increase test coverage
4715
4716 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4717
4718         * Makefile.am:
4719           include lcov.mak for lcov coverage generation
4720         * tools/Makefile.am:
4721           add to CLEANFILES
4722
4723 2006-07-02  Edward Hervey  <edward@fluendo.com>
4724
4725         * tests/check/elements/.cvsignore:
4726         moaping
4727
4728 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4729
4730         * configure.ac:
4731           don't set CFLAGS and friends for gcov, done from GST_GCOV now
4732         * tests/check/Makefile.am:
4733           clean up gcov files
4734
4735 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4736
4737         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
4738           remove gst_caps_simplify; it was not declared and not used
4739           and deprecated in 0.8
4740
4741 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4742
4743         * docs/faq/gst-uninstalled:
4744           don't put empty paths on PYTHONPATH
4745         * docs/gst/gstreamer-sections.txt:
4746           remove some symbols that are not there
4747
4748 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4749
4750         * gst/gstcaps.c: (gst_caps_compare_structures):
4751           whitespace fixes
4752         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
4753         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
4754           add more tests
4755
4756 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4757
4758         * libs/gst/dataprotocol/Makefile.am:
4759           build dataprotocol test by linking to the lib, instead of
4760           compiling the source, so we get coverage
4761         * tests/check/Makefile.am:
4762         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
4763         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
4764           add a test for filesrc
4765
4766 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4767
4768         * tests/check/gst/gststructure.c: (GST_START_TEST),
4769         (gst_structure_suite):
4770           Push coverage from 59.04% to 70.00%
4771
4772 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4773
4774         * tests/check/Makefile.am:
4775           gst-inspect every element; this makes sure that we also get
4776           coverage on element's get/set functions
4777
4778 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4779
4780         * configure.ac:
4781           set CFLAGS and friends to -O0 if gcov is being used
4782           add GCOV LIBS
4783         * gst/Makefile.am:
4784         * libs/gst/base/Makefile.am:
4785         * libs/gst/check/Makefile.am:
4786         * libs/gst/controller/Makefile.am:
4787         * libs/gst/dataprotocol/Makefile.am:
4788         * libs/gst/net/Makefile.am:
4789         * plugins/elements/Makefile.am:
4790         * plugins/indexers/Makefile.am:
4791           add makefile rules to generate gcov data and clean up
4792         * tests/check/Makefile.am:
4793           add a coverage target that generates an html overview
4794           of coverage data
4795
4796 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4797
4798         * tests/check/elements/fakesink.c:
4799         * tests/check/elements/fakesrc.c:
4800         * tests/check/elements/fdsrc.c:
4801         * tests/check/elements/identity.c:
4802         * tests/check/generic/sinks.c: (gst_sinks_suite):
4803         * tests/check/generic/states.c:
4804         * tests/check/gst/gst.c:
4805         * tests/check/gst/gstabi.c:
4806         * tests/check/gst/gstbin.c:
4807         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
4808         * tests/check/gst/gstbus.c: (gst_bus_suite):
4809         * tests/check/gst/gstcaps.c: (GST_START_TEST):
4810         * tests/check/gst/gstelement.c:
4811         * tests/check/gst/gstevent.c: (gst_event_suite):
4812         * tests/check/gst/gstghostpad.c:
4813         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
4814         * tests/check/gst/gstmessage.c: (gst_message_suite):
4815         * tests/check/gst/gstminiobject.c:
4816         * tests/check/gst/gstobject.c:
4817         * tests/check/gst/gstpad.c:
4818         * tests/check/gst/gstpipeline.c:
4819         * tests/check/gst/gstplugin.c:
4820         * tests/check/gst/gstquery.c: (gst_query_suite):
4821         * tests/check/gst/gstsegment.c: (gst_segment_suite):
4822         * tests/check/gst/gststructure.c:
4823         * tests/check/gst/gstsystemclock.c:
4824         * tests/check/gst/gsttag.c:
4825         * tests/check/gst/gsttask.c: (gst_task_suite):
4826         * tests/check/gst/gstutils.c:
4827         * tests/check/gst/gstvalue.c:
4828         * tests/check/libs/adapter.c:
4829         * tests/check/libs/basesrc.c:
4830         * tests/check/libs/collectpads.c:
4831         * tests/check/libs/controller.c:
4832         * tests/check/libs/gdp.c: (gst_dp_suite):
4833         * tests/check/libs/gstnetclientclock.c:
4834         * tests/check/libs/gstnettimeprovider.c:
4835         * tests/check/libs/libsabi.c: (libsabi_suite):
4836         * tests/check/libs/typefindhelper.c:
4837         * tests/check/pipelines/cleanup.c:
4838         * tests/check/pipelines/parse-launch.c:
4839         * tests/check/pipelines/simple-launch-lines.c:
4840         * tests/check/pipelines/stress.c: (stress_suite):
4841           use the new macro
4842
4843 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4844
4845         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
4846         * libs/gst/check/gstcheck.h:
4847           create a macro and function so that the simple unit test
4848           case can be just one macro to create main()
4849
4850 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
4851
4852         * gst/gstbin.c: (gst_bin_restore_thyself):
4853         * gst/gstxml.c: (gst_xml_make_element):
4854           Fix deserialisation from XML. Set parent manually
4855           instead of using gst_bin_add(), since gst_bin_add()
4856           will unlink all pads of the element being added.
4857           Fixes #341667.
4858
4859 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
4860
4861         Patch by: Peter Kjellerstedt <pkj at axis com>
4862
4863         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
4864           Fix missing g_strdup() and double free when using the
4865           --gst-plugin-load command line option (#346097).
4866
4867 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
4868
4869         * gst/gstinfo.c:
4870           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
4871
4872         * libs/gst/net/gstnetclientclock.c:
4873         * libs/gst/net/gstnettimeprovider.c:
4874           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
4875
4876 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
4877
4878         * docs/manual/advanced-dataaccess.xml:
4879           Fix buffer probe example compilation in
4880           ADM (#345708).
4881         
4882 2006-06-22  Edward Hervey  <edward@fluendo.com>
4883
4884         * gst/gstelement.c: (gst_element_pads_activate):
4885         We need to deactivate src pads first and then sink pads.
4886         The reason is the src pads might be blocking while holding the streaming
4887         lock, so we need to deactivate them first so that deactivating the sink
4888         pads doesn't block (since it will require the streaming lock).
4889
4890 2006-06-22  Wim Taymans  <wim@fluendo.com>
4891
4892         * libs/gst/base/gstbasetransform.c:
4893         (gst_base_transform_buffer_alloc):
4894         Forgot to remove two unneeded unrefs.
4895         Simplify a check _is_equal allready checks the obvious case.
4896
4897 2006-06-22  Wim Taymans  <wim@fluendo.com>
4898
4899         * docs/design/part-block.txt:
4900         Some docs about what pad_block should do.
4901
4902 2006-06-22  Wim Taymans  <wim@fluendo.com>
4903
4904         * gst/gstcaps.c: (gst_caps_replace):
4905         Fix crasher when passed NULL. Doc clarification.
4906         Optimize for the trivial case.
4907
4908         * gst/gstpipeline.c: (gst_pipeline_change_state):
4909         Small cleanups.
4910
4911         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
4912         Small documentation cleanup.
4913
4914         * libs/gst/base/gstbasetransform.c:
4915         (gst_base_transform_buffer_alloc):
4916         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
4917         is what we need and it avoids a whole lot of redundant 
4918         refcount operations.
4919
4920 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
4921
4922         Patch by: Philip Jägenstedt  <philip at lysator liu se>
4923
4924         * docs/manual/advanced-dataaccess.xml:
4925           Fix 'Embedding static elements' section to use
4926           GST_PLUGIN_DEFINE_STATIC (#345607).
4927
4928 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
4929
4930         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
4931           Attempt to 'fix' spuriously failing test case: it seems like the
4932           timeout of half a second is simply too small when the system is under
4933           load otherwise, and the timeout doesn't really seem to serve any
4934           particular purpose here. Give the pipeline a few seconds to preroll
4935           first, and then give it another half a second to go from PAUSED to
4936           PLAYING and marshal the message into the main thread.
4937
4938 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
4939
4940         * tools/gst-feedback-m.m:
4941           Don't only use unversioned tools, try versioned tools as well
4942           (#345086).
4943
4944 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
4945
4946         * gst/gstbus.c: (gst_bus_class_init):
4947           Fix some typos, make docs more explicit.
4948
4949 2006-06-20  Wim Taymans  <wim@fluendo.com>
4950
4951         * tests/check/gst/gstghostpad.c: (block_callback),
4952         (GST_START_TEST), (gst_ghost_pad_suite):
4953         Added some more ghostpad tests, mainly blocking
4954         and probes.
4955
4956 2006-06-16  Wim Taymans  <wim@fluendo.com>
4957
4958         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
4959         (gst_file_sink_close_file), (gst_file_sink_do_seek),
4960         (gst_file_sink_event), (gst_file_sink_render):
4961         * plugins/elements/gstfilesink.h:
4962         Check if we can seek in the file instead of assuming
4963         we always can. Post an error when we are asked to seek in a
4964         non-seekable file (like a fifo). Fixes #343312.
4965         Some cleanups.
4966
4967 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
4968
4969         * tools/gst-launch.1.in:
4970           Un-garble (fourcc) bit in filtered caps section.
4971
4972 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
4973
4974         * docs/manual/advanced-autoplugging.xml:
4975         * docs/manual/basics-helloworld.xml:
4976         * docs/manual/highlevel-components.xml:
4977           Don't leak bus reference in sample code.
4978
4979 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
4980
4981         * autogen.sh:
4982           Add default for new --enable-plugin-docs switch.
4983
4984         * configure.ac:
4985           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
4986           Fixes #344039.
4987
4988         * docs/Makefile.am:
4989           Use new ENABLE_PLUGIN_DOCS conditional.
4990
4991 2006-06-14  Wim Taymans  <wim@fluendo.com>
4992
4993         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
4994         Make it clear with a FIXME and a real define what the #if 0
4995         previously disabled.
4996
4997 2006-06-14  Wim Taymans  <wim@fluendo.com>
4998
4999         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
5000         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
5001         * libs/gst/base/gstbasetransform.c:
5002         (gst_base_transform_sink_eventfunc):
5003         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
5004         Don't randomly and silently reset a segment when the format 
5005         changes as this is a bug somewhere upstream. Fixes #330379.
5006
5007 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
5008
5009         Patch by: Wouter Paesen  <wouter at kangaroot net>
5010
5011         * libs/gst/controller/gstcontroller.c:
5012         (gst_controlled_property_new):
5013           Fix controlling of float properties (#344849).
5014
5015         * tests/check/libs/controller.c:
5016         (gst_test_mono_source_get_property),
5017         (gst_test_mono_source_set_property),
5018         (gst_test_mono_source_class_init), (GST_START_TEST):
5019           While we're at it, add some float stuff to unit test.
5020
5021 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5022
5023         * docs/README:
5024         * docs/images/gdp-header.svg:
5025           add a gdp image
5026         * docs/libs/Makefile.am:
5027         * docs/libs/gdp-header.png:
5028         * libs/gst/dataprotocol/dataprotocol.c:
5029           add it to the API docs
5030         * docs/manual/intro-motivation.xml:
5031           fix typo
5032
5033 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
5034
5035         * gst/gst.c: (scan_and_update_registry), (init_post):
5036           If the fork()'ed child process can't write the updated registry cache
5037           file to disk for some reason, make it exit with a failure exit code,
5038           so that the parent can then re-scan the plugins itself and update the
5039           registry structures in memory and work with that (rather than failing
5040           when creating elements because seemingly no plugins are available).
5041           Refactor registry scanning code into separate function for this and
5042           also separate fork() and non-fork() code paths. Fixes #344748.
5043
5044 2006-06-13  Wim Taymans  <wim@fluendo.com>
5045
5046         * docs/manual/advanced-dataaccess.xml:
5047         Fix wrong PluginDesc. Fixes #344755.
5048
5049 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
5050
5051         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
5052           Fix silly bug that prevented us from creating
5053           ~/.gstreamer-0.10 and writing the registry in one
5054           go (the first call to g_mkstemp() would overwrite the
5055           placeholder in the template string, so the second call
5056           to g_mkstemp() after creating the missing directory
5057           would then error out with 'invalid argument').
5058
5059 2006-06-13  Edward Hervey  <edward@fluendo.com>
5060
5061         * gst/gst.c: (init_post):
5062         Free string.
5063
5064 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5065
5066         * gst/glib-compat-private.h:
5067         * gst/glib-compat.c:
5068         * gst/glib-compat.h:
5069         * gst/gstvalue.c: (gst_value_serialize_flags):
5070           remove GLib 2.6 compatibility code
5071
5072 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
5073
5074         * gst/parse/Makefile.am:
5075           Fix build with 'make -j N' even more (#340016).
5076
5077 2006-06-12  Wim Taymans  <wim@fluendo.com>
5078
5079         * docs/gst/gstreamer-sections.txt:
5080         Fix docs.
5081
5082 2006-06-12  Wim Taymans  <wim@fluendo.com>
5083
5084         * gst/gstsegment.c: (gst_segment_set_duration),
5085         (gst_segment_set_last_stop), (gst_segment_set_seek),
5086         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
5087         (gst_segment_to_running_time), (gst_segment_clip):
5088         Use G_UNLIKELY to help the compiler a bit.
5089
5090 2006-06-12  Wim Taymans  <wim@fluendo.com>
5091
5092         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
5093
5094         * gst/gstevent.c: (gst_event_get_type):
5095         * gst/gstmessage.c:
5096         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
5097         (gst_pad_push):
5098         constify quark registration strings. Fixes #344115
5099         Avoid unneeded type checking is _pad_push() by internally
5100         calling gst_pad_chain_unchecked().
5101
5102 2006-06-12  Wim Taymans  <wim@fluendo.com>
5103
5104         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
5105         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
5106         (gst_subbuffer_finalize), (gst_buffer_create_sub),
5107         (gst_buffer_is_span_fast), (gst_buffer_span):
5108         Init _type for consistency.
5109         Use _FLAGS macro to avoid type check.
5110         Avoid unneeded type checks in subbufer code.
5111
5112 2006-06-12  Wim Taymans  <wim@fluendo.com>
5113
5114         * gst/gst.c: (gst_debug_help):
5115         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
5116         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
5117         (gst_plugin_feature_list_free):
5118         * gst/gstregistry.c: (gst_registry_add_plugin),
5119         (gst_registry_add_feature), (gst_registry_plugin_filter),
5120         (gst_registry_feature_filter), (gst_registry_find_plugin),
5121         (gst_registry_find_feature), (gst_registry_get_plugin_list),
5122         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
5123         * gst/gstregistryxml.c: (load_feature),
5124         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
5125         * gst/gstminiobject.c: (gst_mini_object_unref),
5126         (gst_mini_object_replace), (gst_value_mini_object_free),
5127         (gst_value_mini_object_copy):
5128         Use _CAST macros to avoid unneeded type checking.
5129         Added some more G_UNLIKELY.
5130
5131 2006-06-12  Wim Taymans  <wim@fluendo.com>
5132
5133         * gst/gstbuffer.h:
5134         Avoid unneeded type checking.
5135         API: GST_BUFFER_IS_DISCONT
5136
5137         * gst/gstminiobject.h:
5138         Avoid type check in flag accessor.
5139
5140         * gst/gstelementfactory.h:
5141         * gst/gstplugin.h:
5142         * gst/gstpluginfeature.h:
5143         Add _CAST macros.
5144         API: GST_ELEMENT_FACTORY_CAST
5145         API: GST_PLUGIN_CAST
5146         API: GST_PLUGIN_FEATURE_CAST
5147
5148 2006-06-12  Wim Taymans  <wim@fluendo.com>
5149
5150         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
5151         (gst_object_unref):
5152         Add G_UNLIKELY in type registration.
5153         Avoid type check in _ref/_unref since that is also
5154         done in glib.
5155
5156 2006-06-12  Wim Taymans  <wim@fluendo.com>
5157
5158         * gst/gsterror.c: (gst_g_error_get_type):
5159         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
5160         (gst_static_pad_template_get_type):
5161         * gst/gsttaglist.c: (gst_tag_list_get_type):
5162         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
5163         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
5164         * gst/gsturi.c: (gst_uri_handler_get_type):
5165         * gst/gstvalue.c: (gst_date_get_type):
5166         * gst/gstxml.c: (gst_xml_get_type):
5167         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
5168         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
5169         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
5170         Add G_UNLIKELY in type registration.
5171
5172 2006-06-12  Wim Taymans  <wim@fluendo.com>
5173
5174         * tools/gst-inspect.c: (print_signal_info):
5175         Properly print enum values.
5176
5177 2006-06-12  Wim Taymans  <wim@fluendo.com>
5178
5179         * gst/gstinfo.c: (gst_debug_set_active),
5180         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
5181         * gst/gstinfo.h:
5182         Add some G_[UN]LIKELY.
5183         Maintain __gst_debug_min to avoid formatting the arguments of
5184         debug messages that will be dropped anyway to avoid a lot of 
5185         overhead from the debugging system.
5186
5187 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
5188
5189         * po/POTFILES.in:
5190         * po/POTFILES.skip:
5191           add missing files containing translatable strings, tell intltool about
5192           one exception
5193
5194 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
5195
5196         * tests/check/libs/.cvsignore:
5197         add test-binary to ignore list
5198
5199 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
5200
5201         * docs/libs/gstreamer-libs-docs.sgml:
5202         reorder (put dp into a chapter) and indent
5203
5204 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5205
5206         * configure.ac:
5207           back to HEAD
5208
5209 === release 0.10.8 ===
5210
5211 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
5212
5213         * configure.ac:
5214           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
5215
5216 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5217
5218         * gst/gst.c: (init_post):
5219           move pid declaration to declaration block
5220
5221 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5222
5223         * gst/gst.c: (init_post):
5224           use _exit() instead of exit() in our forked child; this ensures
5225           that none of the registered exit handlers from whatever is using
5226           GStreamer get executed.  This fixes gnome-mixer-applet failing
5227           to load, because ORBit would shut down.
5228           Spotted by: Edward Hervey  <edward@fluendo.com>
5229           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
5230           Fixes #344474
5231
5232 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5233
5234         * configure.ac:
5235           back to TRUNK
5236
5237 === release 0.10.7 ===
5238
5239 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
5240
5241         * configure.ac:
5242           releasing 0.10.7, "Soepeke, ik zie ou"
5243
5244 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5245
5246         * configure.ac:
5247         * po/af.po:
5248         * po/az.po:
5249         * po/bg.po:
5250         * po/ca.po:
5251         * po/cs.po:
5252         * po/de.po:
5253         * po/en_GB.po:
5254         * po/fr.po:
5255         * po/it.po:
5256         * po/nb.po:
5257         * po/nl.po:
5258         * po/ru.po:
5259         * po/sq.po:
5260         * po/sr.po:
5261         * po/sv.po:
5262         * po/tr.po:
5263         * po/uk.po:
5264         * po/vi.po:
5265         * po/zh_CN.po:
5266         * po/zh_TW.po:
5267         * win32/common/config.h:
5268           0.10.6.2 prerelease
5269
5270 2006-06-07  Wim Taymans  <wim@fluendo.com>
5271
5272         * gst/gstindex.c: (gst_index_gtype_resolver):
5273         * tools/gst-xmlinspect.c: (print_plugin_info):
5274         Fix leak spotted by coverity checker. Fixes #343827
5275         Fix another other leak found by paolo borelli.
5276
5277 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5278
5279         * libs/gst/dataprotocol/dataprotocol.c:
5280         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
5281         (gst_dp_version_get_type), (gst_dp_init),
5282         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
5283         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
5284         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
5285         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
5286         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
5287         (gst_dp_packetizer_free):
5288         * libs/gst/dataprotocol/dataprotocol.h:
5289           API: add a GstDPPacketizer object, and create/free functions
5290           API: add GstDPVersion enum
5291           Add 1.0 event function that uses the string serialization
5292           Serialize more useful buffer flags
5293           Fixes #343988
5294
5295 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5296
5297         * tests/check/Makefile.am:
5298         * tests/check/gst/gstabi.c:
5299         * tests/check/gst/struct_ppc64.h:
5300         * tests/check/libs/libsabi.c:
5301         * tests/check/libs/struct_ppc64.h:
5302           add ppc64 structure sizes
5303
5304 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5305
5306         * tests/check/Makefile.am:
5307         * tests/check/gst/gstabi.c:
5308         * tests/check/gst/struct_x86_64.h:
5309         * tests/check/libs/libsabi.c:
5310         * tests/check/libs/struct_x86_64.h:
5311           generate and add structure size lists for x86_64
5312
5313 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5314
5315         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
5316         * libs/gst/check/gstcheck.h:
5317           factor out the method from tests that checks size of structures,
5318           and add code to generate the header containing these sizes
5319         * tests/check/gst/gstabi.c: (GST_START_TEST):
5320         * tests/check/gst/struct_i386.h:
5321         * tests/check/libs/libsabi.c: (GST_START_TEST):
5322         * tests/check/libs/struct_i386.h:
5323           use it
5324
5325 2006-06-06  Michael Smith  <msmith@fluendo.com>
5326
5327         * gst/gstsegment.h:
5328           Don't use c++-style comments, fixes #343929
5329
5330 2006-06-05  Edward Hervey  <edward@fluendo.com>
5331
5332         * gst/gst.c:
5333         plugin_paths is not used if we build without registry support.
5334
5335         * gst/gstsegment.c: (gst_segment_copy): 
5336         _copy() was always returning NULL...
5337
5338 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5339
5340         * libs/gst/dataprotocol/dataprotocol.c:
5341         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5342         (gst_dp_packet_from_event):
5343           factor out CRC code
5344
5345 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5346
5347         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
5348           make sure we unset caps
5349
5350 2006-06-02  Michael Smith  <msmith@fluendo.com>
5351
5352         * libs/gst/check/gstcheck.c: (gst_check_init),
5353         (gst_check_chain_func):
5354         * libs/gst/check/gstcheck.h:
5355           Add a cond/mutex to the check support lib, signal this whenever we
5356           add to the buffers list. This will allow tests to not busy-wait on
5357           the buffer-list.
5358
5359 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5360
5361         * libs/gst/dataprotocol/dataprotocol.c:
5362         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5363         (gst_dp_packet_from_event):
5364           factor out some common header init code
5365
5366 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5367
5368         * docs/libs/gstreamer-libs-sections.txt:
5369         * docs/libs/tmpl/gstdataprotocol.sgml:
5370         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
5371         * libs/gst/dataprotocol/dataprotocol.h:
5372           API: make gst_dp_crc() public
5373
5374 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
5375
5376         * plugins/indexers/gstindexers.c: (plugin_init):
5377         conditionally register fileindexer (fixes #343598)
5378
5379 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
5380
5381         * gst/gsttagsetter.h:
5382         Can't cast ifaces to a class
5383
5384         * libs/gst/net/gstnetclientclock.h:
5385         * libs/gst/net/gstnettimeprovider.h:
5386         * plugins/elements/gstfakesink.h:
5387         * plugins/elements/gstfakesrc.h:
5388         * plugins/elements/gstfdsink.h:
5389         * plugins/elements/gstfdsrc.h:
5390         * plugins/elements/gstfilesink.h:
5391         * plugins/elements/gstfilesrc.h:
5392         * plugins/elements/gstidentity.h:
5393         * plugins/elements/gstqueue.h:
5394         * plugins/elements/gsttee.h:
5395         * plugins/indexers/gstfileindex.c:
5396         * plugins/indexers/gstmemindex.c:
5397         * tests/old/examples/plugins/example.h:
5398         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
5399
5400 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5401
5402         * libs/gst/dataprotocol/dataprotocol.c:
5403         (gst_dp_header_from_buffer):
5404           make sure we zero the whole ABI-compatible area
5405
5406 2006-06-01  Wim Taymans  <wim@fluendo.com>
5407
5408         Patch by: Alessandro Decina <alessandro at nnva dot org>
5409
5410         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
5411         Make sure the EOS flag is cleared from pads after a flush
5412         or stop. Fixes #343538.
5413
5414         * tests/check/libs/collectpads.c: (GST_START_TEST),
5415         (gst_collect_pads_suite):
5416         Added test for collectpads reusage after EOS.
5417
5418 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
5419
5420         * gst/gst.c:
5421          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
5422         * win32/common/libgstbase.def:
5423          export gst_collect_pads_set_flushing
5424         * win32/common/libgstreamer.def:
5425          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
5426          gst_value_fraction_multiply
5427         * win32/vs6/gst_inspect.dsp:
5428          add a link to intl.lib
5429
5430 2006-05-30  Wim Taymans  <wim@fluendo.com>
5431
5432         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
5433         (gst_collect_pads_chain):
5434         Handle the case where a pad is removed from the collection
5435         that could cause the other pads to become collectable.
5436
5437 2006-05-30  Wim Taymans  <wim@fluendo.com>
5438
5439         * gst/gstelement.c:
5440         Clarify the use of _release_request_pad() and
5441         _get_request_pad() a bit better.
5442
5443         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
5444         (gst_adapter_take_buffer):
5445         Fix some doc and comment typos.
5446
5447 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5448
5449         * docs/gst/gstreamer-sections.txt:
5450         * docs/libs/gstreamer-libs-sections.txt:
5451           add declared symbols
5452
5453 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
5454
5455         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
5456         Add debug that can be enabled using a #define at the top of the file,
5457         for dumping stats about how late/early we were when waking up from
5458         waiting on the clock.
5459
5460 2006-05-30  Wim Taymans  <wim@fluendo.com>
5461
5462         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
5463         When rebuilding the pad list, don't leak the previous list.
5464
5465 2006-05-30  Wim Taymans  <wim@fluendo.com>
5466
5467         Patch by: Lutz Mueller <lutz at topfrose dot de>
5468
5469         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5470         (gst_base_src_get_query_types), (gst_base_src_update_length):
5471         Publish supported query types.
5472         Update last_stop field in get_range mode so the position
5473         query works. Fixes #342321.
5474
5475 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
5476
5477         * docs/gst/gstreamer-sections.txt:
5478         * gst/gsttaglist.c: (_gst_tag_initialize):
5479         * gst/gsttaglist.h:
5480           API: add GST_TAG_PREVIEW_IMAGE (#343341).
5481
5482 2006-05-30  Wim Taymans  <wim@fluendo.com>
5483
5484         Patch by: Alessandro Decina <alessandro at nnva dot org>
5485
5486         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
5487         Unlock mutex when removing an unknown pad.
5488         Fixes #343334.
5489
5490         * tests/check/Makefile.am:
5491         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
5492         (push_event), (setup), (teardown), (GST_START_TEST),
5493         (gst_collect_pads_suite), (main):
5494         Added collecpads check, disabled for now as check crashes for
5495         some reason.
5496
5497 2006-05-29  Wim Taymans  <wim@fluendo.com>
5498
5499         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
5500         Don't leak pads lists.
5501
5502 2006-05-29  Wim Taymans  <wim@fluendo.com>
5503
5504         * docs/libs/gstreamer-libs-sections.txt:
5505         * libs/gst/base/gstcollectpads.c:
5506         (gst_collect_pads_set_flushing_unlocked),
5507         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
5508         (gst_collect_pads_stop):
5509         * libs/gst/base/gstcollectpads.h:
5510         API: gst_collect_pads_set_flushing()
5511         Added api to set the pads to flushing, useful for seeking
5512         code in elements using collectpads.
5513         Clear segment when receiving a flush.
5514
5515 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
5516
5517         * gst/gst.c: (add_path_func), (init_post):
5518           Don't scan registry paths passed via --gst-plugin-path immediately
5519           (will crash, because absolutely nothing is set up and no types are
5520           registered etc.); do this later in init_post(). Fixes #343057.
5521
5522 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5523
5524         * gst/gst.c: (init_post):
5525           if we have fork, fork while reading/rebuilding the registry
5526           so the parent doesn't take the hit of having all plugins loaded
5527           in memory.  Fixes #342777.
5528         * configure.ac:
5529           Check if we have fork()
5530         * win32/common/config.h.in:
5531           no fork() on win32
5532
5533 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
5534
5535         * plugins/elements/gstelements.c:
5536         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
5537         (gst_file_src_init), (gst_file_src_set_property),
5538         (gst_file_src_get_property), (gst_file_src_start):
5539         * plugins/elements/gstfilesrc.h:
5540           API: GstFileSrc::use-mmap
5541
5542         Add a use-mmap property to enable easier testing of all code paths.
5543         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
5544         in the absence of gnomevfssrc. (Closes #340501)
5545
5546 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5547
5548         * tools/gst-inspect.c:
5549         Add missing include, removes warning of ngettext not being defined on
5550         some arches.
5551
5552 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
5553
5554         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5555         Handle NULL input and output pointers silently as a failed conversion,
5556         rather than g_warnings.
5557
5558 2006-05-25  Wim Taymans  <wim@fluendo.com>
5559
5560         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
5561         Initialize variable before using. Fixes #342820.
5562
5563 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
5564
5565         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
5566           Fix off-by-one bug that would only allow peeks of N-1 bytes
5567           from the start even if the buffer to typefind on contains
5568           in fact N bytes of data (makes vorbis typefinding from a
5569           vorbis identification header buffer work).
5570
5571         * tests/check/Makefile.am:
5572         * tests/check/libs/.cvsignore:
5573         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
5574         (gst_typefindhelper_suite), (main), (foobar_typefind),
5575         (plugin_init):
5576           Add very basic unit test for gst_type_find_helper_for_buffer()
5577           that checks for the problem fixed above.
5578
5579 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5580
5581         * tools/gst-inspect.c: (print_interfaces),
5582         (print_element_properties_info), (print_element_list), (main):
5583           add more translatable strings
5584
5585 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
5586
5587         Patch by: Julien Moutte  <julien at moutte net>
5588
5589         * docs/gst/gstreamer-sections.txt:
5590           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
5591           
5592         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
5593         (gst_fake_sink_preroll):
5594         * plugins/elements/gstfakesink.h:
5595           API: Add new GstFakeSink::preroll-handoff signal (#337100).
5596
5597 2006-05-23  Wim Taymans  <wim@fluendo.com>
5598
5599         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
5600         * gst/gstpad.h:
5601         Added _CUSTOM error and success GstFlowReturn that can be
5602         used be elements internally. 
5603         Added macro to check for SUCCESS flowreturns.
5604         API: GST_FLOW_CUSTOM_SUCCESS
5605         API: GST_FLOW_CUSTOM_ERROR
5606         API: GST_FLOW_IS_SUCCESS
5607
5608         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
5609         Added check for GstFlowReturn sanity.
5610
5611 2006-05-23  Wim Taymans  <wim@fluendo.com>
5612
5613         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
5614
5615         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
5616         (gst_collect_pads_event):
5617         clear/reset segment info in FLUSH_STOP.
5618         Fixes #336929.
5619
5620 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
5621
5622         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
5623         (gst_collect_pads_check_collected):
5624         Flush queued buffer on _stop(), fixes playing again (#342454)
5625
5626 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5627
5628         * tests/check/gst/gststructure.c: (GST_START_TEST),
5629         (gst_structure_suite):
5630           add a test for a complete structure
5631
5632 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
5633
5634         * docs/faq/developing.xml:
5635         * docs/faq/faq.xml:
5636         * docs/faq/troubleshooting.xml:
5637         * docs/faq/using.xml:
5638           Some minor FAQ updates that won't change the fact that
5639           our FAQ is badly structured, full of information hardly
5640           anyone new to GStreamer needs to know and lacking lots
5641           of information people constantly ask for.
5642           
5643 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
5644
5645         * gst/gstpad.c: (gst_pad_set_caps):
5646           Short-circuit gst_pad_set_caps if setting the existing
5647           caps pointer again, and avoid printing debug and 
5648           reffing/unreffing the caps.
5649
5650         * plugins/elements/gstqueue.c: (gst_queue_push_one):
5651           There's actually no need to set the caps before pushing -
5652           the acceptcaps method will handle it anyway.
5653
5654 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
5655
5656         * docs/gst/gstreamer-sections.txt:
5657         * win32/common/libgstreamer.def:
5658         * gst/gstutils.c: (gst_element_seek_simple):
5659         * gst/gstutils.h:
5660           API: add gst_element_seek_simple() (#342238).
5661
5662 2006-05-18  Edward Hervey  <edward@fluendo.com>
5663
5664         * gst/gsttypefind.c: (gst_type_find_get_type):
5665         * gst/gsttypefind.h:
5666         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
5667         registered for GstTypeFind pointers. This allows wrapping the structure
5668         in bindings (i.e. gst-python).
5669
5670 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
5671
5672         * gst/gsttagsetter.c:
5673           Docs additions and fixes (see #339918).
5674
5675 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
5676
5677         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
5678         The caps intersection algorithm can produce multiple copies of the
5679         caps. Until that is fixed, we need to simplify the result to be
5680         sure whether the allowed caps are fixed or not.
5681
5682         * plugins/elements/gstqueue.c: (gst_queue_init),
5683         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
5684         (gst_queue_push_one):
5685         Proxied buffer alloc should not set the caps on the source pad.
5686         When pushing buffers, we always accept the caps change that triggers.
5687         This prevents negotiation errors caused by caps changing mid-stream 
5688         and then being refused on our source pad (because upstream is now
5689         refusing those caps).
5690
5691 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
5692
5693         * tests/examples/helloworld/helloworld.c: (main):
5694           Must plug audioconvert and audioresample between decoder
5695           and audio sink.
5696
5697 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
5698
5699         * gst/gstregistryxml.c: (read_string), (load_pad_template),
5700         (load_feature), (load_plugin):
5701         Allow empty strings for some of the plugin fields so we don't 
5702         drop valid plugin entries that were written out correctly
5703         (Fixes #341479)
5704
5705 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
5706         
5707         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
5708           Use g_remove and g_rename instead of remove and rename that don't 
5709           handle utf8 characters. rename was failing for users who had specific
5710           characters in their name then the registry was built at each 
5711           gstreamer init.
5712         * win32/vs6/gst_inspect.dsp:
5713         * win32/vs6/gst_launch.dsp:
5714         * win32/vs6/libgstbase.dsp:
5715         * win32/vs6/libgstcoreelements.dsp:
5716         * win32/vs6/libgstreamer.dsp:
5717           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
5718           build of libgstreamer and clean unused libraries in projects link 
5719           settings.
5720
5721 2006-05-17  Edward Hervey  <edward@fluendo.com>
5722
5723         * plugins/elements/gstqueue.c: (gst_queue_push_one):
5724         The queue is not responsible for pushing an EOS when receiving a fatal
5725         flow error. It's up to the real element driving the pipeline to do that.
5726
5727 2006-05-16  Edward Hervey  <edward@fluendo.com>
5728
5729         * plugins/elements/gstqueue.c: (gst_queue_push_one):
5730         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
5731         buffer returned a fatal error. It should just send an EOS and stop
5732         its task.
5733         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
5734         when pushing buffers on the queue and will be able to handle the event.
5735
5736 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
5737
5738         * docs/manual/basics-bins.xml:
5739         * docs/manual/basics-init.xml:
5740           Fix typos and minor errors in sample code (#341856).
5741
5742 2006-05-16  Wim Taymans  <wim@fluendo.com>
5743
5744         * docs/design/part-qos.txt:
5745         Fix indexes in formulas to make more sense.
5746
5747 2006-05-15  Wim Taymans  <wim@fluendo.com>
5748
5749         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
5750         Don't report POSITION based on clock time if sync is
5751         disabled in a sink.
5752
5753 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
5754
5755         * gst/gstobject.h:
5756           Add cast to make compiler happy - refcount variable was a gint
5757           in GstObject but is a guint in GObject and g_atomic_int_get()
5758           wants a gint *.
5759
5760 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5761
5762         * gst/parse/Makefile.am:
5763           chain commands using &&, which also makes parallel make work
5764
5765 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
5766
5767         * docs/gst/gstreamer-sections.txt:
5768         * gst/gstevent.c:
5769         * gst/gstevent.h:
5770         * gst/gstmessage.h:
5771           Minor docs fixes.
5772
5773 === release 0.10.6 ===
5774
5775 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
5776
5777         * configure.ac:
5778           releasing 0.10.6, "Take the cannoli"
5779
5780 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
5781
5782         * tools/gst-launch.c: (print_tag):
5783           Fix use of uninitialized variable in the hypothetical
5784           case that some broken plugin creates a GST_TAG_IMAGE
5785           tag containing a NULL buffer (#341667).
5786
5787 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
5788
5789         * tools/gst-launch.c: (print_tag):
5790           Print something more intelligible for image tags when
5791           using the -t switch (#341556).
5792
5793 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5794
5795         * Makefile.am:
5796           updates for win32
5797         * configure.ac:
5798           define GST_MAJORMINOR so we have it available in win32/common/config.h
5799           Possibly remove it from our Makefile.am files later
5800         * win32/common/config.h:
5801         * win32/common/config.h.in:
5802           added GST_MAJORMINOR
5803         * win32/common/gstenumtypes.c: (register_gst_resource_error):
5804         * win32/common/gstversion.h:
5805           updated
5806
5807 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
5808
5809         * win32/MANIFEST:
5810           Update win32 files listing.
5811         * win32/common/gstversion.h:
5812           Add GST_MAJORMINOR definition.
5813         * win32/common/libgstreamer.def:
5814           Add new exported functions.
5815           
5816 2006-05-12  Michael Smith  <msmith@fluendo.com>
5817
5818         * gst/gstplugin.c: (gst_plugin_load_file):
5819           If an so file has no plugin entry point, unload the module.
5820
5821 2006-05-11  Wim Taymans  <wim@fluendo.com>
5822
5823         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
5824         (gst_queue_set_property):
5825         Don't forget to signal the _chain or _loop function 
5826         when the queue size or thresholds change since that might
5827         cause them to make progres again.
5828
5829 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
5830
5831         * gst/gstclock.c: (gst_clock_class_init):
5832         * gst/gstindex.c: (gst_index_class_init):
5833         * gst/gstobject.c: (gst_object_class_init):
5834         * gst/gstpad.c: (gst_pad_class_init):
5835         * gst/gstpipeline.c: (gst_pipeline_class_init):
5836         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
5837         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
5838         * libs/gst/base/gstbasetransform.c:
5839         (gst_base_transform_class_init):
5840         * libs/gst/net/gstnetclientclock.c:
5841         (gst_net_client_clock_class_init):
5842         * libs/gst/net/gstnettimeprovider.c:
5843         (gst_net_time_provider_class_init):
5844         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
5845         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
5846         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
5847         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
5848         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
5849         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
5850         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
5851         * plugins/elements/gstidentity.c: (gst_identity_class_init):
5852         * plugins/elements/gsttee.c: (gst_tee_class_init):
5853         * tests/old/examples/plugins/example.c: (gst_example_class_init):
5854         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
5855           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
5856
5857 2006-05-11  Wim Taymans  <wim@fluendo.com>
5858
5859         * gst/gstbuffer.c: (_gst_buffer_initialize):
5860         Register subbufer along with the buffer type so that
5861         it does not accidentally gets registered from N
5862         different streaming threads in a non threadsafe way.
5863
5864 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
5865
5866         * gst/gstbuffer.h:
5867         * gst/gstevent.h:
5868         * gst/gstmessage.h:
5869           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
5870           gst_event_ref() and gst_message_ref() functions again
5871           (ugly hack, please do fix if there's a better way besides
5872           overrides.txt, which doesn't seem to work).
5873
5874 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5875
5876         * libs/gst/check/gstcheck.h:
5877           add an assert for setting state to avoid lots of repetitive code
5878           in the future
5879
5880 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5881
5882         * gst/gstvalue.c: (gst_value_serialize_flags):
5883           fix a leak if no flags are set
5884         * tests/check/gst/gstvalue.c: (GST_START_TEST):
5885           fix leak in tests
5886
5887 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
5888
5889         * docs/manual/basics-pads.xml:
5890           Expand a bit on caps and filtered links and update
5891           examples that were still using the no longer existing
5892           gst_pad_link_filtered() (#338206).
5893
5894 2006-05-10  Wim Taymans  <wim@fluendo.com>
5895
5896         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
5897         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
5898         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
5899         (gst_collect_pads_stop):
5900         * libs/gst/base/gstcollectpads.h:
5901         No need to call _stop in _finalize.
5902         Iterate the main pad list in _finalize.
5903         Added some more debug.
5904         Free lists and data in the right order.
5905         Also free data whem doing _remove_pad when stopped for
5906         backward compatibility protect ::started with PAD_LOCK as
5907         well.
5908
5909 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5910
5911         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
5912         (gst_structure_parse_value):
5913           add some comments
5914           rename a method so that it actually says what it does better
5915
5916 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5917
5918         * gst/gstevent.c: (_gst_event_initialize):
5919         * gst/gstformat.c: (_gst_format_initialize):
5920           make sure some essential types used by events are registered
5921           as part of gst_init()
5922         * gst/gstvalue.c: (gst_value_serialize_flags):
5923           if no flags are set, serialize them to a value that represents NONE
5924           so that deserializing them works
5925         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
5926           add tests for serialization and deserialization of flags
5927
5928 2006-05-10  Wim Taymans  <wim@fluendo.com>
5929
5930         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
5931         (gst_collect_pads_collect_range), (gst_collect_pads_available),
5932         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
5933         (gst_collect_pads_event), (gst_collect_pads_chain):
5934         Update docs.
5935         Better debug info.
5936         Catch and return errors from the collect function
5937         Refuse data on eos pads.
5938
5939 2006-05-10  Edward Hervey  <edward@fluendo.com>
5940
5941         * gst/gstinterface.h:
5942         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
5943         GInterface type checking.
5944         They were previously using non-defined macros.
5945
5946 2006-05-09  Wim Taymans  <wim@fluendo.com>
5947
5948         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
5949         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
5950         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
5951         (gst_collect_pads_start), (gst_collect_pads_stop),
5952         (gst_collect_pads_peek), (gst_collect_pads_pop),
5953         (gst_collect_pads_available), (gst_collect_pads_read),
5954         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
5955         (gst_collect_pads_is_collected), (gst_collect_pads_event),
5956         (gst_collect_pads_chain):
5957         * libs/gst/base/gstcollectpads.h:
5958         Clean up the mess that is collectpads, add comments and
5959         FIXMEs where needed.
5960         Maintain a separate pad list so we can add pads while
5961         collecting the other ones. For this we need a new separate 
5962         lock (see comics).
5963         Fix memory leak in finalize.
5964         Refactor some weird code to set/unset pad flushing flags, mark
5965         with comments.
5966         Don't crash in _available, _read, _flush when we're EOS.
5967
5968         * tests/check/libs/.cvsignore:
5969         Ignore adapter check binary.
5970
5971 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
5972
5973         * gst/gstindex.c: (gst_index_resolver_get_type):
5974         * plugins/elements/gstfakesink.c:
5975         (gst_fake_sink_state_error_get_type):
5976         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
5977         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
5978         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
5979           Const-ify GEnumValue arrays.
5980
5981 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
5982
5983         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
5984           Add test case for flags + gst_buffer_make_metadata_writable().
5985
5986 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
5987
5988         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
5989           gst_buffer_make_metadata_writable() should maintain the
5990           buffer flags (those that make sense at least) (see #340859).
5991
5992 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
5993
5994         * tools/gst-inspect.c:
5995         * tools/gst-launch.c:
5996         * tools/gst-typefind.c:
5997         * tools/gst-xmlinspect.c:
5998         * tools/tools.h:
5999           Fix up includes: need to include stdlib.h in tools.h for exit().
6000
6001 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
6002
6003         * gst/gsttaglist.c: (_gst_tag_initialize):
6004         * gst/gsttaglist.h:
6005           API: add GST_TAG_IMAGE tag (#340721).
6006
6007 2006-05-08  Wim Taymans  <wim@fluendo.com>
6008
6009         * gst/gstquery.c:
6010         Added some docs for the segment query.
6011
6012 2006-05-08  Wim Taymans  <wim@fluendo.com>
6013
6014         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
6015         (gst_base_src_loop), (gst_base_src_change_state):
6016         Always push non-flushing serialized events in the streaming 
6017         thread.
6018
6019 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6020
6021         * gst/gsterror.c: (_gst_stream_errors_init):
6022           Add a missing error string.
6023
6024 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
6025
6026         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
6027         Add applied_rate to the debug
6028
6029         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
6030         Copy applied_rate into the outgoing NEWSEGMENT event
6031
6032 2006-05-08  Wim Taymans  <wim@fluendo.com>
6033
6034         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
6035
6036         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
6037         (gst_base_sink_change_state):
6038         call ::unlock before taking the PREROLL_LOCK so we can safely
6039         handle elements that lock in ::render.
6040         Fixes #340174.
6041
6042 2006-05-08  Edward Hervey  <edward@fluendo.com>
6043
6044         * autogen.sh: (CONFIGURE_DEF_OPT): 
6045         Darwin's libtoolize is in fact called glibtoolize.
6046         Adding glibtoolize to the list of accepted names for libtoolize.
6047
6048 2006-05-08  Wim Taymans  <wim@fluendo.com>
6049
6050         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
6051         Unify error handling, don't post an error message
6052         when a push() returns EOS but perform our normal EOS
6053         handling code. Fixes #340772.
6054
6055 2006-05-08  Wim Taymans  <wim@fluendo.com>
6056
6057         * docs/design/part-overview.txt:
6058         Make upsteam/downstream concepts more clear.
6059         Give an example of serialized/non-serialized events.
6060
6061         * docs/design/part-events.txt:
6062         * docs/design/part-streams.txt:
6063         Mention applied_rate.
6064
6065         * docs/design/part-trickmodes.txt:
6066         Mention applied rate, flesh out some more use cases.
6067
6068         * gst/gstevent.c: (gst_event_new_new_segment),
6069         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
6070         (gst_event_parse_new_segment_full), (gst_event_new_tag),
6071         (gst_event_parse_tag), (gst_event_new_buffer_size),
6072         (gst_event_parse_buffer_size), (gst_event_new_qos),
6073         (gst_event_parse_qos), (gst_event_parse_seek),
6074         (gst_event_new_navigation):
6075         * gst/gstevent.h:
6076         Add applied_rate field to NEWSEGMENT event.
6077         API: gst_event_new_new_segment_full()
6078         API: gst_event_parse_new_segment_full()
6079
6080         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
6081         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
6082         (gst_segment_to_stream_time), (gst_segment_to_running_time):
6083         * gst/gstsegment.h:
6084         Add applied_rate to GstSegment structure.
6085         Make calculation of stream_time and running_time more correct
6086         wrt rate/applied_rate.
6087         Add some more docs.
6088         API: GstSegment::applied_rate field
6089         API: gst_segment_set_newsegment_full();
6090
6091         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
6092         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
6093         * libs/gst/base/gstbasetransform.c:
6094         (gst_base_transform_sink_eventfunc),
6095         (gst_base_transform_handle_buffer):
6096         Parse and use applied_rate in the GstSegment field.
6097
6098         * tests/check/gst/gstevent.c: (GST_START_TEST):
6099         Add check for applied_rate field.
6100
6101         * tests/check/gst/gstsegment.c: (GST_START_TEST),
6102         (gstsegments_suite):
6103         Add more checks for various GstSegment operations.
6104
6105 2006-05-08  Wim Taymans  <wim@fluendo.com>
6106
6107         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
6108         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
6109         (gst_base_sink_get_position), (gst_base_sink_change_state):
6110         Store the sync time of the buffer end position separatly in a
6111         new variable eos_rtime so we can properly sync the EOS event.
6112         Fixes #340697.
6113         Fix the docs for gst_base_sink_set_qos_enabled().
6114         Don't set segment start to invalid value when we receive a 
6115         non TIME newsegment.
6116         get closer to handling position reporting for negative rates 
6117         correctly.
6118
6119 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
6120
6121         * gst/gstcaps.c:
6122         Docs about how to print caps for debug purposes.
6123
6124         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
6125         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
6126
6127 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
6128
6129         * gst/gstelement.c:
6130           use full enum names and preprend a '%' in docs strings to make recent 
6131           gtk-doc turn that into a link
6132
6133 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6134
6135         * docs/manual/basics-bins.xml:
6136         * docs/manual/basics-bus.xml:
6137         * docs/manual/basics-pads.xml:
6138           Some typo fixes, some additions, some clarifications. 
6139
6140 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6141
6142         * tools/gst-inspect.c: (main):
6143         * tools/gst-launch.c: (main):
6144         * tools/gst-run.c: (main):
6145         * tools/gst-typefind.c: (main):
6146         * tools/gst-xmlinspect.c: (main):
6147           Use the string passed to g_option_context_new() for
6148           what it's intended for - the program name is already
6149           printed elsewhere.
6150
6151 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6152
6153         * tools/Makefile.am:
6154         * tools/gst-inspect.c: (main):
6155         * tools/gst-launch.c: (main):
6156         * tools/gst-xmlinspect.c: (main):
6157         * tools/tools.h:
6158           Add back --version command line option (#340460).
6159
6160         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
6161           Add --version option and use GOption for argument parsing; refactor a
6162           bit; accept directories as arguments and recurse into them; lastly,
6163           print a decent error message when things go wrong.
6164
6165 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
6166
6167         * docs/manual/basics-bins.xml:
6168         Don't mention GstThread (#340611)
6169         * docs/manual/basics-elements.xml:
6170         Update link to GObject tutorial (#340607)
6171         
6172 2006-05-05  Wim Taymans  <wim@fluendo.com>
6173
6174         * gst/gstbuffer.h:
6175         * gst/gstminiobject.c:
6176         Add note about refcounting and miniobject/buffer writeability
6177         to docs. Fixes #340604
6178
6179         * gst/gstelementfactory.h:
6180         Added some explanation about @klass.
6181
6182 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
6183
6184         * docs/manual/intro-motivation.xml:
6185         * docs/manual/manual.xml:
6186         Avoid CORBA & Bonobo references (#340598)
6187
6188 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
6189
6190         * docs/manual/basics-bus.xml:
6191         * docs/manual/basics-pads.xml:
6192         Fix up some inaccuracies and omissions (#340609)
6193         
6194 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
6195
6196         * gst/gstghostpad.c:
6197           Small typo in docs (#340625)
6198
6199 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6200
6201         * gst/parse/Makefile.am:
6202           Make 'make -j' proof (see #340698).
6203
6204 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6205
6206         * configure.ac:
6207           Require GLib-2.8 here as well.
6208
6209 2006-05-05  Wim Taymans  <wim@fluendo.com>
6210
6211         * gst/glib-compat.c:
6212         * gst/gst.c: (init_pre):
6213         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
6214         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
6215         (gst_object_dispatch_properties_changed):
6216         * gst/gstobject.h:
6217         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
6218         * gst/gststructure.c: (gst_structure_set_valist):
6219         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
6220         Remove pre glib2.8 compatibility, fixes #340508
6221
6222 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
6223
6224         * gst/gsttaglist.h:
6225           Mention type of tags in doc blurbs.
6226
6227 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
6228
6229         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
6230         (gst_pad_configure_src), (gst_pad_push):
6231         Restore acceptcaps checking behaviour now that good plugins have
6232         been released.
6233
6234 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
6235
6236         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
6237
6238         * gst/gst.c:
6239         * gst/gstbus.c:
6240         * gst/gstclock.c:
6241         * gst/gstevent.c:
6242         * gst/gstformat.c:
6243         * gst/gstmessage.c:
6244         * gst/gstparse.c:
6245         * gst/gstquery.c:
6246         * gst/gstutils.c:
6247         * gst/parse/Makefile.am:
6248         * libs/gst/base/gstadapter.c:
6249         * libs/gst/base/gstbasesrc.c:
6250         * libs/gst/base/gstpushsrc.c:
6251         * libs/gst/base/gsttypefindhelper.c:
6252         * plugins/elements/gstfakesrc.c:
6253         * plugins/elements/gstidentity.c:
6254           Make sure gstprivate.h and/or config.h are
6255           always included first, otherwise some of our
6256           defines (like _FILE_OFFSET_BITS) might be
6257           redefined in the system headers. Fixes build
6258           on opensolaris (#340016).
6259
6260 2006-05-04  Wim Taymans  <wim@fluendo.com>
6261
6262         * docs/libs/gstreamer-libs-sections.txt:
6263         API: addition: gst_adapter_take_buffer()
6264         
6265         * libs/gst/base/gstadapter.c: (gst_adapter_push),
6266         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
6267         (gst_adapter_available_fast):
6268         * libs/gst/base/gstadapter.h:
6269         Prepare for optimizing the hell out of this hugely inefficient
6270         piece of code. 
6271         Added gst_adapter_take_buffer() so we can at least start thinking
6272         about subbuffering and merging.
6273         Added some comments.
6274
6275         * tests/check/Makefile.am:
6276         * tests/check/libs/adapter.c: (GST_START_TEST),
6277         (gst_adapter_suite), (main):
6278         Added GstAdapter check.
6279
6280 2006-05-04  Wim Taymans  <wim@fluendo.com>
6281
6282         * docs/design/part-overview.txt:
6283         Fix some typos, add blurb about buffer flags.
6284
6285 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6286
6287         * docs/libs/gstreamer-libs-sections.txt:
6288           make sure GstBaseTransformClass shows up in the docs
6289         * libs/gst/base/gstbasetransform.c:
6290         * libs/gst/base/gstbasetransform.h:
6291           move docs so gtk-doc picks it up now
6292
6293 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
6294
6295         * docs/libs/gstreamer-libs-sections.txt:
6296           add missing symbols to docs
6297
6298 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
6299
6300         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
6301           back out the newsegment handling change, see #340060 for ongoing
6302           discussion
6303
6304 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
6305
6306         * tools/gst-run.c: (get_candidates), (main):
6307           Fix wrong g_file_test() usage (see glib docs for why it doesn't
6308           work); fix typo in error message. Fixes #340079.
6309
6310 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6311
6312         * common/Makefile.am:
6313         * docs/Makefile.am:
6314         * docs/faq/Makefile.am:
6315         * docs/gst/Makefile.am:
6316         * docs/libs/Makefile.am:
6317         * docs/manual/Makefile.am:
6318         * docs/plugins/Makefile.am:
6319         * docs/pwg/Makefile.am:
6320         * docs/slides/Makefile.am:
6321         * docs/upload.mak:
6322         * common/upload.mak:
6323           move upload.mak to common
6324
6325 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6326
6327         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
6328           add more asserts on refcounts
6329           do more cleanup at end of tests
6330           fix test leaks showing in FC5
6331
6332 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
6333
6334         * plugins/elements/gsttypefindelement.c:
6335         (gst_type_find_element_handle_event):
6336         reverted wrong change and reflowed code to avoid others falling into
6337         this trap
6338
6339 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6340
6341         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
6342           fix changelog entry about last collectpads change,
6343           add notes about proper fix
6344
6345 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6346
6347         * gst/gst.c:
6348         * gst/gstregistry.c: (gst_registry_scan_path_level),
6349         (gst_registry_scan_path):
6350         * gst/gstregistry.h:
6351           only write out registry if it has changed, fixes #338339
6352
6353 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6354
6355         * gst/gstbin.c:
6356         * gst/gstpipeline.c:
6357         * plugins/elements/gstcapsfilter.c:
6358         * plugins/elements/gstfakesink.c:
6359         * plugins/elements/gstfakesrc.c:
6360         * plugins/elements/gstfdsink.c:
6361         * plugins/elements/gstfdsrc.c:
6362         * plugins/elements/gstfilesink.c:
6363         * plugins/elements/gstfilesrc.c:
6364         * plugins/elements/gstidentity.c:
6365         * plugins/elements/gstqueue.c:
6366         * plugins/elements/gsttee.c:
6367         * plugins/elements/gsttypefindelement.c:
6368         (gst_type_find_element_handle_event):
6369           make GstElementDetails const
6370
6371 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6372
6373         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
6374         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
6375         (gst_collect_pads_is_collected), (gst_collect_pads_event):
6376           more detailed debug and formatting cleanup,
6377           forward newsegments to src-pad (so that e.g. adder not eats them)
6378
6379 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6380
6381         * gst/gstutils.c: (gst_element_link_pads):
6382           cleanup double code
6383
6384 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6385
6386         * libs/gst/controller/gstcontroller.c:
6387         (gst_controller_sync_values):
6388           some little tuning
6389         * tests/check/libs/controller.c: (GST_START_TEST),
6390         (gst_controller_suite):
6391           a new test for live value handling
6392
6393 2006-04-28  Wim Taymans  <wim@fluendo.com>
6394
6395         * gst/gstutils.c: (push_and_ref):
6396         Added some more docs.
6397         Fix refcount issue whith gst_element_found_tags() helper 
6398         function. Fixes #338335
6399
6400         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6401         Added testsuite for gst_element_found_tags().
6402
6403 2006-04-28  Michael Smith  <msmith@fluendo.com>
6404
6405         * gst/gstvalue.c: (gst_value_serialize_flags):
6406           Avoid NULL dereference when trying to serialize flags containing
6407           invalid values.
6408
6409 2006-04-28  Michael Smith  <msmith@fluendo.com>
6410
6411         * plugins/elements/gsttypefindelement.c:
6412         (gst_type_find_element_handle_event):
6413           If we get EOS before any data is accumulated, don't use
6414           uninitialised local variables.
6415
6416 2006-04-28  Michael Smith  <msmith@fluendo.com>
6417
6418         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
6419         (gst_dp_event_from_packet):
6420           Fixes in reading/writing events over GDP (not currently used?) - 
6421           dereferencing NULL events for unknown/invalid event types, memory
6422           leak, and change g_warning to GST_WARNING.
6423
6424 2006-04-28  Wim Taymans  <wim@fluendo.com>
6425
6426         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
6427         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
6428         (gst_base_sink_get_position), (gst_base_sink_change_state):
6429         When frame dropping is enabled, we should not ignore frames
6430         without a duration.
6431         Update some documentation.
6432
6433 2006-04-28  Wim Taymans  <wim@fluendo.com>
6434
6435         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
6436         (gst_base_src_send_event), (gst_base_src_change_state):
6437         Documentation updates.
6438
6439 2006-04-28  Wim Taymans  <wim@fluendo.com>
6440
6441         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
6442         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
6443         handle EAGAIN, EINTR and short writes correctly. Also clean
6444         up some error cases, avoid a deadlock on bad file descriptors and
6445         use GST_DEBUG_OBJECT.
6446         Fixes #339843
6447
6448 2006-04-28  Wim Taymans  <wim@fluendo.com>
6449
6450         * gst/gstvalue.c: (gst_value_serialize_buffer),
6451         (gst_value_deserialize_buffer):
6452         Don't try to serialize a GValue with a NULL buffer. 
6453         Fixes #339821.
6454
6455         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6456         Added check for serialisation of NULL buffers.
6457
6458 2006-04-28  Wim Taymans  <wim@fluendo.com>
6459
6460         * gst/gstminiobject.c: (gst_value_take_mini_object):
6461         Taking a NULL miniobject is valid, fix the case where
6462         we try to unref the NULL miniobject.
6463
6464 2006-04-28  Wim Taymans  <wim@fluendo.com>
6465
6466         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
6467
6468         * gst/gstbin.c: (gst_bin_handle_message_func):
6469         Update docs.
6470         Don't leak bin refcount when a state recalc is
6471         in progress and we delay another one #339808.
6472
6473 2006-04-28  Wim Taymans  <wim@fluendo.com>
6474
6475         * docs/design/part-TODO.txt:
6476         Mention QoS as an ongoing work item.
6477
6478         * docs/design/part-buffering.txt:
6479         New doc about buffering that needs to be fleshed out
6480         at some point.
6481
6482         * docs/design/part-qos.txt:
6483         More QoS policy for decoders/demuxers/transforms
6484
6485         * docs/design/part-trickmodes.txt:
6486         Small update.
6487
6488 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6489
6490         * configure.ac:
6491           back to HEAD
6492
6493 === release 0.10.5 ===
6494
6495 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
6496
6497         * configure.ac:
6498           releasing 0.10.5, "Fogo"
6499
6500 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6501
6502         patch by: Wim Taymans
6503
6504         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
6505         (gst_pad_configure_src), (gst_pad_push):
6506         * gst/gstpipeline.c: (gst_pipeline_init):
6507           Fix internal data flow errors.  Fixes #338711.
6508
6509 2006-04-12  Wim Taymans  <wim@fluendo.com>
6510
6511         * tests/check/gst/gstelement.c: (GST_START_TEST):
6512         Don't leak the factory.
6513
6514 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6515
6516         * configure.ac:
6517         * win32/common/config.h:
6518           prerelease
6519
6520 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
6521
6522         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
6523         (gst_controller_unset_all):
6524           Free allocated GstTimedValues when freeing list nodes.
6525           Should fix leaks 'make check-valgrind' complains about.
6526
6527         * win32/common/libgstcontroller.def:
6528           Add gst_controller_unset_all.
6529
6530 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
6531
6532         * docs/libs/gstreamer-libs-sections.txt:
6533         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
6534         (gst_controller_unset_all):
6535         * libs/gst/controller/gstcontroller.h:
6536         API: Added new method gst_controller_unset_all()
6537         fixed gst_controller_unset()
6538         * tests/check/libs/controller.c: (GST_START_TEST),
6539         (gst_controller_suite):
6540         Added two testcases for new and fixed method
6541
6542 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
6543
6544         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
6545           MSG_DONTWAIT is not defined on Cygwin, so work
6546           around that (fixes #317048).
6547           
6548 2006-04-11  Wim Taymans  <wim@fluendo.com>
6549
6550         * gst/gstelementfactory.c: (gst_element_register),
6551         (gst_element_factory_create), (gst_element_factory_make):
6552         Some cleanups.
6553         Fixed a FIXME.
6554         Updated docs (Fixes #131079)
6555
6556         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
6557         Small cleanups.
6558
6559         * tests/check/gst/gstelement.c: (GST_START_TEST),
6560         (gst_element_suite):
6561         Added testcase for elementfactory class field.
6562
6563 2006-04-10  Wim Taymans  <wim@fluendo.com>
6564
6565         * gst/gstsegment.c:
6566         Added some more docs.
6567
6568         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
6569         (gst_base_sink_reset_qos):
6570         Calculate more accurate rate values.
6571
6572 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
6573
6574         * gst/gst_private.h:
6575           add a new #ifdef to use __declspec(dllimport) only for
6576           other modules and not for gstreamer core
6577         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
6578           use gst_guint64_to_gdouble for conversion
6579         * win32/common/libgstreamer.def:
6580           add new exported functions
6581         * win32/vs6/gst_inspect.dsp:
6582         * win32/vs6/gst_launch.dsp:
6583         * win32/vs6/libgstbase.dsp:
6584         * win32/vs6/libgstcontroller.dsp:
6585         * win32/vs6/libgstcoreelements.dsp:
6586         * win32/vs6/libgstdataprotocol.dsp:
6587         * win32/vs6/libgstnet.dsp:
6588           update project files
6589
6590 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
6591
6592         * gst/gstbuffer.c: (gst_subbuffer_class_init):
6593         * gst/gstclock.c: (gst_clock_class_init):
6594         * gst/gstelement.c: (gst_element_class_init):
6595         * gst/gstindex.c: (gst_index_class_init):
6596         * gst/gstindexfactory.c: (gst_index_factory_class_init):
6597         * gst/gstobject.c: (gst_object_class_init),
6598         (gst_signal_object_class_init):
6599         * gst/gstpad.c: (gst_pad_class_init):
6600         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
6601         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
6602         * gst/gstregistry.c: (gst_registry_class_init):
6603         * gst/gstsystemclock.c: (gst_system_clock_class_init):
6604         * gst/gsttask.c: (gst_task_class_init):
6605         * gst/gstxml.c: (gst_xml_class_init):
6606         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
6607         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6608         (gst_base_src_loop):
6609         * libs/gst/controller/gstcontroller.c:/
6610         (_gst_controller_class_init):
6611         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
6612         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
6613         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
6614         * tests/old/examples/plugins/example.c: (gst_example_class_init):
6615         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
6616         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
6617
6618 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
6619
6620         * gst/gstpad.c: (gst_pad_link):
6621           Must set peer pads before calling the link function, otherwise
6622           a task started from a link function might get a flow-not-linked
6623           result when trying to push because the other thread where the
6624           linking happens hasn't had a chance to set the peers yet. This
6625           might happen for example when a queue gets linked to a downstream
6626           element, as queue starts a streaming task when its source pad
6627           gets linked. Happens in real life when playing back flac/musepack
6628           files in playbin (#332390).
6629           
6630 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
6631
6632         * gst/gstindex.h:
6633         * gst/gstxml.h:
6634         * libs/gst/base/gstadapter.h:
6635         * libs/gst/base/gstbasesink.h:
6636         * libs/gst/base/gstbasesrc.h:
6637         * libs/gst/base/gstbasetransform.h:
6638         * libs/gst/base/gstcollectpads.h:
6639         * libs/gst/base/gstpushsrc.h:
6640         Fix broken GObject macros
6641
6642 2006-04-07  Wim Taymans  <wim@fluendo.com>
6643
6644         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
6645         Initialize start and stop times, thanks valgrind.
6646
6647 2006-04-07  Wim Taymans  <wim@fluendo.com>
6648
6649         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
6650         Be a bit nicer to badly behaving upstream elements that expect
6651         us to deal with non TIME segments and timestamps (such as fakesrc
6652         in the testsuite).
6653
6654 2006-04-07  Wim Taymans  <wim@fluendo.com>
6655
6656         * gst/gstbus.c:
6657         Small documentation clarification about the signal watch.
6658
6659         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
6660         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
6661         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
6662         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
6663         (gst_base_sink_get_position_last),
6664         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
6665         Convert and store timestamps in stream time and running time, the
6666         raw timestamps are not useful, also document this better.
6667         Use different window sizes for good and bad QoS observations so
6668         we react to badness a little quicker.
6669         Keep track of the amount of rendered and dropped buffers.
6670         Send QoS timestamps in running time.
6671
6672         * libs/gst/base/gstbasetransform.c:
6673         (gst_base_transform_sink_eventfunc),
6674         (gst_base_transform_handle_buffer):
6675         Compare QoS timestamps against running time.
6676
6677 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
6678
6679         * gst/gstpad.c:
6680           Typo fixes in docs.
6681
6682 2006-04-06  Michael Smith  <msmith@fluendo.com>
6683
6684         * gst/gstpad.c: (gst_pad_set_property):
6685           Use g_value_get_object() instead of g_value_dup_gst_object(),
6686           to avoid double-reffing the pad template (which we then sink,
6687           so this worked previously if (and only if) the pad template
6688           was floating.
6689
6690         * gst/gstpadtemplate.c: (gst_pad_template_init),
6691         (gst_pad_template_pad_created):
6692           Never return floating references to pad templates, create
6693           them as initially-sunken.
6694
6695           Document an extra function (and make this stop sinking our
6696           pad template, since that is now guaranteed to do nothing,
6697           since we created it sunken).
6698
6699         * gst/gstghostpad.c:
6700           Fix docs typo.
6701
6702 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
6703
6704         * gst/gstinfo.c: (__gst_in_valgrind):
6705           Add some newlines.
6706
6707         * plugins/elements/gsttypefindelement.c:
6708         (gst_type_find_element_chain):
6709           Don't leak buffer caps.
6710
6711 2006-04-06  Michael Smith  <msmith@fluendo.com>
6712
6713         * gst/parse/grammar.y:
6714           Fix a leak in parse-launch for any source-or-sink named element 
6715           references used.
6716
6717         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
6718           Unref the pipeline if it exists after we've failed parsing.
6719
6720 2006-04-05  Michael Smith  <msmith@fluendo.com>
6721
6722         * gst/gstpipeline.c: (gst_pipeline_init):
6723           When we create a pipeline bus, initially create it in flushing mode.
6724           Fixes leaks in at least one test, and makes a new pipeline work the
6725           same as one that has gone to READY and then back to NULL.
6726
6727         * gst/gstelement.c:
6728           Typo fix in docs.
6729
6730 2006-04-05  Michael Smith  <msmith@fluendo.com>
6731
6732         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
6733           Unref a pad we reffed.
6734         * tests/check/gst/gstutils.c: (GST_START_TEST):
6735           Unref bins
6736
6737 2006-04-05  Michael Smith  <msmith@fluendo.com>
6738
6739         * gst/gstquery.c: (gst_query_set_formats),
6740         (gst_query_set_formatsv):
6741           Fix leaking GValues in queries, as shown by valgrind/testsuite.
6742
6743 2006-04-05  Michael Smith  <msmith@fluendo.com>
6744
6745         * tests/check/generic/sinks.c: (GST_START_TEST):
6746           Fix a variety of memleaks in sinks check, which are only sometimes 
6747           shown by running the tests under valgrind (weird?).
6748
6749 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
6750
6751         * docs/version.entities.in:
6752           Fix the substituted entity name after thomas' changes on the
6753           weekend.
6754
6755 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6756
6757         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
6758         VALGRIND_PRINTF
6759         
6760 2006-04-05  Andy Wingo  <wingo@pobox.com>
6761
6762         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
6763
6764         * libs/gst/base/gstbasetransform.c
6765         (gst_base_transform_sink_eventfunc): When resetting our segment on
6766         FLUSH_STOP, also update the flag saying we haven't seen a
6767         newsegment.
6768
6769 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
6770
6771         Patch by: Paolo Borelli  <pborelli at katamail dot com>
6772
6773         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
6774         (gst_plugin_check_license):
6775           minor clean-ups: G_DEFINE_TYPE already takes care of the
6776           parent_class stuff, no need to do it twice. Mark array of
6777           license strings as constant. (#337103)
6778           
6779 2006-04-04  Michael Smith  <msmith@fluendo.com>
6780
6781         * tools/gst-inspect.c: (print_element_list):
6782           Free the right plugin list; fixes a memory leak.
6783
6784 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
6785
6786         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
6787
6788         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
6789           Don't error out on empty buffers (#336945).
6790           
6791 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
6792
6793         * docs/libs/gstreamer-libs-sections.txt:
6794         * gst/gsttaglist.c:
6795         * libs/gst/base/gstbasesink.c:
6796         * libs/gst/base/gstbasesink.h:
6797         * libs/gst/base/gstbasesrc.c:
6798         * libs/gst/base/gstbasesrc.h:
6799           Documentation updates. Make BaseSink and BaseSrc docs contain the
6800           class structure so that people can actually see the prototypes for
6801           virtual functions they're supposed to be overriding.
6802
6803 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
6804
6805         * plugins/elements/gsttypefindelement.c:
6806         (gst_type_find_element_chain):
6807           More debug info; when skipping typefinding, send cached
6808           events in all cases.
6809
6810 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
6811
6812         * configure.ac:
6813           use new AS_VERSION and AS_NANO macros
6814         * gst/gst-i18n-lib.h:
6815         * gst/gst.c:
6816         * gst/gsterror.c:
6817         * gst/gstversion.h.in:
6818         * win32/common/config.h:
6819         * win32/common/config.h.in:
6820           update accordingly
6821
6822 2006-03-31  Michael Smith  <msmith@fluendo.com>
6823
6824         * plugins/elements/gsttypefindelement.c:
6825         (gst_type_find_element_chain):
6826           Do not typefind content if the buffers already have caps.
6827           Neccesary for icydemux (#333657), and the right thing to do anyway.
6828
6829 2006-03-30  Wim Taymans  <wim@fluendo.com>
6830
6831         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
6832         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
6833         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
6834         (gst_base_sink_record_qos_observation),
6835         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
6836         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
6837         (gst_base_sink_change_state):
6838         More QoS measurements as described in the design doc.
6839         Get rid of ringbuffer with observations, running average is
6840         more simple and equally good.
6841         Calculates valid proportion now.
6842         Added beginning of flood measurement.
6843
6844 2006-03-29  Wim Taymans  <wim@fluendo.com>
6845
6846         * docs/design/part-qos.txt:
6847         * gst/gstclock.c:
6848         Small documentation updates and additions.
6849
6850 2006-03-29  Wim Taymans  <wim@fluendo.com>
6851
6852         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
6853         (gst_base_src_send_event), (gst_base_src_loop),
6854         (gst_base_src_change_state):
6855         Perform the EOS logic when we reach the segment stop position.
6856         Fix compilation on gcc4.1
6857
6858 2006-03-29  Wim Taymans  <wim@fluendo.com>
6859
6860         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
6861
6862         * plugins/elements/gstqueue.c: (gst_queue_init),
6863         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
6864         (gst_queue_set_property):
6865         * plugins/elements/gstqueue.h:
6866         In queue, when EOS is received, if minimum threshold > max_size -
6867         current_level, there is chance that queue blocks forever in conditional
6868         item del wait. This is because the queue is not emptied completely due
6869         to minimum threshold.  Here is another approach. Instead of setting
6870         cur_levels to max in EOS, just zero all minimum threshold levels. This
6871         should make sure that queue gives out all data. When going to READY
6872         (stop) state, just reset the original minimum threshold levels.
6873         Fixes #336336.
6874
6875 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
6876
6877         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
6878         (gst_type_find_element_handle_event),
6879         (gst_type_find_element_send_cached_events),
6880         (gst_type_find_element_change_state):
6881         * plugins/elements/gsttypefindelement.h:
6882           When typefinding is done in push mode, we should cache
6883           events we receive during typefinding instead of just
6884           dropping them (e.g. newsegment, custom events from
6885           dvdreadsrc etc.) and then send them out once we've
6886           determined the type of the stream (and decodebin
6887           has had a chance to plug in a decoder/demuxer).
6888           
6889 2006-03-27  Wim Taymans  <wim@fluendo.com>
6890
6891         * docs/design/part-qos.txt:
6892         First QoS ideas.
6893
6894 2006-03-27  Wim Taymans  <wim@fluendo.com>
6895
6896         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
6897
6898         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
6899         (gst_base_src_send_event), (gst_base_src_change_state):
6900         Handle element seek correctly when we are streaming.
6901         Fixes #326998.
6902
6903 2006-03-24  Michael Smith  <msmith@fluendo.com>
6904
6905         * docs/faq/gst-uninstalled:
6906           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
6907           allow you to correctly run intalled applications built against old 
6908           core, using plugins that require updated core (e.g. running
6909           installed totem against a full uninstalled gstreamer stack)
6910
6911 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
6912
6913         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
6914         more debug details
6915
6916 2006-03-24  Wim Taymans  <wim@fluendo.com>
6917
6918         * docs/gst/gstreamer-sections.txt:
6919         Rearrange the order of the methods so that related methods
6920         are grouped together in sections.
6921
6922 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
6923
6924         * gst/gstelement.c:
6925           Little clarification in the docs
6926
6927 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
6928
6929         * docs/README:
6930         formatting fix
6931         * plugins/elements/gstidentity.c:
6932         * plugins/elements/gstqueue.c:
6933         * plugins/elements/gsttee.c:
6934         * plugins/elements/gsttypefindelement.c:
6935         GST_ELEMENT_DETAILS formatting
6936
6937 2006-03-24  Wim Taymans  <wim@fluendo.com>
6938
6939         * libs/gst/base/gstbasesink.h:
6940         Only add fields, not insert or we break ABI.
6941
6942 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
6943
6944         * win32/common/libgstbase.def:
6945         * win32/common/libgstreamer.def:
6946           Update, add recently added functions.
6947
6948 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
6949
6950         * docs/gst/gstreamer-sections.txt:
6951         * gst/gstutils.c: (gst_pad_query_peer_position),
6952         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
6953         * gst/gstutils.h:
6954           API: add some new utility functions:
6955            - gst_pad_query_peer_position()
6956            - gst_pad_query_peer_duration()
6957            - gst_pad_query_peer_convert()
6958           
6959 2006-03-23  Wim Taymans  <wim@fluendo.com>
6960
6961         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6962         (gst_base_sink_init), (gst_base_sink_finalize),
6963         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
6964         (gst_base_sink_set_property), (gst_base_sink_get_property),
6965         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
6966         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
6967         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
6968         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
6969         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
6970         (gst_base_sink_preroll_object), (gst_base_sink_event),
6971         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
6972         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
6973         (gst_base_sink_query), (gst_base_sink_change_state):
6974         Decouple max-lateness and the fact that QoS messages are generated
6975         with a new property (qos).
6976         added API: GstBaseSink::async_play()
6977         Add vmethod so subclasses can be notified of ASYNC playing
6978         state changes.
6979         Collect timestamp start and stop to report better current
6980         position in EOS/PLAYING/PAUSED/READY/NULL.
6981         Refactor QoS/frame dropping and other measurements.
6982         API: GstBaseSrc::qos
6983         Fixes #326311
6984
6985         * libs/gst/base/gstbasesink.h:
6986         Added Private struct.
6987         API: gst_base_sink_set_qos_enabled()
6988         API: gst_base_sink_is_qos_enabled()
6989
6990 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
6991
6992         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
6993           If compiling against GLib-2.8 or newer, try to read the
6994           registry file using GMappedFile first before falling back
6995           to fopen() + fread() (#332151).
6996
6997 2006-03-22  Wim Taymans  <wim@fluendo.com>
6998
6999         * gst/gstinfo.c: (gst_debug_set_active),
7000         (gst_debug_category_set_threshold):
7001         Disable debugging unless explicitly activated.
7002         Fixes #335480.
7003
7004 2006-03-22  Wim Taymans  <wim@fluendo.com>
7005
7006         * gst/gstelement.c: (gst_element_set_locked_state),
7007         (gst_element_dispose):
7008         Cleanup the error case.
7009
7010         * gst/gstobject.c: (gst_object_dispose):
7011         print a critical when some object was disposed with
7012         a parent, also revive the object since it might
7013         crash the parent.
7014
7015 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
7016
7017         * tools/gst-launch.1.in:
7018           Fix another typo.
7019
7020 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7021
7022         * configure.ac:
7023         * tests/check/Makefile.am:
7024           disable some tests when we don't have a registry
7025         * tests/check/gst/gstutils.c: (gst_utils_suite):
7026           don't build the part that needs parsing
7027
7028 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7029
7030         * gst/Makefile.am
7031         * tests/examples/Makefile.am:
7032           fix --disable-parse build
7033
7034 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
7035
7036         * tools/gst-feedback.1.in:
7037           Fix typo: s/feeback/feedback/ (#133494).
7038
7039 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
7040
7041         * tools/Makefile.am:
7042         * tools/gst-launch.1.in:
7043           Add FILES section and correct entry about GST_REGISTRY_PATH
7044           environment variable (#133495; #133494).
7045
7046 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
7047
7048         * tools/Makefile.am:
7049         * tools/gst-md5sum.1.in:
7050         * tools/gst-md5sum.c:
7051           Remove gst-md5sum and man page (the md5sink element
7052           required was removed ages ago)
7053
7054 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
7055
7056         * gst/gststructure.c: (gst_structure_id_set_value):
7057           Make sure that string fields in structures/taglists
7058           contain valid UTF-8 - we don't want to pass rubbish to
7059           applications because of a buggy plugin (cp. #334167).
7060
7061 2006-03-21  Edward Hervey  <edward@fluendo.com>
7062
7063         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
7064         (gst_bin_handle_message_func):
7065         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
7066         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
7067         (gst_element_set_bus_func):
7068         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
7069         * gst/gstminiobject.c: (gst_value_set_mini_object),
7070         (gst_value_take_mini_object):
7071         * gst/gstpad.c: (gst_pad_set_pad_template):
7072         * gst/gstpipeline.c: (gst_pipeline_dispose),
7073         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
7074         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
7075         (gst_collect_pads_chain):
7076         * libs/gst/net/gstnettimeprovider.c:
7077         (gst_net_time_provider_set_property):
7078         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
7079         It's in fact all issues with gst_*object_replace().
7080
7081 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
7082
7083         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
7084         
7085         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7086         * pkgconfig/gstreamer-check.pc.in:
7087           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
7088
7089 2006-03-21  Edward Hervey  <edward@fluendo.com>
7090
7091         * gst/gstbuffer.h:
7092         * gst/gstevent.h:
7093         * gst/gstmessage.h:
7094         gst_[buffer|event|message]_ref() macros are replaced by a static
7095         inline functions because gcc-4.1 will about if the return value
7096         isn't used.
7097         * tests/check/gst/gstevent.c: (event_probe):
7098         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
7099
7100 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
7101
7102         * gst/gstutils.h:
7103         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
7104         the type' case. (Closes: #335195 for now). In the future, when we
7105         depend on GLib 2.10, we could also intern the type name using
7106         g_intern_static_string()
7107
7108 2006-03-20  Wim Taymans  <wim@fluendo.com>
7109
7110         * gst/gstbin.c: (gst_bin_handle_message_func),
7111         (bin_query_max_init), (bin_query_position_fold),
7112         (bin_query_position_done), (gst_bin_query):
7113         Position query should also take max of all streams.
7114
7115 2006-03-20  Wim Taymans  <wim@fluendo.com>
7116
7117         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
7118         (gst_fake_src_finalize):
7119         Fix leaks in fakesrc.
7120
7121         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
7122         Fix leaks in the testcase.
7123
7124 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
7125
7126         * gst/gst_private.h:
7127           add win32 specific import decoration(__declspec(dllimport)) 
7128           for all extern GstDebugCategory * variables
7129         * win32/common/libgstbase.def:
7130         * win32/common/libgstcontroller.def:
7131         * win32/common/libgstreamer.def:
7132           Add some exports, remove empty lines
7133         * win32/common/libgstdataprotocol.def:
7134         * win32/common/libgstdataprotocol.dsp:
7135         * win32/common/libgstnet.def:
7136         * win32/common/libgstnet.dsp:
7137           new project files and exportation files added
7138         
7139 2006-03-19  Wim Taymans  <wim@fluendo.com>
7140
7141         * tests/check/libs/basesrc.c: (eos_event_counter):
7142         Use proper return value for probe.
7143
7144 2006-03-17  Wim Taymans  <wim@fluendo.com>
7145
7146         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
7147         (gst_pad_push):
7148         Don't leak buffers, caps and pads on negotiation errors.
7149
7150 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
7151
7152         * docs/faq/cvs.xml:
7153         * docs/faq/dependencies.xml:
7154         * docs/faq/developing.xml:
7155         * docs/faq/faq.xml:
7156         * docs/faq/general.xml:
7157         * docs/faq/getting.xml:
7158         * docs/faq/legal.xml:
7159         * docs/faq/troubleshooting.xml:
7160         * docs/faq/using.xml:
7161         Faq review and update.
7162
7163 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
7164
7165         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
7166         (gst_pad_push):
7167         Don't pound the cpu to pieces by checking get_caps when accept_caps
7168         is called with the same caps as the pad already has.
7169         Use GST_DEBUG_OBJECT when outputting caps change information.
7170
7171 2006-03-15  Wim Taymans  <wim@fluendo.com>
7172
7173         * gst/gstclock.c: (gst_clock_class_init):
7174         Fix docs.
7175
7176 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
7177
7178         * gst/gstbuffer.h:
7179         Documentation fix.
7180
7181         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
7182         (gst_pad_accept_caps), (gst_pad_configure_sink),
7183         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
7184         Make the default acceptcaps behaviour be to check the requested 
7185         caps against the gst_pad_get_caps output. 
7186
7187         Ensure that gst_pad_accept_caps is used to check caps when a pad
7188         doesn't have a setcaps function, so that pads automatically refuse 
7189         caps that they don't allow in their pad template. (Fixes #332986)
7190
7191         When a buffer with attached caps is pushed, ensure that the source 
7192         pad receives those caps even if the element didn't call
7193         gst_pad_set_caps first.
7194
7195 2006-03-15  Wim Taymans  <wim@fluendo.com>
7196
7197         * libs/gst/base/gstadapter.c:
7198         Add some docs.
7199
7200 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
7201
7202         * win32/common/libgstbase.def:
7203         * win32/common/libgstcontroller.def:
7204         * win32/common/libgstreamer.def:
7205           Add a whole bunch of missing functions (#334434).
7206
7207 2006-03-14  Wim Taymans  <wim@fluendo.com>
7208
7209         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
7210         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
7211         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
7212         Better debug info when we receive a segment event.
7213         Reorganize a bit so we can pass the get_times() results around.
7214         Use the segment format when calculating the running time.
7215         Don't do QoS is sync is disabled or we have no clock or the
7216         element does not want us to sync to the clock.
7217         Don't drop buffers if QoS is disabled for now.
7218
7219 2006-03-14  Wim Taymans  <wim@fluendo.com>
7220
7221         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
7222         Marked the stats property as unimplemented so people don't get
7223         wild ideas.
7224         Add debug message when regression goes wrong.
7225         Added some more docs.
7226
7227 2006-03-14  Wim Taymans  <wim@fluendo.com>
7228
7229         * gst/gstsegment.c: (gst_segment_to_stream_time):
7230         Return correct return type in case of errors.
7231
7232 2006-03-14  Wim Taymans  <wim@fluendo.com>
7233
7234         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
7235           Don't segfault on invalid formats.
7236
7237 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
7238
7239         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
7240           Can't use gst_segment_to_running_time() when the segment
7241           is not in GST_TIME_FORMAT (like with filesink, for example).
7242           Stops flac encoding pipelines from spewing critical warnings
7243           at EOS (#331248).
7244           
7245 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
7246
7247         * gst/gstpipeline.c: (gst_pipeline_class_init):
7248           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
7249
7250         * plugins/elements/gsttypefindelement.c:
7251         (gst_type_find_element_handle_event):
7252           Don't try to typefind empty streams.
7253
7254 2006-03-14  Wim Taymans  <wim@fluendo.com>
7255
7256         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
7257         (gst_base_sink_do_qos):
7258         Separate QoS calculation.
7259         Only drop buffers when lateness is bigger than the 
7260         duration of the buffer.
7261
7262 2006-03-13  Wim Taymans  <wim@fluendo.com>
7263
7264         * gst/gstpipeline.c: (gst_pipeline_set_property),
7265         (gst_pipeline_get_property), (do_pipeline_seek),
7266         (gst_pipeline_change_state), (gst_pipeline_set_delay),
7267         (gst_pipeline_get_delay):
7268         Don't deadlock when reading properties.
7269
7270 2006-03-13  Wim Taymans  <wim@fluendo.com>
7271
7272         * libs/gst/base/gstbasetransform.c:
7273         (gst_base_transform_class_init), (gst_base_transform_init),
7274         (gst_base_transform_sink_event),
7275         (gst_base_transform_sink_eventfunc),
7276         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
7277         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
7278         (gst_base_transform_set_property),
7279         (gst_base_transform_get_property),
7280         (gst_base_transform_change_state), (gst_base_transform_update_qos),
7281         (gst_base_transform_set_qos_enabled),
7282         (gst_base_transform_is_qos_enabled):
7283         * libs/gst/base/gstbasetransform.h:
7284         Make basetransform virtual method for src events too.
7285         Handle QOS in basetransform.
7286         API: gst_base_transform_update_qos()
7287         API: gst_base_transform_set_qos_enabled()
7288         API: gst_base_transform_is_qos_enabled()
7289
7290 2006-03-13  Wim Taymans  <wim@fluendo.com>
7291
7292         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
7293         (gst_base_sink_do_sync):
7294         Small cleanups.
7295         Use QOS debug category.
7296
7297 2006-03-13  Wim Taymans  <wim@fluendo.com>
7298
7299         * plugins/elements/gstqueue.c:
7300         Very small doc update.
7301
7302 2006-03-13  Wim Taymans  <wim@fluendo.com>
7303
7304         * gst/gst_private.h:
7305         * gst/gstinfo.c: (_gst_debug_init):
7306         Added QOS debug category
7307
7308 2006-03-13  Wim Taymans  <wim@fluendo.com>
7309
7310         * docs/gst/gstreamer-sections.txt:
7311         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
7312         * gst/gstbin.h:
7313         * gst/gstbus.c: (gst_bus_class_init):
7314         * gst/gstbus.h:
7315         * gst/gstclock.c:
7316         * gst/gstelement.c: (gst_element_set_locked_state):
7317         * gst/gstsegment.c:
7318         Documentation updates.
7319
7320         * gst/gstpipeline.c: (gst_pipeline_get_type),
7321         (gst_pipeline_class_init), (gst_pipeline_init),
7322         (gst_pipeline_dispose), (gst_pipeline_set_property),
7323         (gst_pipeline_get_property), (do_pipeline_seek),
7324         (gst_pipeline_send_event), (gst_pipeline_change_state),
7325         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
7326         (gst_pipeline_get_delay):
7327         * gst/gstpipeline.h:
7328         Added methods for setting the delay.
7329         API: gst_pipeline_set_delay()
7330         API: gst_pipeline_get_delay()
7331         Add pipeline debug category
7332         Various cleanups.
7333         Updated docs.
7334         Don't reset stream time when seek failed.
7335
7336 2006-03-13  Wim Taymans  <wim@fluendo.com>
7337
7338         * docs/design/draft-klass.txt:
7339         * docs/design/part-clocks.txt:
7340         * docs/design/part-events.txt:
7341         * docs/design/part-gstbin.txt:
7342         * docs/design/part-gstpipeline.txt:
7343         * docs/design/part-messages.txt:
7344         * docs/design/part-negotiation.txt:
7345         * docs/design/part-overview.txt:
7346         * docs/design/part-preroll.txt:
7347         * docs/design/part-seeking.txt:
7348         * docs/design/part-states.txt:
7349         * docs/design/part-streams.txt:
7350         Documentation updates.
7351
7352 2006-03-12  Julien MOUTTE  <julien@moutte.net>
7353
7354         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
7355         us to leak strings...
7356
7357 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7358
7359         * libs/gst/net/gstnettimeprovider.c:
7360           fix docs
7361         * win32/common/config.h:
7362           update
7363
7364 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
7365
7366         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
7367
7368         * configure.ac:
7369           Don't check for libgnomeui (leftover from old examples
7370           that aren't built or disted any longer) (#334303).
7371           
7372 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
7373
7374         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
7375         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
7376           Emit RESOURCE_NO_SPACE_LEFT error here as well when
7377           there's no space left on the device.
7378
7379 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
7380
7381         * gst/gstclock.h:
7382           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
7383           to cast the input to GstClockTime before comparing with
7384           another GstClockTime value.
7385
7386 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7387
7388         * configure.ac:
7389           back to trunk
7390
7391 === release 0.10.4 ===
7392
7393 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
7394
7395         * configure.ac:
7396           releasing 0.10.4, "Light"
7397
7398 2006-03-10  Michael Smith  <msmith@fluendo.com>
7399
7400         * libs/gst/dataprotocol/dataprotocol.c:
7401           Fix docs for dataprocotol to not get the return types completely
7402           wrong for a few functions.
7403
7404 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
7405
7406         * docs/gst/gstreamer-sections.txt:
7407         * gst/gstpipeline.c: (gst_pipeline_class_init),
7408         (gst_pipeline_init), (gst_pipeline_set_property),
7409         (gst_pipeline_get_property), (gst_pipeline_change_state),
7410         (gst_pipeline_set_auto_flush_bus),
7411         (gst_pipeline_get_auto_flush_bus):
7412         * gst/gstpipeline.h:
7413           Add new API: gst_pipeline_set_auto_flush_bus() and
7414           gst_pipeline_get_auto_flush_bus() to disable automatic
7415           flushing of the pipeline's GstBus when going from READY
7416           to NULL state (#332045).
7417
7418 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
7419
7420         * docs/gst/gstreamer-sections.txt:
7421         * gst/gsturi.c: (gst_uri_has_protocol):
7422         * gst/gsturi.h:
7423            Add new API: gst_uri_has_protocol() (#333779).
7424
7425 2006-03-09  Wim Taymans  <wim@fluendo.com>
7426
7427         * gst/gstclock.c: (gst_clock_entry_new),
7428         (gst_clock_id_compare_func), (gst_clock_id_wait),
7429         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
7430         (gst_clock_init), (gst_clock_get_internal_time),
7431         (gst_clock_set_master), (do_linear_regression),
7432         (gst_clock_add_observation), (gst_clock_set_property):
7433         * gst/gstclock.h:
7434         Review docs.
7435         Small cleanups.
7436         Fix a possible segfault when the window-size is made smaller.
7437         Calculate jitter before performing the clock wait. Ideally
7438         the clock implementation should calculate jitter but we need
7439         API breakage for that.
7440
7441         * gst/gstsystemclock.c: (gst_system_clock_init):
7442         Docs review.
7443         
7444         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7445         Remove leftover else
7446
7447         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
7448         (gst_systemclock_suite):
7449         Added check to test GST_CLOCK_DIFF.
7450
7451 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
7452
7453         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
7454         (gst_type_find_helper_get_range):
7455           If we are provided with the size, we should implement
7456           GstTypeFind::get_length, so that typefind functions who
7457           want to can actually peek at the middle of a file.
7458
7459 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
7460
7461         * docs/manual/advanced-dataaccess.xml:
7462           Add some very very basic error checking.
7463
7464         * docs/pwg/appendix-checklist.xml:
7465           Some updates to the list of things to check when writing an element.
7466
7467 2006-03-08  Wim Taymans  <wim@fluendo.com>
7468
7469         * docs/design/part-element-transform.txt:
7470         Added some docs about the design of tranform elements.
7471
7472         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
7473         (gst_base_src_loop), (gst_base_src_change_state):
7474         Mark buffers with the DISCONT flag.
7475
7476 2006-03-08  Michael Smith  <msmith@fluendo.com>
7477
7478         * gst/gstregistry.h:
7479         * gst/gstregistryxml.c: (gst_registry_save),
7480         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
7481         (gst_registry_xml_save_pad_template),
7482         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
7483         (gst_registry_xml_write_cache):
7484           Rewrite registry-saving to avoid race conditions and check for
7485           failed writes.
7486
7487 2006-03-08  Wim Taymans  <wim@fluendo.com>
7488
7489         * libs/gst/base/gstbasetransform.c:
7490         (gst_base_transform_transform_caps),
7491         (gst_base_transform_transform_size),
7492         (gst_base_transform_prepare_output_buffer),
7493         (gst_base_transform_get_unit_size),
7494         (gst_base_transform_buffer_alloc),
7495         (gst_base_transform_handle_buffer),
7496         (gst_base_transform_change_state):
7497         Cleanups, separate normal flow from errors, add sensible
7498         DEBUG lines.
7499         Don't try to renegotiate when allocating an output buffer.
7500         Also copy DISCONT buffer flag when copying a buffer.
7501         Reset the transform after we finish streaming, not during.
7502
7503 2006-03-08  Wim Taymans  <wim@fluendo.com>
7504
7505         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7506         Use last buffer timestamp in qos message.
7507
7508 2006-03-07  Wim Taymans  <wim@fluendo.com>
7509
7510         Patch by: Christophe Fergeau
7511
7512         * docs/pwg/advanced-tagging.xml:
7513         * docs/pwg/building-pads.xml:
7514           fixes #333416
7515
7516 2006-03-07  Wim Taymans  <wim@fluendo.com>
7517
7518         * docs/libs/gstreamer-libs-sections.txt:
7519         Added basesink new methods.
7520
7521         * gst/gstevent.c:
7522         * gst/gstevent.h:
7523         Docs updates. Flesh out the QoS docs.
7524
7525         * libs/gst/base/gstadapter.c:
7526         Small doc clarification about ownership and flushing.
7527
7528         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
7529         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
7530         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
7531         (gst_base_sink_get_property), (gst_base_sink_do_sync):
7532         * libs/gst/base/gstbasesink.h:
7533         API additions: 
7534         Added new methods to allow subclass to control max-lateness 
7535         and sync.
7536         Generate very basic QoS events based on last sync observation.
7537         Updated docs, fix typo, added some QoS blurb.
7538
7539         * libs/gst/base/gstbasesrc.c:
7540         Remove obsolete _get_state() calls from docs.
7541
7542 2006-03-07  Wim Taymans  <wim@fluendo.com>
7543
7544         * docs/libs/gstreamer-libs-sections.txt:
7545         * libs/gst/base/gstbasetransform.h:
7546         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
7547         Fix docs for GstBaseSrc.
7548
7549 2006-03-07  Wim Taymans  <wim@fluendo.com>
7550
7551         * docs/gst/gstreamer-sections.txt:
7552         * gst/gstbuffer.h:
7553         * gst/gstvalue.c:
7554         * libs/gst/base/gstbasetransform.h:
7555         Small documentation fixes.
7556
7557 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
7558
7559         * gst/gstvalue.c:
7560           Document thread-unsafety of gst_value_register_foo_func()
7561           when used at the same time as gst_value_foo() (#322628).
7562
7563 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
7564
7565         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
7566         (gst_push_src_check_get_range):
7567           Push sources don't support pull mode by default.
7568
7569 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
7570
7571         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
7572         (gst_base_src_init), (gst_base_src_pad_check_get_range),
7573         (gst_base_src_default_check_get_range):
7574         * libs/gst/base/gstbasesrc.h:
7575           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
7576           provide default implementation, and rename
7577           gst_base_src_check_get_range() to
7578           gst_base_src_pad_check_get_range() for clarity.
7579
7580 2006-03-06  Wim Taymans  <wim@fluendo.com>
7581
7582         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
7583         Make property overridable.
7584
7585 2006-03-06  Wim Taymans  <wim@fluendo.com>
7586
7587         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
7588         (gst_base_sink_init), (gst_base_sink_set_property),
7589         (gst_base_sink_get_property), (gst_base_sink_do_sync):
7590         * libs/gst/base/gstbasesink.h:
7591         API addition: Make max-lateness a property.
7592
7593 2006-03-06  Wim Taymans  <wim@fluendo.com>
7594
7595         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
7596         (gst_base_sink_do_sync), (gst_base_sink_render_object):
7597         Don't ever draw a frame that is >10ms late.
7598
7599 2006-03-06  Michael Smith  <msmith@fluendo.com>
7600
7601         * gst/gstmessage.c: (_gst_message_copy):
7602           When copying a message, set the parent_refcount of the enclosed
7603           structure to point at the copy, not the original message.
7604
7605 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
7606
7607         Patch by: Christophe Fergeau
7608
7609         * gst/gstutils.h:
7610           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
7611           usable in c++ code (#333417)
7612
7613 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7614
7615         * gst/gstclock.h:
7616           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
7617
7618 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
7619
7620         * libs/gst/base/gstbasetransform.c:
7621         (gst_base_transform_transform_caps):
7622           Make sure caps are writable before passing them to
7623           gst_caps_append().
7624
7625 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
7626
7627         * gst/gsterror.h:
7628           Fix some minor docs errors.
7629
7630 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
7631
7632           Patch by: Ross Burton <ross at burtonini dot com>
7633
7634         * gst/gsterror.c: (_gst_resource_errors_init):
7635         * gst/gsterror.h:
7636           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
7637
7638 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
7639
7640         * gst/gst.c:
7641         Add a check and output a g_warning when GStreamer is built
7642         against GLib 2.6 but running against 2.8 or higher, and vice 
7643         versa. (Closes: #323542)
7644
7645 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
7646
7647         * gst/parse/parse.l:
7648           Commit patch for parse_launch syntax from #331255. Removes 
7649           support for quoted strings and mimetypes when writing filtered 
7650           caps. See the bug report for more details - I'm pretty sure this
7651           obscure feature is not in use by _anyone_ anywhere.
7652
7653           With this simple change, the size of the gstreamer.so here 
7654           drops from 2193KB to 1565KB.
7655
7656 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
7657
7658         * plugins/elements/gsttypefindelement.h:
7659         * plugins/elements/gsttypefindelement.c:
7660         (gst_type_find_element_src_event), (start_typefinding),
7661         (stop_typefinding), (gst_type_find_element_handle_event),
7662         (gst_type_find_element_chain),
7663         (gst_type_find_element_chain_do_typefinding):
7664           Use gst_type_find_helper_for_buffer() for chain-based
7665           typefinding.
7666
7667 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
7668
7669         * plugins/elements/gsttypefindelement.c:
7670         (gst_type_find_element_class_init),
7671         (gst_type_find_element_set_property),
7672         (gst_type_find_element_get_property):
7673           Deprecate "maximum" property (not only was it only taken into
7674           account for typefinding in push-mode anyway, it also was never
7675           actually possible to set it in the first place because the
7676           property was registered with the numeric property ID for the
7677           "minimum" property). Register "maximum" property correctly,
7678           for the sake of future copy'n'pasters. Remove some cruft
7679           from property get/set functions.
7680
7681 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
7682
7683         * plugins/elements/gsttypefindelement.c:
7684         (gst_type_find_element_activate):
7685           Use gst_type_find_helper_get_range() here, so we
7686           can honour the "minimum" property and also emit
7687           the signal with the correct probability of the found caps.
7688
7689 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
7690
7691         * docs/libs/gstreamer-libs-sections.txt:
7692         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
7693         (helper_find_suggest), (gst_type_find_helper_get_range),
7694         (gst_type_find_helper):
7695         * libs/gst/base/gsttypefindhelper.h:
7696           New API: gst_type_find_helper_get_range() (#333042).
7697
7698 2006-03-02  Michael Smith  <msmith@fluendo.com>
7699
7700         * gst/gstregistryxml.c: (load_feature):
7701           Asserting on a failure to read part of the registry is Not Cool.
7702           Just log a warning and return NULL (which is already handled)
7703
7704 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
7705
7706         * win32/common/libgstbase.def:
7707           added export of gst_type_find_helper_for_buffer
7708         * win32/common/libgstbase.def:
7709           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
7710           gst_ghost_pad_get_target
7711
7712 2006-02-28  Wim Taymans  <wim@fluendo.com>
7713
7714         * docs/design/draft-klass.txt:
7715         We use Filter now.
7716         Added Connector to mark elements that are only used to
7717         allow pipeline connections.
7718         Moved Debug to extra feature since most of them are 
7719         functionally something else.
7720
7721 2006-02-28  Wim Taymans  <wim@fluendo.com>
7722
7723         * docs/design/draft-klass.txt:
7724         Some updates and clarifications.
7725
7726 2006-02-28  Wim Taymans  <wim@fluendo.com>
7727
7728         * docs/design/draft-klass.txt:
7729         Proposal for klass field values.
7730
7731         * docs/design/part-streams.txt:
7732         Start of a doc describing stream anatomy.
7733
7734 2006-02-28  Wim Taymans  <wim@fluendo.com>
7735
7736         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
7737         Help the compiler a bit with type registration.
7738         Use existing forward cod path instead of duplicating it when 
7739         handling a message.
7740         
7741         * gst/gstbus.c: (gst_bus_get_type):
7742         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
7743         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
7744         * gst/gstclock.c: (gst_clock_get_type):
7745         * gst/gstelement.c: (gst_element_get_type),
7746         * gst/gstelementfactory.c: (gst_element_factory_get_type):
7747         * gst/gstindexfactory.c: (gst_index_factory_get_type):
7748         * gst/gstminiobject.c: (gst_mini_object_get_type):
7749         * gst/gstpad.c: (gst_pad_get_type):
7750         * gst/gstsegment.c: (gst_segment_get_type):
7751         * gst/gststructure.c: (gst_structure_get_type):
7752         * gst/gstsystemclock.c: (gst_system_clock_get_type):
7753         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
7754         * gst/gstvalue.c:
7755         Help compiler with type registration.
7756
7757         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
7758         Small doc update.
7759
7760 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
7761
7762         * plugins/elements/gsttypefindelement.c:
7763         (gst_type_find_element_handle_event):
7764           When we get an EOS event and have not found a type yet
7765           (most likely because we had not yet accumulated
7766           TYPE_FIND_MIN_SIZE of data yet), try to determine the
7767           type given the data we have so far. Fixes typefinding
7768           for very short streams again, most notably quicktime
7769           redirections as used on Apple's trailer site (#331701).
7770
7771 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
7772
7773         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
7774         (gst_type_find_helper):
7775           Try typefinding factories with the highest rank first.
7776
7777 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
7778
7779         * docs/libs/gstreamer-libs-docs.sgml:
7780         * docs/libs/gstreamer-libs-sections.txt:
7781         * libs/gst/base/gsttypefindhelper.c:
7782           Add section for typefind helper and add documentation
7783           for the old and the new function.
7784
7785 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
7786
7787         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
7788         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
7789         (gst_type_find_helper_for_buffer):
7790         * libs/gst/base/gsttypefindhelper.h:
7791           New API: gst_type_find_helper_for_buffer() (#332723).
7792           
7793 2006-02-27  Michael Smith  <msmith@fluendo.com>
7794
7795         Patch by: Loïc Minier
7796
7797         * configure.ac:
7798         * docs/Makefile.am:
7799         * docs/slides/Makefile.am:
7800           prevent CVS directories getting disted.
7801
7802 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
7803
7804         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
7805           Use the REFCOUNTING category for caps refcounting.
7806           
7807 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
7808
7809         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
7810           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
7811
7812 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
7813
7814         * plugins/elements/gsttypefindelement.c:
7815         (gst_type_find_element_activate):
7816           Use gst_pad_check_pull_range() before _activate_pull()
7817           to avoid unnecessary open/close (see #331690).
7818
7819 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
7820
7821         * gst/gstutils.c:
7822           Docs enhancement: make it crystal clear what the
7823           gst_pad_add_*_probe() callbacks should look like.
7824
7825 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
7826
7827         * libs/gst/base/gstbasesrc.c:
7828           Document how applications can stop recording from
7829           live sources (see #330996).
7830
7831 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
7832
7833         * tests/check/Makefile.am:
7834         * tests/check/libs/basesrc.c: (eos_event_counter),
7835         (basesrc_eos_events_pull), (basesrc_eos_events_push),
7836         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
7837         (gst_basesrc_suite), (main):
7838           ... and add some tests for the base source EOS stuff.
7839
7840 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
7841
7842         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
7843           Test case originally showed the problem fixed below,
7844           but was then amended. Add checks back at the place
7845           where they used to be.
7846
7847 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
7848
7849         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
7850         (gst_base_src_init), (gst_base_src_loop),
7851         (gst_base_src_activate_push), (gst_base_src_activate_pull),
7852         (gst_base_src_change_state):
7853         * libs/gst/base/gstbasesrc.h:
7854           Don't unconditionally send EOS when going from PAUSED to
7855           READY state, esp. make sure we don't send two EOS events
7856           in some cases (e.g. one when reaching EOS and one when
7857           going from PAUSED to READY). Also, we don't want to send
7858           EOS events when operating in pull mode. However, we do
7859           want to send an EOS event when shutting down a live
7860           source explicitly, for example (fixes #330996).
7861           
7862 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
7863
7864         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
7865           Update src->read_position after a seek when not using mmap.
7866           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
7867
7868 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
7869
7870         * gst/Makefile.am:
7871         * gst/gstparse.h:
7872         * gst/gstutils.c:
7873         * gst/gstutils.h:
7874         Make things work with --disable-parse as they do with 
7875         --disable-load-save - the symbols involved disappear, but the
7876         header is still installed and GST_DISABLE_PARSE is included via
7877         gstconfig.h
7878
7879 2006-02-20  Julien MOUTTE  <julien@moutte.net>
7880
7881         * libs/gst/base/gstbasetransform.c:
7882         (gst_base_transform_change_state): Fix a stupid bug. I was 
7883         sure I compiled that.
7884
7885 2006-02-20  Julien MOUTTE  <julien@moutte.net>
7886
7887         * gst/gstpad.c: (gst_pad_set_blocked_async):
7888         * gst/gstutils.c: (gst_pad_add_data_probe),
7889         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
7890         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
7891         (gst_pad_remove_buffer_probe): Make those function act on the
7892         ghostpad target when it's a ghostpad. (Closes #331727)
7893
7894 2006-02-20  Julien MOUTTE  <julien@moutte.net>
7895
7896         * libs/gst/base/gstbasetransform.c:
7897         (gst_base_transform_change_state): Make basetransform reusable.
7898         (Closes #331898)
7899
7900 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
7901
7902         * docs/random/release:
7903         Move the current documentation of how to do a release to the top
7904         of the file.
7905
7906         * gst/gstbin.c: (gst_bin_class_init),
7907         (gst_bin_handle_message_func):
7908         Allow multiple state-recalculation threads. (Closes #328873)
7909
7910 2006-02-19  Julien MOUTTE  <julien@moutte.net>
7911
7912         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
7913         * gst/gstpad.c: (gst_pad_set_event_function),
7914         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
7915         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
7916         2 strings. You can't use the STR_NULL macro on that.
7917
7918 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
7919
7920         * gst/gstpad.c: (gst_pad_set_event_function),
7921         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
7922         (gst_pad_set_getcaps_function)
7923         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
7924           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
7925           So now, we can use --gst-debug-level=5 on Windows
7926         * win32/common/libgstcontroller.def:
7927           Added export of gst_controller_init
7928         * win32/vs6/libgstcontroller.dsp:
7929           Fixed Release post build configuration
7930
7931 2006-02-17  Wim Taymans  <wim@fluendo.com>
7932
7933         * tests/check/gst/gstquery.c: (GST_START_TEST):
7934         Added another check.
7935
7936 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
7937
7938         * plugins/elements/gsttypefindelement.c: (find_peek):
7939           We can do peeks at non-zero offsets, as long as they
7940           fall within the buffer we have.
7941
7942 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
7943
7944         * tests/check/Makefile.am:
7945         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
7946         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
7947         (parse_suite), (main):
7948           Add testsuite for parse launch syntax
7949
7950 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
7951
7952         * plugins/elements/gsttypefindelement.c:
7953         (gst_type_find_element_chain):
7954           When typefinding is unsuccessful in the chain function, don't
7955           error out immediately. Only error out with NO_CAPS_FOUND if
7956           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
7957           otherwise simply wait for more data so we can try typefinding
7958           again with more data later. Also, don't attempt to typefind
7959           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
7960           this should improve typefinding from network sources where the
7961           size of the first buffer can be somewhat random.
7962
7963 2006-02-14  Wim Taymans  <wim@fluendo.com>
7964
7965         * docs/gst/gstreamer-sections.txt:
7966         * gst/gstpadtemplate.c:
7967         * gst/gstpadtemplate.h:
7968         Fix padtemplate docs, fixes #328805.
7969
7970 2006-02-14  Wim Taymans  <wim@fluendo.com>
7971
7972         * tools/gst-launch.c: (main):
7973         NO_PREROLL is not an ERROR so don't send confusing messages
7974         to the user.
7975
7976 2006-02-14  Wim Taymans  <wim@fluendo.com>
7977
7978         Patch by: Torsten Schoenfeld
7979
7980         * gst/gstregistry.c: (gst_registry_get_default),
7981         (_gst_registry_cleanup):
7982         Protect default registry with lock and ref/sink it.
7983         Fixes #324818
7984
7985 2006-02-14  Wim Taymans  <wim@fluendo.com>
7986
7987         * gst/gstbuffer.c:
7988         * gst/gstquery.c: (gst_query_list_add_format),
7989         (gst_query_set_formatsv), (gst_query_parse_formats_length),
7990         (gst_query_parse_formats_nth):
7991         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
7992         Docs fixes.
7993
7994 2006-02-14  Wim Taymans  <wim@fluendo.com>
7995
7996         * docs/gst/gstreamer-sections.txt:
7997         Reworked query docs.
7998
7999         * gst/gstquery.c: (gst_query_new_formats),
8000         (gst_query_list_add_format), (gst_query_set_formats),
8001         (gst_query_set_formatsv), (gst_query_parse_formats_length),
8002         (gst_query_parse_formats_nth):
8003         * gst/gstquery.h:
8004         Flesh out formats query, added some new methods.
8005         Fix part of #324398.
8006
8007         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
8008         Added query creation tests.
8009
8010 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
8011
8012         * gst/gstpad.c: (fixate_value):
8013         Add a default fixation for fraction lists.
8014
8015 2006-02-13  Wim Taymans  <wim@fluendo.com>
8016
8017         * gst/gsttask.c: (gst_task_init), (gst_task_func),
8018         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
8019         (gst_task_join):
8020         * gst/gsttask.h:
8021         Detect and warn for obvious deadlocks. fixes #320340
8022         Fix error case where lock was not released.
8023
8024         * tests/check/Makefile.am:
8025         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
8026         (task_func), (gst_element_suite), (main):
8027         Add task check.
8028
8029 2006-02-13  Wim Taymans  <wim@fluendo.com>
8030
8031         * docs/gst/gstreamer-sections.txt:
8032         * gst/gstbus.c:
8033         Add new functions to docs.
8034
8035 2006-02-13  Wim Taymans  <wim@fluendo.com>
8036
8037         * docs/design/part-TODO.txt:
8038         Updated TODO list, basesrc supports seeking to non-bytes
8039         formats.
8040
8041         * docs/design/part-element-sink.txt:
8042         Update docs.
8043
8044         * gst/gstbin.c: (bin_replace_message),
8045         (gst_bin_handle_message_func):
8046         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
8047         * gst/gstevent.c: (gst_event_finalize):
8048         * gst/gstpad.c: (gst_pad_event_default_dispatch),
8049         (gst_pad_send_event):
8050         Use shiny new _TYPE_NAME macros.
8051
8052         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
8053         Move debug statement up.
8054
8055         * gst/gstelement.c: (gst_element_set_locked_state):
8056         Add some debugging.
8057
8058 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
8059
8060         * docs/gst/gstreamer-sections.txt:
8061         * gst/gstmessage.h:
8062         * gst/gstquery.h:
8063           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
8064           macros (#330906). Also, document the already existing
8065           GST_QUERY_TYPE macro.
8066
8067 2006-02-13  Wim Taymans  <wim@fluendo.com>
8068
8069         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
8070         (event_probe), (GST_START_TEST):
8071         Only events up to the pipeline EOS are counted, there are
8072         some more when going to NULL currently which we don't care
8073         about for now.
8074
8075 2006-02-13  Wim Taymans  <wim@fluendo.com>
8076
8077         * gst/gstpad.c: (gst_pad_send_event):
8078         Correctly check flushing and emit probes. fixes #330125
8079
8080 2006-02-10  Andy Wingo  <wingo@pobox.com>
8081
8082         * gst/gstbus.c (gst_bus_class_init): Declare our private data
8083         structure.
8084         (gst_bus_init): Cache the location of the private data in the
8085         instance structure.
8086         (gst_bus_enable_sync_message_emission) 
8087         (gst_bus_disable_sync_message_emission): Implement new public
8088         functions.
8089         (gst_bus_post): Emit the sync-message signal if the user asked for
8090         it. Fixes #330684.
8091
8092         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
8093         location of the bus-private structure.
8094         (gst_bus_enable_sync_message_emission)
8095         (gst_bus_disable_sync_message_emission): API addition
8096
8097 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
8098
8099         Patch by: Vincent Torri
8100
8101         * docs/pwg/building-boiler.xml:
8102         PWG patch from #326800
8103
8104 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
8105
8106         * configure.ac:
8107         * docs/Makefile.am:
8108         * docs/design/Makefile.am:
8109           Dist design docs.
8110
8111 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
8112
8113         * configure.ac:
8114           back to CVS
8115
8116 === release 0.10.3 ===
8117
8118 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
8119
8120         * configure.ac:
8121           releasing 0.10.3, "Like a virgin"
8122
8123 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
8124
8125         * configure.ac:
8126           2nd prerelease of 0.10.3
8127           Bump libtool versioning.
8128
8129 2006-02-07  Andy Wingo  <wingo@pobox.com>
8130
8131         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
8132         update last_stop if we're in TIME format and the timestamp is
8133         valid.
8134
8135         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
8136         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
8137         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
8138         If we get a new newsegment with a different format, adapt
8139         accordingly.
8140
8141         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
8142         of 0. Not a problem, really.
8143
8144         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
8145         warn if sync=true.
8146
8147 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
8148
8149         * configure.ac:
8150           Prelease of 0.10.3
8151
8152 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
8153
8154         * win32/vs7:
8155           project files updated to the default vs7 configuration
8156         * win32/common/libgstbase.def:
8157         * win32/common/libgstreamer.def:
8158           added new symbols,
8159           removed empty lines,
8160           sorted all exported symbols alphabetically
8161         * win32/common/dirent.c:
8162         * win32/common/dirent.h:
8163         * win32/common/gchar.h:
8164           use windows line end.
8165           
8166 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
8167
8168         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
8169           Send EOS event when stopping.
8170
8171 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
8172
8173         * docs/README:
8174           Tell folks what to do if the plugin-foobar.xml file
8175           hasn't been generated for a newly-added plugin.
8176
8177 2006-02-05  Julien MOUTTE  <julien@moutte.net>
8178
8179         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
8180         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
8181         (gst_collect_pads_start), (gst_collect_pads_stop),
8182         (gst_collect_pads_event): Collectpads now holds a reference
8183         to the GstPad that was added. Indeed we don't want to look
8184         at pads that might just go away with no warning...
8185
8186 2006-02-05  Julien MOUTTE  <julien@moutte.net>
8187
8188         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
8189         (gst_collect_pads_start), (gst_collect_pads_stop),
8190         (gst_collect_pads_event), (gst_collect_pads_chain):
8191         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
8192         Mark Nauwelaerts's patch on bug #328491.
8193
8194 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
8195
8196         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
8197         (gst_utils_suite):
8198           Add some simple tests for gst_parse_bin_from_description() and
8199           gst_bin_find_unconnected_pad() (#329069).
8200
8201 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
8202
8203         * tools/gst-launch.c: (event_loop), (main):
8204           Catch errors during preroll (#320084).
8205
8206 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
8207
8208         * plugins/elements/gsttypefindelement.c:
8209         (gst_type_find_element_activate):
8210           Post TYPE_NOT_FOUND error message when typefinding
8211           is unsuccessful in the activate function as well.
8212
8213 2006-02-02  Wim Taymans  <wim@fluendo.com>
8214
8215         * docs/design/part-element-sink.txt:
8216         Updated doc.
8217
8218 2006-02-02  Wim Taymans  <wim@fluendo.com>
8219
8220         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
8221         (gst_base_sink_render_object),
8222         (gst_base_sink_queue_object_unlocked):
8223         Only keep track of prerollable items when we are 
8224         prerolling.
8225         Before rendering after preroll, always check if we
8226         have queued items.
8227         Added some more debugging.
8228
8229 2006-02-02  Wim Taymans  <wim@fluendo.com>
8230
8231         * gst/gstelement.c: (gst_element_continue_state),
8232         (gst_element_set_state_func), (gst_element_change_state):
8233         Fixed #326576, been running this for quite some time with
8234         no regressions at all.
8235
8236 2006-02-02  Wim Taymans  <wim@fluendo.com>
8237
8238         * common/gst.supp:
8239         Added more suppressions
8240
8241 2006-02-02  Wim Taymans  <wim@fluendo.com>
8242
8243         * docs/design/part-element-sink.txt:
8244         Updated document.
8245
8246         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
8247         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
8248         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
8249         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
8250         (gst_base_sink_do_sync), (gst_base_sink_render_object),
8251         (gst_base_sink_preroll_object),
8252         (gst_base_sink_queue_object_unlocked),
8253         (gst_base_sink_queue_object), (gst_base_sink_event),
8254         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
8255         (gst_base_sink_loop), (gst_base_sink_activate_pull),
8256         (gst_base_sink_get_position), (gst_base_sink_change_state):
8257         * libs/gst/base/gstbasesink.h:
8258         Totally refactored matching the design doc.
8259         Use two segments, one to clip incomming buffers and another to
8260         perform sync.
8261         Handle queueing correctly, bypass the queue when playing.
8262         Make EOS cancelable.
8263         Handle errors correctly when operating in pull based mode.
8264
8265         * tests/check/elements/fakesink.c: (GST_START_TEST),
8266         (fakesink_suite):
8267         Added new check for sinks.
8268
8269 2006-02-02  Wim Taymans  <wim@fluendo.com>
8270
8271         * gst/gstsegment.c: (gst_segment_clip):
8272         No reason to refuse to clip when start == -1
8273
8274 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
8275
8276         * docs/README:
8277         * docs/manual/intro-basics.xml:
8278         * docs/manual/intro-preface.xml:
8279         * docs/manual/manual.xml:
8280         * docs/pwg/advanced-dparams.xml:
8281         * docs/pwg/intro-basics.xml:
8282         * docs/pwg/intro-preface.xml:
8283         * docs/pwg/pwg.xml:
8284           describe dparams (controller) for plugins
8285           unify docs a little more
8286
8287 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
8288
8289         * docs/gst/gstreamer-sections.txt:
8290         * gst/gstutils.c: (element_find_unconnected_pad),
8291         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
8292         * gst/gstutils.h:
8293           Add new API: gst_parse_bin_from_description() and
8294           gst_bin_find_unconnected_pad() (#329069).
8295
8296 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
8297
8298         * docs/manual/README:
8299           uncover a nasty detail of the docs build
8300
8301 2006-01-31  Wim Taymans  <wim@fluendo.com>
8302
8303         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
8304         Don't cache duration messages if we're not going to use or
8305         free them.
8306
8307 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
8308
8309         * docs/manual/advanced-dparams.xml:
8310         * docs/pwg/advanced-dparams.xml:
8311           more dparam docs
8312         * gst/gstindex.c:
8313           fix docs
8314         * libs/gst/controller/lib.c: (gst_controller_init):
8315           init just once
8316
8317 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
8318
8319         * gst/gstelement.c: (gst_element_message_full):
8320           also show file/line/func if no additional debug was given
8321
8322 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
8323         
8324         * win32/vs7/grammar.vcproj:
8325           activate copy of autogenerated files for Release mode
8326
8327 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
8328         
8329         * win32/common/libgstreamer.def:
8330           export gst_value_compare
8331
8332 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
8333
8334         * plugins/elements/Makefile.am:
8335         * plugins/elements/gstelements.c:
8336         * plugins/elements/gstfdsink.c: (_do_init),
8337         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
8338         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
8339         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
8340         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
8341         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
8342         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
8343         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
8344         * plugins/elements/gstfdsink.h:
8345         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
8346
8347 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
8348
8349         * docs/manual/advanced-dparams.xml:
8350           describe controller
8351         * docs/manual/advanced-position.xml:
8352         * docs/manual/basics-init.xml:
8353         * docs/manual/manual.xml:
8354         * docs/manual/titlepage.xml:
8355         * docs/pwg/pwg.xml:
8356         * docs/pwg/titlepage.xml:
8357           cleanup xml (more to come)
8358         * libs/gst/controller/gstcontroller.c:
8359           fix typo
8360
8361 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
8362         
8363         * win32/vs6/grammar.dsp:
8364           add autogen of gstmarshal.c,h for Release mode
8365                 
8366 2006-01-30  Wim Taymans  <wim@fluendo.com>
8367
8368         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
8369         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
8370         (gst_base_sink_handle_object), (gst_base_sink_event),
8371         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
8372         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
8373         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
8374         (gst_base_sink_deactivate), (gst_base_sink_activate),
8375         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
8376         (gst_base_sink_query), (gst_base_sink_change_state):
8377         Basesink cleanups, remove some old code.
8378         Handle the case where a subclass can preroll in the render
8379         method (mostly audiosinks).
8380         Handle more events.
8381         Remove some locks around variables that are now protected
8382         with the PREROLL_LOCK (clock_id, flushing, ..).
8383         Optimize position query some more, do correct locking.
8384         Remove old code to push queue in state change, this is not
8385         needed anymore since preroll blocks on all prerollable items 
8386         now.
8387         Almost implemented as described in design doc.
8388
8389 2006-01-30  Wim Taymans  <wim@fluendo.com>
8390
8391         * tests/check/gst/gstbin.c: (GST_START_TEST):
8392         Wait for refcount to settle down before checking.
8393
8394 2006-01-30  Wim Taymans  <wim@fluendo.com>
8395
8396         * docs/design/part-element-sink.txt:
8397         Pseudo code overview of desired sink behaviour regarding
8398         preroll.
8399
8400 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
8401         * win32/vs6/grammar.dsp:
8402           fix some bugs in Release mode for autogenerated files
8403                 
8404 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
8405         * win32/common/libgstbase.def:
8406         * win32/common/libgstreamer.def:
8407           export some new symbols: gst_base_src_set_format,
8408           gst_iterator_next, gst_structure_set_valist
8409
8410 2006-01-29  Julien MOUTTE  <julien@moutte.net>
8411
8412         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
8413         Set pad functions unconditionally. Fixes #329105.
8414
8415 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
8416         * win32/vs8:
8417           add vs8 project files created by Sergey Scobich
8418
8419 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
8420
8421         * gst/gstutils.c: (gst_element_unlink_pads):
8422         Don't leak pad references.
8423
8424         * tests/check/elements/fakesink.c: (GST_START_TEST):
8425         * tests/check/generic/sinks.c: (GST_START_TEST):
8426         * tests/check/generic/states.c: (GST_START_TEST):
8427         * tests/check/gst/gstbin.c: (GST_START_TEST):
8428         * tests/check/gst/gstcaps.c: (GST_START_TEST):
8429         * tests/check/gst/gstelement.c: (GST_START_TEST):
8430         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
8431         * tests/check/gst/gstiterator.c: (GST_START_TEST):
8432         * tests/check/gst/gstvalue.c: (GST_START_TEST):
8433         Fix a bunch of leaks. Make generic/sinks.c
8434         use a bit less cpu by slowing the buffer rate
8435         between fakesrc and fakesink.
8436         
8437 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
8438         * gst/gstcaps.c:
8439         * gst/gstelement.c: (gst_element_send_event):
8440         * gst/gstevent.c:
8441         * gst/gstinfo.c:
8442         * gst/gstiterator.c:
8443         * gst/gstiterator.h:
8444         * gst/gstpad.c: (gst_pad_send_event):
8445         * gst/gststructure.c:
8446         * gst/gsturi.c:
8447         * gst/gstutils.c:
8448         * gst/gstvalue.c:
8449         * libs/gst/base/gstadapter.c:
8450           doc fixes, to link to function, just write gst_cool_function(), don't
8451           prefix with '#'
8452
8453 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
8454
8455         * plugins/elements/gsttee.c: (gst_tee_do_push),
8456         (gst_tee_handle_buffer):
8457         Always prefer an actual return value from a src
8458         pad in place of NOT_LINKED. This means we return
8459         WRONG_STATE when all src pads are WRONG_STATE
8460         instead of NOT_LINKED.
8461
8462         Lock when replacing the last message to prevent
8463         racing with the get_property method.
8464
8465         Add debug output
8466
8467 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
8468
8469         * tests/check/Makefile.am:
8470         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
8471         (main):
8472         Add a very simple check that should have caught the memleak I fixed
8473         last night (if not for the slice allocator hiding it)
8474
8475 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
8476
8477         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
8478         (gst_bin_remove_func), (gst_bin_handle_message_func),
8479         (bin_query_duration_fold), (bin_query_generic_fold):
8480         Clean up references to the clock provider when disposed or when
8481         handling a clock-lost message from it.
8482
8483         Unref sinks when performing a query via gst_iterator_fold, as the
8484         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
8485
8486         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
8487         (gst_clock_set_master):
8488         Drop our reference to the master clock, if any, when we are disposed.
8489
8490         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
8491         Chain up in dispose. 
8492
8493 2006-01-26  Wim Taymans  <wim@fluendo.com>
8494
8495         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
8496         Add some debugging.
8497
8498 2006-01-26  Julien MOUTTE  <julien@moutte.net>
8499
8500         * plugins/elements/gsttee.c: (gst_tee_do_push),
8501         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
8502         handles pad being NOT_LINKED or in WRONG_STATE.
8503
8504 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
8505
8506         * win32/MANIFEST:
8507           more updating
8508
8509 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
8510
8511         * win32/MANIFEST:
8512           remove obsolete entry
8513
8514 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
8515
8516         * docs/gst/gstreamer-sections.txt:
8517         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
8518         (gst_bin_iterate_sources), (gst_bin_send_event):
8519         * gst/gstbin.h:
8520         * gst/gstelement.c: (gst_element_send_event):
8521         * gst/gstevent.c:
8522         * gst/gstpad.c: (gst_pad_send_event):
8523           added code for downstream events, reviewed docs in gstevent.c
8524
8525 2006-01-25  Julien MOUTTE  <julien@moutte.net>
8526
8527         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
8528         We only query position using the clock in the playing state.
8529         Query peer in the other cases.
8530         * win32/common/config.h: Updates.
8531
8532 2006-01-24  Wim Taymans  <wim@fluendo.com>
8533
8534         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
8535         A clock entry that is scheduled for the exact time of the
8536         clock is still in time.
8537
8538         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8539         (gst_base_sink_do_sync):
8540         Add some more debug info.
8541
8542 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
8543
8544         * win32/vs7:
8545           Add new vs7 project files and solution.
8546
8547 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
8548
8549         * win32/vs7:
8550           all files removed as they were out-dated.
8551
8552 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8553
8554         * docs/random/release:
8555           update notes
8556         * gst/gstbin.c: (gst_bin_init):
8557         * gst/gstbus.c: (gst_bus_new):
8558         * gst/gstbus.h:
8559         * gst/gstpipeline.c: (gst_pipeline_init):
8560           use gst_bus_new(), improve logging, fix docs
8561         * win32/common/config.h:
8562           update for cvs build
8563
8564 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8565
8566         * autogen.sh:
8567           up required version of automake to 1.7
8568
8569 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
8570
8571         * win32/common/libgstreamer.def:
8572           export gst_buffer_is_metadata_writable
8573
8574 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
8575
8576         * docs/gst/gstreamer-sections.txt:
8577         * gst/gstevent.h:
8578           Add gst_event_replace() (#327001)
8579
8580 2006-01-20  Wim Taymans  <wim@fluendo.com>
8581
8582         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
8583         Make it actually compile too..
8584
8585 2006-01-20  Wim Taymans  <wim@fluendo.com>
8586
8587         * gst/gstcaps.c:
8588         Clarify behaviour of _is_equal() when passing NULL parameters.
8589
8590         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
8591         (gst_pad_set_caps):
8592         Cleanups. Don't unref NULL caps.
8593         When setting the same caps, protect caps of the pad with
8594         proper lock.
8595         Use full functionality of _is_equal() when comparing caps.
8596
8597 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
8598
8599         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
8600         Don't loop infinitely if there are no buffers to present. Partially
8601         fixes #327197, but collectpads is just broken for reusing elements
8602         to do multiple encodes atm.
8603
8604 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
8605
8606         * tools/gst-inspect.c: (print_element_features):
8607         * tools/gst-xmlinspect.c: (main):
8608         URL_HANDLER is not a plugin feature we can search for in
8609         the registry.
8610
8611 2006-01-19  Edward Hervey  <edward@fluendo.com>
8612
8613         * gst/gstelement.c: (gst_element_pads_activate): 
8614         When activating, do src pads first, then sink pads.
8615         When de-activating, do sink pads first, then src pads.
8616
8617 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
8618
8619         * docs/gst/gstreamer-sections.txt:
8620         Add gst_index_add_associationv to the docs
8621
8622 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
8623
8624         * gst/gstevent.c:
8625           Fix docs typo
8626
8627         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
8628         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
8629           Do some refactoring. Doesn't actually change functionality,
8630           but makes landing the DRAIN event easier later.
8631
8632 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
8633
8634         * docs/pwg/advanced-scheduling.xml:
8635           Update from 0.9.x to 0.10 API and make example a bit
8636           clearer.
8637
8638 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
8639
8640         * docs/gst/gstreamer-sections.txt:
8641         Add gst_buffer_(is|make)_metadata_writable methods.
8642
8643 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
8644
8645         * docs/design/part-sparsestreams.txt:
8646         Update sparse streams doc, hopefully for greater clarity
8647
8648 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
8649
8650         * docs/design/part-events.txt:
8651         Remove mention of FILLER events.
8652         Add DRAIN event.
8653
8654         * docs/design/part-sparsestreams.txt:
8655         Write some things about using NEWSEGMENT to keep sparse streams
8656         flowing.
8657
8658 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
8659
8660         * gst/gstbin.c: (gst_bin_dispose):
8661           Guard gst_object_unref call against a NULL object (dispose
8662           can theoretically be called multiple times).
8663           
8664 2006-01-18  Wim Taymans  <wim@fluendo.com>
8665
8666         * gst/gstbin.c: (gst_bin_element_set_state):
8667         * gst/gstclock.c: (gst_clock_id_wait):
8668         Added some more debug info.
8669
8670         * libs/gst/base/gstadapter.c:
8671         Added more docs.
8672
8673         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8674         (gst_base_sink_do_sync), (gst_base_sink_chain):
8675         Added some comments.
8676
8677 2006-01-18  Wim Taymans  <wim@fluendo.com>
8678
8679         * tests/check/Makefile.am:
8680         * tests/check/elements/fakesink.c: (chain_async_buffer),
8681         (chain_async), (chain_async_return), (GST_START_TEST),
8682         (fakesink_suite), (main):
8683         Added fakesink test that checks prerolling and clipping
8684         behaviour.
8685
8686         * tests/check/gst/gstutils.c: (GST_START_TEST):
8687         Make check run faster so that buildbots don't timeout.
8688
8689 2006-01-18  Wim Taymans  <wim@fluendo.com>
8690
8691         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8692         (gst_base_sink_do_sync):
8693         Some cleanups.
8694         When the sink finishes blocking on the preroll buffer, it can
8695         immediatly render it instead of rendering when the next buffer
8696         arrives.
8697
8698 2006-01-18  Wim Taymans  <wim@fluendo.com>
8699
8700         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
8701         (gst_base_sink_get_property), (gst_base_sink_do_sync),
8702         (gst_base_sink_chain):
8703         Small cleanups.
8704         GST_ELEMENT_CLOCK and sync are protected with LOCK.
8705         Don't store _last_stop if the buffer is dropped.
8706
8707 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
8708
8709         * plugins/elements/gsttypefindelement.c:
8710         (gst_type_find_element_class_init):
8711           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
8712           object method handler that sets the caps on the pad and we want
8713           that to happen before we emit the signal (fixes e.g. feeding a
8714           plain text file to decodebin).
8715
8716 2006-01-18  Christian Schaller  <Christian@fluendo.com>
8717
8718         * gst/gstplugin.c: Add MPL and Proprietary as license options
8719
8720 2006-01-18  Andy Wingo  <wingo@pobox.com>
8721
8722         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
8723         symbol was exported before, it appears this was just an oversight.
8724         Fixes #168703.
8725         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
8726
8727         * gst/gstindex.c (gst_index_add_associationv): Changed int in
8728         prototype to gint. OK since this prototype was not in the header.
8729
8730 2006-01-17  Andy Wingo  <wingo@pobox.com>
8731
8732         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
8733         registry while we remove plugins.
8734
8735         * tools/gst-inspect.c (print_element_info): Don't unref the
8736         factory arg, that should be the responsibility of whatever code
8737         received the ref. Fixes a double-free when called from
8738         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
8739         (main): Unref the factory if we have one.
8740         (print_element_list): No change -- relies on the
8741         plugin_feature_list_free to free the list of features.
8742
8743 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
8744
8745         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
8746         (gst_buffer_make_metadata_writable):
8747         * gst/gstbuffer.h:
8748         * libs/gst/base/gstbasetransform.c:
8749         (gst_base_transform_prepare_output_buf):
8750         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
8751         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8752           Replace gst_buffer_(make|is)_metadata_writable patch now
8753           that the release is out.
8754
8755 2006-01-17  Andy Wingo  <wingo@pobox.com>
8756
8757         * gst/gstregistry.c: Reflow design comment. Update so as to speak
8758         in the present tense without reference to versions.
8759
8760         * gst/gstregistry.c (gst_registry_add_plugin)
8761         (gst_registry_remove_plugin, gst_registry_remove_feature)
8762         (gst_registry_find_feature, gst_registry_get_feature_list)
8763         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
8764         (gst_registry_lookup, gst_registry_scan_path)
8765         (_gst_registry_remove_cache_plugins)
8766         (gst_registry_get_feature_list_by_plugin): Add argument
8767         validation.
8768
8769 === release 0.10.2 ===
8770
8771 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
8772
8773         * configure.ac:
8774           releasing 0.10.2, "If man is five"
8775
8776 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
8777
8778         * gst/gstbuffer.c:
8779         * gst/gstbuffer.h:
8780         * libs/gst/base/gstbasetransform.c:
8781         (gst_base_transform_prepare_output_buf):
8782         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
8783         * tests/check/gst/gstbuffer.c: (gst_test_suite):
8784           Back out patch until after the release.
8785
8786 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
8787
8788         * gst/gstminiobject.c:
8789           Spelling fix in docs.
8790         * ChangeLog - remove conflict indicator
8791
8792 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
8793
8794         Reviewed By: Andy Wingo
8795
8796         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
8797         (gst_buffer_make_metadata_writable):
8798         * gst/gstbuffer.h:
8799           Add gst_buffer_(is|make)_metadata_writable as analogues of
8800           gst_buffer_(is|make)_writable.
8801
8802         * libs/gst/base/gstbasetransform.c:
8803         (gst_base_transform_prepare_output_buf):
8804         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
8805           Use name gst_buffer_(is|make)_metadata_writable functions.
8806
8807         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8808           Test gst_buffer_(is|make)_metadata_writable
8809         
8810           (Closes: #324162)
8811
8812 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8813
8814         * docs/manual/Makefile.am:
8815           don't do parallel make
8816         * configure.ac:
8817           AC_SUBST HOST_CPU
8818         * win32/common/config.h.in:
8819           add generations for HOST_CPU and GST_MAJORMINOR
8820         * win32/common/config.h:
8821           commit generated result
8822
8823 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
8824
8825         * docs/manual/appendix-integration.xml:
8826           Update GNOME integration section to use gst_init_get_option_group()
8827           instead of the old popt stuff (#322911). Also, GNOME applications
8828           should  now use gconf*sink and gconf*src instead of the old gconf
8829           helper lib we had.
8830
8831 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
8832
8833
8834         * docs/gst/gstreamer-docs.sgml:
8835         * docs/gst/gstreamer-sections.txt:
8836         * docs/libs/gstreamer-libs-sections.txt:
8837           add new API entries to the docs
8838         * libs/gst/controller/Makefile.am:
8839         * libs/gst/controller/gstcontroller.c:
8840         * libs/gst/controller/gstcontroller.h:
8841         * libs/gst/controller/gstcontrollerprivate.h:
8842         * libs/gst/controller/gsthelper.c:
8843         * libs/gst/controller/gstinterpolation.c:
8844           move private structs to private header
8845         * po/README:
8846           gstreamer-0.7 -> gstreamer-0.10
8847         * tests/check/libs/struct_i386.h:
8848           remove private structs
8849
8850 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8851
8852         * plugins/indexers/Makefile.am:
8853           Fixes as part of #317048
8854
8855 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8856
8857         * plugins/indexers/Makefile.am:
8858           fix #316086 - compilation when mmap is missing
8859
8860 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
8861
8862         * libs/gst/base/gstbasesink.c:
8863           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
8864           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
8865         * win32/common/config.h:
8866           added some defines GST_MAJORMINOR and HOST_CPU
8867         * win32/common/libgstbase.def:
8868         * win32/common/libgstreamer.def:
8869           added some exported functions.
8870
8871 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
8872
8873         * libs/gst/controller/gstcontroller.c:
8874         (gst_controlled_property_set_interpolation_mode),
8875         (gst_controlled_property_new):
8876         * libs/gst/controller/gstcontroller.h:
8877         * libs/gst/controller/gstinterpolation.c:
8878         (interpolate_none_get_string_value_array):
8879           make G_TYPE_STRING controlable
8880
8881 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
8882
8883         * tools/README:
8884         * tools/gst-feedback.1.in:
8885         * tools/gst-inspect.1.in:
8886         * tools/gst-launch.1.in:
8887         * tools/gst-md5sum.1.in:
8888         * tools/gst-typefind.1.in:
8889         * tools/gst-xmlinspect.1.in:
8890         * tools/gst-xmllaunch.1.in:
8891           cleanup man-pages, remove reference to gst-register, document env-vars
8892
8893 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
8894
8895         * gst/gstbuffer.c: (gst_buffer_span):
8896           gst_buffer_span should copy the timestamp of the first buffer
8897           if they were both originally overlapping subbuffers of the 
8898           same parent, using the same logic as the 'slow copy' case.
8899
8900 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
8901
8902         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
8903           Need to awaken ALL the pads when we pop a buffer, otherwise
8904           collectpads only works when there is 2 input streams.
8905
8906 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
8907
8908         * docs/random/ensonic/media-device-daemon.txt:
8909           more ideas (dbus)
8910         * gst/gstbuffer.c:
8911           fix doc example, add clarification
8912         * tools/gst-launch.1.in:
8913           add initial info about GST_PLUGIN_PATH, needs more work
8914
8915 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
8916
8917         * docs/manual/basics-bins.xml:
8918         * docs/manual/basics-elements.xml:
8919         * docs/manual/intro-basics.xml:
8920           Some more minor docs additions and updates.
8921
8922 2006-01-11  Wim Taymans  <wim@fluendo.com>
8923
8924         * docs/manual/basics-bins.xml:
8925         * docs/manual/basics-elements.xml:
8926         Some small fixes as pointed out by Ser-ver on IRC.
8927
8928 2006-01-10  Edward Hervey  <edward@fluendo.com>
8929
8930         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
8931         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
8932         the single-segment mode.
8933
8934 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
8935
8936         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
8937
8938         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
8939         (gst_base_src_perform_seek), (gst_base_src_send_event),
8940         (gst_base_src_set_property), (gst_base_src_get_property),
8941         (gst_base_src_loop), (gst_base_src_start),
8942         (gst_base_src_activate_push):
8943         * libs/gst/base/gstbasesrc.h:
8944           Name (private) union; makes Sun's Forte compiler happy (#324900).
8945
8946 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
8947
8948         * README:
8949           gst-register is gone.
8950
8951 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8952
8953         * gst/gstvalue.c: (_gst_value_initialize):
8954           make the G_TYPE_DATE instantiation work if debug is disabled
8955
8956 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
8957
8958         * gst/gstmessage.c: (gst_message_parse_tag),
8959         (gst_message_parse_error), (gst_message_parse_warning):
8960           Don't crash when return location for error/warning debug
8961           string is NULL; add fact that return locations can be
8962           NULL to docs where appropriate.
8963
8964 2006-01-05  Wim Taymans  <wim@fluendo.com>
8965
8966         * gst/gstplugin.c: (gst_plugin_load_file):
8967         Replace strdup by g_strdup.
8968
8969 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8970
8971         * docs/pwg/advanced-types.xml:
8972           fix doc borkage
8973
8974 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8975
8976         submitted by: Abel Cheung
8977
8978         * po/LINGUAS:
8979         * po/zh_TW.po:
8980           Added Chinese (traditional) translation
8981
8982 2006-01-04  Wim Taymans  <wim@fluendo.com>
8983
8984         * docs/manual/basics-pads.xml:
8985         * docs/plugins/Makefile.am:
8986         * docs/plugins/gstreamer-plugins-docs.sgml:
8987         * docs/plugins/gstreamer-plugins-sections.txt:
8988         * docs/pwg/advanced-clock.xml:
8989         * docs/pwg/advanced-scheduling.xml:
8990         * docs/pwg/advanced-types.xml:
8991         * plugins/elements/gstfdsink.c:
8992         * plugins/elements/gstfdsrc.c:
8993         * plugins/elements/gstfdsrc.h:
8994         * plugins/elements/gstidentity.c: (gst_identity_class_init):
8995         * plugins/elements/gstidentity.h:
8996         * plugins/elements/gstqueue.h:
8997         * plugins/elements/gsttee.c:
8998         * plugins/elements/gsttee.h:
8999         * plugins/elements/gsttypefindelement.c:
9000         (gst_type_find_element_class_init):
9001         * plugins/elements/gsttypefindelement.h:
9002         Small updates to various docs.
9003         Added core plugins to docs.
9004
9005 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9006
9007         * common/gst.supp:
9008           add a suppression for liboil's uninitialized variable
9009
9010 2006-01-02  James Livingston  <jrl at ids dot org dot au>
9011
9012         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9013
9014         * gst/gstutils.h:
9015           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
9016           macro, so that gcc doesn't complain if the -Wmissing-prototypes
9017           compiler switch is being used (#325429).
9018
9019 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
9020
9021         * gst/gstbin.c: (gst_bin_query):
9022           Disable duration query caching in bins until it gets
9023           fixed (see #324807).
9024
9025 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
9026
9027         * tools/gst-inspect.c: (print_element_properties_info):
9028           Handle properties of POINTER and BOXED type.
9029
9030 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
9031
9032         * gst/gst.c: (init_post):
9033           Init tags stuff and some other things before loading
9034           any static plugins (there may be other static plugins
9035           than just the GStreamer ones, and they may want to
9036           register their own tags or formats or whatever, and
9037           preferably without segfaulting).
9038
9039         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
9040           Print at least a warning in the debug logs if we drop a
9041           query just because we don't know how to adjust the value
9042           in the particular format.
9043
9044 2005-12-24  David Schleef  <ds@schleef.org>
9045
9046         * tools/gstreamer-completion:
9047           Replacement for gst-complete written in sh and sed.  Only
9048           completes names of features, but that's 90% of what I want
9049           it for.  Properties are not available in registry.xml.  (Maybe
9050           they should be...)
9051
9052 === release 0.10.1 ===
9053
9054 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
9055
9056         * configure.ac:
9057           releasing 0.10.1, "Nollaig chridheil"
9058
9059 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
9060
9061         * docs/faq/cvs.xml:
9062           Add missing quote, should be make ERROR_CFLAGS="".
9063
9064 2005-12-20  Wim Taymans  <wim@fluendo.com>
9065
9066         * docs/design/part-trickmodes.txt:
9067         More documentation on trickmodes.
9068
9069 2005-12-20  Edward Hervey  <edward@fluendo.com>
9070
9071         * gst/gstcaps.c: (gst_static_caps_get_type):
9072         * gst/gstcaps.h:
9073           API addition: GST_TYPE_STATIC_CAPS
9074         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
9075         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
9076         * gst/gstpadtemplate.h:
9077           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
9078         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
9079         bindings.
9080
9081 2005-12-18  Wim Taymans  <wim@fluendo.com>
9082
9083         * libs/gst/base/gstadapter.c:
9084         * libs/gst/base/gstadapter.h:
9085         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
9086         (gst_base_sink_get_position):
9087         * libs/gst/base/gstbasesink.h:
9088         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9089         (gst_base_src_default_query), (gst_base_src_default_do_seek),
9090         (gst_base_src_do_seek), (gst_base_src_perform_seek),
9091         (gst_base_src_send_event), (gst_base_src_update_length),
9092         (gst_base_src_get_range), (gst_base_src_loop),
9093         (gst_base_src_start):
9094         * libs/gst/base/gstbasesrc.h:
9095         * libs/gst/base/gstbasetransform.h:
9096         * libs/gst/base/gstcollectpads.h:
9097         * libs/gst/base/gstpushsrc.c:
9098         * libs/gst/base/gstpushsrc.h:
9099         * libs/gst/dataprotocol/dataprotocol.c:
9100         * libs/gst/dataprotocol/dataprotocol.h:
9101         * libs/gst/net/gstnetclientclock.h:
9102         * libs/gst/net/gstnettimeprovider.h:
9103         Documentation updates.
9104
9105 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
9106
9107         * docs/manual/basics-helloworld.xml:
9108           Remove superfluous closing bracket in helloworld example.
9109
9110 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
9111
9112         * tools/gst-launch.1.in:
9113           Update gst-launch man page; add a section with useful
9114           environment variables. Fixes #323882.
9115
9116 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
9117
9118         * gst/gst.c:
9119         * gst/gst_private.h:
9120           change some char* into char[]
9121
9122 2005-12-16  Wim Taymans  <wim@fluendo.com>
9123
9124         * gst/gstregistryxml.c: (load_feature):
9125         Cleanups.
9126         Don't use g_object_unref on GstObjects so that we avoid
9127         leaks on unsafe glibs.
9128
9129 2005-12-16  Wim Taymans  <wim@fluendo.com>
9130
9131         * gst/gstbin.c: (gst_bin_recalc_state):
9132         Small doc updates.
9133
9134 2005-12-16  Wim Taymans  <wim@fluendo.com>
9135
9136         * common/check.mak:
9137         Added make forever target for check.
9138
9139 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9140
9141         * gst/gst.c: (init_post):
9142           make the registry cache file HOST_CPU-dependent
9143
9144 2005-12-16  Andy Wingo  <wingo@pobox.com>
9145
9146         * plugins/elements/gstbufferstore.c
9147         (gst_buffer_store_cleared_func): Pay attention to g_list_append
9148         return value.
9149
9150         * tests/check/gst/gstobject.c
9151         (test_fake_object_name_threaded_unique): Pay attention to
9152         g_list_sort return value.
9153
9154 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
9155
9156         * tools/gst-feedback-m.m:
9157           Update for 0.9/0.10 (fixes #323870).
9158
9159 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
9160
9161         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
9162           Fix lcopy for mini objects, the mini object needs to be ref'ed.
9163           
9164         * tests/check/gst/gstminiobject.c: (my_foo_init),
9165         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
9166         (test_value_collection), (gst_mini_object_suite):
9167           Add test to ensure refcounts end up as expected when passing
9168           GstMiniObjects through g_object_get() and g_object_set().
9169
9170 2005-12-14  Julien MOUTTE  <julien@moutte.net>
9171
9172         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
9173         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
9174         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
9175         of collectpads. This version removes a lot of races without
9176         touching API/ABI. Yay !
9177
9178 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
9179
9180         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
9181           Don't allow activation of a srcpad in pull_range if it has no
9182           getrange function.
9183           Change some debug statements to be a little clearer
9184
9185         * plugins/elements/gsttypefindelement.c:
9186         (gst_type_find_handle_src_query):
9187           Check that we have a peer before executing queries thereupon.
9188
9189         * tests/examples/metadata/read-metadata.c: (message_loop):
9190           Use gst_bus_pop instead of gst_bus_poll when we just want it to
9191           immediately return us any available message with 0 timeout.
9192
9193 2005-12-12  Michael Smith  <msmith@fluendo.com>
9194
9195         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
9196           Don't unref factories after calling them.
9197         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
9198         * plugins/elements/gsttypefindelement.c:
9199         (gst_type_find_element_chain):
9200           Free lists of factories after using them. Fixing typefinding memory
9201           leaks.
9202
9203 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9204
9205         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
9206         (gst_plugin_feature_load):
9207           more meaningful debug output
9208         * configure.ac:
9209         * tests/Makefile.am:
9210         * tests/old/examples/Makefile.am:
9211           make make distcheck happy again
9212
9213 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
9214
9215         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
9216           Catch the special case where we are operating chain-based,
9217           but the downstream peer pad has no chain function. Emit a
9218           custom error message in this case instead of letting the
9219           core generate one implying that this is some sort of core
9220           bug. It's not, it just means that whatever got plugged
9221           into the pipeline downstream when we announced the type
9222           can only operate pull-based, while our source can only
9223           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
9224           Error string has not been marked for translation yet, as
9225           it probably needs some more work first.
9226
9227         (gst_type_find_element_get_best_possibility):
9228           Add helper function to find the best of all available
9229           found possibilities that qualify given the min. threshold.
9230
9231         (gst_type_find_element_handle_event):
9232           Fix the case where we get an EOS while still in TYPEFIND
9233           mode (we want to chose the best of all possible types,
9234           not just the first type that happens to be in our unsorted
9235           list of possible types).
9236
9237         (gst_type_find_element_chain):
9238           Make sure we return GST_FLOW_ERROR when we errored out
9239           in stop_typefinding(); also, don't just find the best of
9240           all found type entries and then use the last examined
9241           type entry, but actually use the best entry.
9242
9243 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
9244
9245         * tests/examples/typefind/typefind.c: (type_found):
9246         * tests/examples/xml/runxml.c: (xml_loaded):
9247           More gcc4 fixes and a mem leak fix.
9248
9249 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9250
9251         * tests/examples/xml/createxml.c: (object_saved):
9252           gcc 4 fixes
9253
9254 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9255
9256         * tests/Makefile.am:
9257           enable the examples even more
9258
9259 2005-12-12  Andy Wingo  <wingo@pobox.com>
9260
9261         * libs/gst/net/gstnettimeprovider.c
9262         (gst_net_time_provider_class_init, gst_net_time_provider_init)
9263         (gst_net_time_provider_set_property)
9264         (gst_net_time_provider_get_property):
9265         API addition: Export "active" as a GObject property.
9266         (gst_net_time_provider_thread): Only respond to time queries if
9267         the time provider is active.
9268
9269         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
9270         NetTimeProvider, preserving binary compat.
9271
9272 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9273
9274         * tests/examples/controller/audio-example.c: (main):
9275         * tests/examples/launch/Makefile.am:
9276           convert comments again
9277
9278 2005-12-12  Wim Taymans  <wim@fluendo.com>
9279
9280         * libs/gst/base/gstpushsrc.c:
9281         Fix typo.
9282
9283 2005-12-12  Wim Taymans  <wim@fluendo.com>
9284
9285         * docs/libs/gstreamer-libs-sections.txt:
9286         Added new symbol to docs.
9287
9288         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9289         (gst_base_src_init), (gst_base_src_set_format),
9290         (gst_base_src_default_query), (gst_base_src_query),
9291         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
9292         (gst_base_src_perform_seek), (gst_base_src_send_event),
9293         (gst_base_src_default_event), (gst_base_src_event_handler),
9294         (gst_base_src_set_property), (gst_base_src_get_property),
9295         (gst_base_src_wait), (gst_base_src_do_sync),
9296         (gst_base_src_update_length), (gst_base_src_get_range),
9297         (gst_base_src_check_get_range), (gst_base_src_loop),
9298         (gst_base_src_default_negotiate), (gst_base_src_start),
9299         (gst_base_src_activate_push), (gst_base_src_activate_pull),
9300         (gst_base_src_change_state):
9301         * libs/gst/base/gstbasesrc.h:
9302         Implement seeking to other formats than _BYTES.
9303         Implement more seeking methods correctly.
9304         Doc updates.
9305         Added query vmethod.
9306         Added do_seek vmethod to make life easier for subclasses
9307         when seeking.
9308         API addition: gst_base_src_set_format()
9309
9310 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9311
9312         * tests/examples/Makefile.am:
9313           added that too
9314
9315 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9316
9317         * configure.ac:
9318         * docs/random/ensonic/media-device-daemon.txt:
9319         * tests/examples/controller/.cvsignore:
9320         * tests/examples/controller/Makefile.am:
9321         * tests/examples/controller/audio-example.c: (main):
9322         * tests/examples/helloworld/.cvsignore:
9323         * tests/examples/helloworld/Makefile.am:
9324         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
9325         * tests/examples/launch/.cvsignore:
9326         * tests/examples/launch/Makefile.am:
9327         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
9328         * tests/examples/metadata/.cvsignore:
9329         * tests/examples/metadata/Makefile.am:
9330         * tests/examples/metadata/read-metadata.c: (message_loop),
9331         (make_pipeline), (print_tag), (main):
9332         * tests/examples/queue/.cvsignore:
9333         * tests/examples/queue/Makefile.am:
9334         * tests/examples/queue/queue.c: (event_loop), (main):
9335         * tests/examples/typefind/.cvsignore:
9336         * tests/examples/typefind/Makefile.am:
9337         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
9338         (main):
9339         * tests/examples/xml/.cvsignore:
9340         * tests/examples/xml/Makefile.am:
9341         * tests/examples/xml/createxml.c: (object_saved), (main):
9342         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
9343         * tests/old/examples/Makefile.am:
9344         * tests/old/examples/TODO:
9345         * tests/old/examples/controller/.cvsignore:
9346         * tests/old/examples/controller/Makefile.am:
9347         * tests/old/examples/controller/audio-example.c:
9348         * tests/old/examples/helloworld/.cvsignore:
9349         * tests/old/examples/helloworld/Makefile.am:
9350         * tests/old/examples/helloworld/helloworld.c:
9351         * tests/old/examples/launch/.cvsignore:
9352         * tests/old/examples/launch/Makefile.am:
9353         * tests/old/examples/launch/mp3parselaunch.c:
9354         * tests/old/examples/launch/mp3play:
9355         * tests/old/examples/manual/Makefile.am:
9356         * tests/old/examples/metadata/Makefile.am:
9357         * tests/old/examples/metadata/read-metadata.c:
9358         * tests/old/examples/queue/.cvsignore:
9359         * tests/old/examples/queue/Makefile.am:
9360         * tests/old/examples/queue/queue.c:
9361         * tests/old/examples/typefind/.cvsignore:
9362         * tests/old/examples/typefind/Makefile.am:
9363         * tests/old/examples/typefind/typefind.c:
9364         * tests/old/examples/xml/.cvsignore:
9365         * tests/old/examples/xml/Makefile.am:
9366         * tests/old/examples/xml/createxml.c:
9367         * tests/old/examples/xml/runxml.c:
9368           applied some simple fixing to some examples
9369           re-enabled the working examples
9370
9371 2005-12-12  Wim Taymans  <wim@fluendo.com>
9372
9373         * gst/gstsegment.c: (gst_segment_init),
9374         (gst_segment_set_last_stop), (gst_segment_set_seek),
9375         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
9376         (gst_segment_to_running_time):
9377         Added more documentation.
9378         Make sure the last_pos value is updated properly.
9379         Make sure to_stream_time and to_running_time don't
9380         operate on wrong values.
9381
9382         * tests/check/gst/gstsegment.c: (GST_START_TEST):
9383         Update check.
9384
9385 2005-12-12  Michael Smith  <msmith@fluendo.com>
9386
9387         * plugins/elements/gsttypefindelement.c: (free_entry),
9388         (gst_type_find_element_chain):
9389           Now that we're not leaking factories, make sure we keep references
9390           to them while we need them.
9391
9392 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9393
9394         * tests/check/gst/struct_i386.h:
9395           ifdef out the XML structs
9396
9397 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9398
9399         * gst/gstvalue.c: (gst_value_transform_double_fraction):
9400           floor is not needed, F is always positive; this obviates the
9401           need for adding -lm when building without libxml
9402
9403 2005-12-12  Wim Taymans  <wim@fluendo.com>
9404
9405         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
9406         Take current playback rate into account when reporting
9407         the position.
9408
9409 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9410
9411         * docs/manual/mime-world.fig:
9412           Let's try this again, this time with a file that is
9413           actually in XFig format.
9414
9415 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9416
9417         * docs/manual/mime-world.fig:
9418           Add audioconvert element to diagram so that it
9419           matches the text and the code (fixes #319526).
9420
9421 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9422
9423         * docs/pwg/building-chainfn.xml:
9424         * docs/pwg/building-pads.xml:
9425         * docs/pwg/building-state.xml:
9426         * docs/pwg/other-source.xml:
9427           Update state change stuff for 0.10 (fixes #322969).
9428
9429 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9430
9431         * docs/manual/advanced-dataaccess.xml:
9432         * docs/manual/appendix-checklist.xml:
9433         * docs/manual/appendix-programs.xml:
9434         * docs/manual/basics-pads.xml:
9435         * docs/manual/highlevel-components.xml:
9436         * docs/manual/manual.xml:
9437           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
9438           add converters in front of pipelines; remove curly
9439           brackets for threads stuff, they no longer exist; use
9440           GST_TYPE_FRACTION for framerates; update some pieces of
9441           code to 0.10, but there's plenty more to do.
9442
9443         * docs/manual/appendix-porting.xml:
9444           Expand on asynchroneous state changes; s/0.9/0.10/;
9445           mention disappearance of gst_init_get_popt_table()
9446           (fixes #322916).
9447
9448 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9449
9450         * docs/faq/using.xml:
9451           Spider no longer exists, and neither does gst-launch-ext.
9452           Update examples to use decodebin and playbin and put
9453           converters in front of sinks (fixes #323726).
9454
9455 2005-12-09  Michael Smith  <msmith@fluendo.com>
9456
9457         * plugins/elements/gsttypefindelement.c: (find_peek),
9458         (gst_type_find_element_chain):
9459           Fix leaking element factories in typefinding.
9460           Fix problem where we forgot about a probable type on non-seekable
9461           files, and thus later mis-typefound it.
9462
9463 2005-12-09  Michael Smith  <msmith@fluendo.com>
9464
9465         * common/m4/gst-makecontext.m4:
9466         * common/m4/gst-mcsc.m4:
9467         * configure.ac:
9468         * win32/common/config.h:
9469         * win32/common/config.h.in:
9470           Remove makecontext stuff; not used in 0.10 and causes problems on
9471           HPUX according to bug #322441
9472
9473 2005-12-07  Wim Taymans  <wim@fluendo.com>
9474
9475         * tests/check/Makefile.am:
9476         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
9477         (main):
9478         * tests/check/libs/struct_i386.h:
9479         Added ABI check for libs
9480
9481 2005-12-07  Wim Taymans  <wim@fluendo.com>
9482
9483         * tests/check/Makefile.am:
9484         And add the struct_i386.h to dist.
9485
9486 2005-12-07  Wim Taymans  <wim@fluendo.com>
9487
9488         * tests/check/Makefile.am:
9489         * tests/check/gst/.cvsignore:
9490         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
9491         (main):
9492         * tests/check/gst/struct_i386.h:
9493         Added check for ABI compatibility.
9494
9495 2005-12-07  Wim Taymans  <wim@fluendo.com>
9496
9497         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
9498         (gst_fake_src_get_times), (gst_fake_src_create):
9499         Fix broken sync option, fixes #323259
9500
9501 2005-12-07  Wim Taymans  <wim@fluendo.com>
9502
9503         * gst/gstbuffer.c:
9504         Small docs update.
9505
9506         * gst/gstcaps.c: (gst_caps_is_equal):
9507         Don't assert on NULL <--> X. Fixes #323260
9508
9509         * gst/gstminiobject.c: (gst_mini_object_replace):
9510         If we're doing atomic operations, we might just as well use
9511         the proper way to get an atomic pointer.
9512
9513         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
9514         Clean up debugging.
9515
9516 2005-12-07  Michael Smith  <msmith@fluendo.com>
9517
9518         * gst/parse/grammar.y:
9519           Remove handling of { } for threads.
9520
9521 2005-12-06  David Schleef  <ds@schleef.org>
9522
9523         * libs/gst/base/gstbasetransform.c: speling fix.
9524
9525 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9526
9527         * docs/libs/tmpl/gstdataprotocol.sgml:
9528         * docs/random/omega/testing/gstobject.c:
9529         * gst/gst.c:
9530         * gst/gstclock.c:
9531         * gst/gstelement.c:
9532         * gst/gstelementfactory.c:
9533         * gst/gsterror.c:
9534         * gst/gstevent.c:
9535         * gst/gstghostpad.c:
9536         * gst/gstinfo.c:
9537         * gst/gstpadtemplate.c:
9538         * gst/gstregistryxml.c:
9539         * gst/gsttaglist.c:
9540         * gst/gsttagsetter.c:
9541         * gst/gsttypefind.c:
9542         * gst/gstvalue.c:
9543         * libs/gst/base/gstbasesrc.c:
9544         * libs/gst/net/gstnetclientclock.c:
9545         * libs/gst/net/gstnettimeprovider.c:
9546         * plugins/elements/gstfakesrc.c:
9547         * plugins/elements/gstfdsrc.c:
9548         * plugins/elements/gstfilesrc.c:
9549         * plugins/elements/gstidentity.c:
9550         * plugins/elements/gstqueue.c:
9551         * plugins/elements/gsttypefindelement.c:
9552         * plugins/indexers/gstfileindex.c:
9553         * plugins/indexers/gstmemindex.c:
9554         * tests/check/gst/gsttag.c:
9555         * tests/old/examples/cutter/cutter.c:
9556         * tests/old/examples/mixer/mixer.c:
9557         * tests/old/examples/xml/runxml.c: (main):
9558         * tests/old/testsuite/caps/normalisation.c:
9559         * tests/old/testsuite/debug/global.c:
9560         * tests/old/testsuite/parse/parse1.c:
9561         * tools/gst-xmlinspect.c:
9562         * win32/common/dirent.c:
9563           expand tabs
9564
9565 === release 0.10.0 ===
9566
9567 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9568
9569         * configure.ac:
9570           releasing 0.10.0, "Maroilles"
9571
9572 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9573
9574         submitted by: Funda Wang <fundawang@linux.net.cn>
9575
9576         * po/LINGUAS:
9577         * po/zh_CN.po:
9578           added Chinese (Traditional) translation
9579
9580 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9581
9582         * docs/gst/gstreamer-sections.txt:
9583         * docs/libs/tmpl/gstdataprotocol.sgml:
9584         * docs/random/thomasvs/TODO:
9585         * gst/gstutils.c:
9586         * gst/gstutils.h:
9587           fix docs
9588
9589 2005-12-05  Andy Wingo  <wingo@pobox.com>
9590
9591         patch by: Wim Taymans <wim@fluendo.com>
9592
9593         * libs/gst/base/gstbasetransform.c
9594         (gst_base_transform_prepare_output_buf)
9595         (gst_base_transform_buffer_alloc):
9596         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
9597         alloc_buffer_and_set_caps.
9598
9599         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
9600         set_caps on the source pad.
9601         (gst_pad_alloc_buffer_and_set_caps): New function, does what
9602         alloc_buffer used to do. Fixes #322874.
9603
9604         * docs/gst/gstreamer-sections.txt: 
9605         * docs/design/part-negotiation.txt: 
9606         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
9607         changes.
9608
9609 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9610
9611         patch by: Sebastien Moutte
9612
9613         * win32/MANIFEST:
9614         * win32/common/config.h.in:
9615         * win32/vs6/libgstcontroller.dsp:
9616           win32 build fixes
9617
9618 2005-12-05  Wim Taymans  <wim@fluendo.com>
9619
9620         * gst/gstcaps.c: (gst_caps_is_equal):
9621         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
9622         (gst_fake_src_create):
9623         Back out previous code changes, leave doc updates, file bugs 
9624         instead. 
9625
9626 2005-12-05  Wim Taymans  <wim@fluendo.com>
9627
9628         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
9629         (gst_fake_src_get_times), (gst_fake_src_create):
9630         * plugins/elements/gstfakesrc.h:
9631         Fix broken sync code.
9632
9633 2005-12-05  Wim Taymans  <wim@fluendo.com>
9634
9635         * gst/gstcaps.c: (gst_caps_is_equal):
9636         Comparing NULL against !NULL yields different caps, not a
9637         failure.
9638
9639 2005-12-05  Wim Taymans  <wim@fluendo.com>
9640
9641         * gst/gstpipeline.c:
9642         Fix small typo in docs.
9643
9644 2005-12-05  Andy Wingo  <wingo@pobox.com>
9645
9646         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
9647
9648         * gst/gst.c (init_post): remove hard-coded 0.9 location for
9649         registries/plugins with a MAJORMINOR one.
9650         (plugin_desc): Rename library from gstcoreleements to
9651         staticelements. Fixes #323222.
9652
9653 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
9654
9655         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
9656           Change debug category to 'collectpads' from 'collect_pads'
9657           (fixes #323250).
9658
9659 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9660
9661         patch by: Sebastien Moutte
9662
9663         * libs/gst/controller/gstinterpolation.c:
9664           use convert function for uint64/double
9665         * win32/vs6/libgstcontroller.dsp:
9666           link to GLib
9667
9668 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9669
9670         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
9671         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
9672         * gst/gstutils.h:
9673         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
9674           add tests that seem to show that the guint64/gdouble conversions
9675           are correct.
9676
9677 2005-12-02  Wim Taymans  <wim@fluendo.com>
9678
9679         * gst/gstregistry.c: (gst_registry_add_path):
9680         * gst/gstregistry.h:
9681         * gst/gstregistryxml.c:
9682         Fix docs again.
9683
9684 2005-12-02  Wim Taymans  <wim@fluendo.com>
9685
9686         * gst/gstutils.c: (gst_util_uint64_scale_int64),
9687         (gst_util_uint64_scale_int):
9688         Small cleanup.
9689
9690         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9691         Add debug log line.
9692
9693         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
9694         Add FIXME.
9695
9696 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9697
9698         * win32/MANIFEST:
9699         * win32/common/config.h:
9700         * win32/vs6/gstreamer.dsw:
9701         * win32/vs6/libgstcoreelements.dsp:
9702         * win32/vs6/libgstelements.dsp:
9703           renamed core elements plugin
9704
9705 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9706
9707         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
9708         (get_candidates):
9709           do piece-wise major/minor comparison so 0.9 < 0.10
9710           also allow .exe extensions for tools
9711
9712 2005-12-02  Michael Smith  <msmith@fluendo.com>
9713
9714         * gst/gst.c:
9715           Escape a % to make gtkdoc happier; bug 322958.
9716
9717 === release 0.9.7 ===
9718
9719 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
9720
9721         * configure.ac:
9722           releasing 0.9.7, "My Dog Has No Nose"
9723
9724 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9725
9726         * common/gst-xmlinspect.py:
9727         * configure.ac:
9728         * docs/libs/tmpl/gstdataprotocol.sgml:
9729         * docs/random/release:
9730         * po/af.po:
9731         * po/az.po:
9732         * po/bg.po:
9733         * po/ca.po:
9734         * po/cs.po:
9735         * po/de.po:
9736         * po/en_GB.po:
9737         * po/fr.po:
9738         * po/it.po:
9739         * po/nb.po:
9740         * po/nl.po:
9741         * po/ru.po:
9742         * po/sq.po:
9743         * po/sr.po:
9744         * po/sv.po:
9745         * po/tr.po:
9746         * po/uk.po:
9747         * po/vi.po:
9748         * win32/common/config.h:
9749         * win32/common/config.h.in:
9750         * win32/vs6/gst_inspect.dsp:
9751         * win32/vs6/gst_launch.dsp:
9752         * win32/vs6/libgstbase.dsp:
9753         * win32/vs6/libgstelements.dsp:
9754         * win32/vs6/libgstreamer.dsp:
9755         * win32/vs7/GStreamer.vcproj:
9756         * win32/vs7/gst-inspect.vcproj:
9757         * win32/vs7/gst-launch.vcproj:
9758         * win32/vs7/libgstbase.vcproj:
9759           bump GST_MAJORMINOR to 0.10
9760           reset libtool version
9761
9762 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9763
9764         * po/LINGUAS:
9765         * po/bg.po:
9766           Added Bulgarian translation by (Alexander Shopov)
9767
9768 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9769
9770         * tests/check/gst/gstplugin.c:
9771           fix test
9772
9773 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9774
9775         * common/gst-xmlinspect.py:
9776         * common/gtk-doc-plugins.mak:
9777         * configure.ac:
9778         * docs/Makefile.am:
9779         * docs/gst/Makefile.am:
9780         * docs/gst/gstreamer-docs.sgml:
9781         * docs/gst/gstreamer-sections.txt:
9782         * docs/gst/gstreamer.types:
9783         * docs/gst/gstreamer.types.in:
9784         * docs/plugins/Makefile.am:
9785         * docs/plugins/gstreamer-plugins-docs.sgml:
9786         * docs/plugins/gstreamer-plugins-sections.txt:
9787         * docs/plugins/gstreamer-plugins.types:
9788         * docs/plugins/inspect.stamp:
9789         * docs/plugins/inspect/plugin-coreelements.xml:
9790         * docs/plugins/inspect/plugin-coreindexers.xml:
9791         * docs/plugins/scanobj-build.stamp:
9792         * gstreamer.spec.in:
9793         * plugins/elements/Makefile.am:
9794         * plugins/elements/gstelements.c:
9795         * plugins/elements/gstfakesink.c:
9796         * plugins/elements/gstfakesrc.c:
9797         * plugins/elements/gstfilesink.c:
9798         * plugins/elements/gstfilesrc.c:
9799         * plugins/elements/gstqueue.c:
9800         * plugins/indexers/Makefile.am:
9801         * plugins/indexers/gstindexers.c:
9802           document core plugins in a separate document just like all the
9803           others
9804           rename these plugins to something starting with core
9805
9806 2005-12-01  Andy Wingo  <wingo@pobox.com>
9807
9808         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
9809         padding here before, but it missed the commit.
9810
9811 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
9812
9813         * libs/gst/controller/gstinterpolation.c:
9814           whitespace prices have crashed, we should feel free to use some now
9815           use gst_guint64_to_gdouble
9816
9817 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
9818
9819         * libs/gst/controller/gstcontroller.c:
9820         * libs/gst/controller/gsthelper.c:
9821         * libs/gst/controller/gstinterpolation.c:
9822         * libs/gst/controller/lib.c:
9823           wrap config.h include
9824
9825 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
9826
9827         * docs/gst/gstreamer-sections.txt:
9828           update docs
9829
9830 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
9831
9832         * plugins/elements/gstelements.c:
9833         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
9834         (gst_fd_sink__class_init), (gst_fd_sink__init),
9835         (gst_fd_sink__chain), (gst_fd_sink__set_property),
9836         (gst_fd_sink__get_property):
9837         * plugins/elements/gstfdsink.h:
9838         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
9839         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
9840         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
9841         (gst_fd_src_unlock), (gst_fd_src_set_property),
9842         (gst_fd_src_get_property), (gst_fd_src_create),
9843         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
9844         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
9845         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
9846         (gst_fd_src_uri_handler_init):
9847         * plugins/elements/gstfdsrc.h:
9848         * plugins/elements/gstqueue.c: (gst_queue_get_type):
9849           more anal cleanup
9850
9851 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9852
9853         * docs/gst/Makefile.am:
9854         * docs/gst/gstreamer.types.in:
9855         * gst/Makefile.am:
9856           fix the docs build
9857
9858 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9859
9860         * configure.ac:
9861         * gst/Makefile.am:
9862         * gst/gst.c:
9863         * gst/gstplugin.h:
9864         * gst/gstregistry.h:
9865         * tests/benchmarks/complexity.c:
9866         * tests/benchmarks/mass-elements.c:
9867         * tests/check/Makefile.am:
9868         * tools/Makefile.am:
9869         * tools/gst-inspect.c:
9870         * tools/gst-xmlinspect.c:
9871           various fixes to make
9872           --disable-nls --disable-registry --disable-loadsave
9873           --disable-parse --disable-gst-debug
9874           work and get the core .so down to 360444 bytes after stripping
9875
9876 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9877
9878         * Makefile.am:
9879         * configure.ac:
9880           descend into tests
9881         * docs/random/thomasvs/TODO:
9882         * tests/Makefile.am:
9883         * tests/README:
9884           add a README
9885
9886 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9887
9888         * win32/GStreamer.vcproj:
9889         * win32/MANIFEST:
9890         * win32/Makefile:
9891         * win32/Makefile.inspect:
9892         * win32/Makefile.launch:
9893         * win32/Makefile.register:
9894         * win32/README.txt:
9895         * win32/gst-inspect.vcproj:
9896         * win32/gst-launch.vcproj:
9897         * win32/gst-register.vcproj:
9898         * win32/gstelements.vcproj:
9899         * win32/gstgetbits.def:
9900         * win32/gstgetbits.vcproj:
9901         * win32/gstreamer-dbg.def:
9902         * win32/gstreamer.def:
9903         * win32/libgstbase.def:
9904         * win32/libgstbase.vcproj:
9905         * win32/link_oldruntime.c:
9906         * win32/mman.c:
9907         * win32/mman.h:
9908         * win32/mman.inl:
9909         * win32/msvc71.sln:
9910           move even more stuff, win32/ is nice and clean now
9911
9912 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9913
9914         * libs/gst/control/.cvsignore:
9915         * win32/MANIFEST:
9916         * win32/config.h:
9917         * win32/dirent.c:
9918         * win32/dirent.h:
9919         * win32/gstbytestream.def:
9920         * win32/gstbytestream.vcproj:
9921         * win32/gstconfig.h:
9922         * win32/gstenumtypes.c:
9923         * win32/gstenumtypes.h:
9924         * win32/gstoptimalscheduler.vcproj:
9925         * win32/gstversion.h:
9926         * win32/gtchar.h:
9927         * win32/testsuite/bins.vcproj:
9928         * win32/testsuite/bytestream.vcproj:
9929         * win32/testsuite/caps.vcproj:
9930         * win32/testsuite/cleanup.vcproj:
9931         * win32/testsuite/clock.vcproj:
9932         * win32/testsuite/debug.vcproj:
9933         * win32/testsuite/dlopen.vcproj:
9934         * win32/testsuite/dynparams.vcproj:
9935         * win32/testsuite/elements.vcproj:
9936         * win32/testsuite/ghostpads.vcproj:
9937         * win32/testsuite/indexers.vcproj:
9938         * win32/testsuite/negotiation.vcproj:
9939         * win32/testsuite/parse.vcproj:
9940         * win32/testsuite/plugin.vcproj:
9941         * win32/testsuite/refcounting.vcproj:
9942         * win32/testsuite/schedulers.vcproj:
9943         * win32/testsuite/states.vcproj:
9944         * win32/testsuite/tags.vcproj:
9945         * win32/testsuite/threads.vcproj:
9946           remove old win32 stuff that isn't maintained and should be
9947           reorganized
9948
9949 2005-11-30  Andy Wingo  <wingo@pobox.com>
9950
9951         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
9952         loading the gst.interfaces python module bork.
9953
9954         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
9955         available since GLib 2.2. Fixes #318031.
9956
9957 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9958
9959         * Makefile.am:
9960         * check/.cvsignore:
9961         * check/Makefile.am:
9962         * check/elements/.cvsignore:
9963         * check/elements/fakesrc.c:
9964         * check/elements/fdsrc.c:
9965         * check/elements/identity.c:
9966         * check/generic/.cvsignore:
9967         * check/generic/states.c:
9968         * check/gst-libs/.cvsignore:
9969         * check/gst-libs/controller.c:
9970         * check/gst-libs/gdp.c:
9971         * check/gst/.cvsignore:
9972         * check/gst/capslist.h:
9973         * check/gst/gst.c:
9974         * check/gst/gstbin.c:
9975         * check/gst/gstbuffer.c:
9976         * check/gst/gstbus.c:
9977         * check/gst/gstcaps.c:
9978         * check/gst/gstelement.c:
9979         * check/gst/gstevent.c:
9980         * check/gst/gstghostpad.c:
9981         * check/gst/gstiterator.c:
9982         * check/gst/gstmessage.c:
9983         * check/gst/gstminiobject.c:
9984         * check/gst/gstobject.c:
9985         * check/gst/gstpad.c:
9986         * check/gst/gstpipeline.c:
9987         * check/gst/gstplugin.c:
9988         * check/gst/gstsegment.c:
9989         * check/gst/gststructure.c:
9990         * check/gst/gstsystemclock.c:
9991         * check/gst/gsttag.c:
9992         * check/gst/gstutils.c:
9993         * check/gst/gstvalue.c:
9994         * check/net/.cvsignore:
9995         * check/net/gstnetclientclock.c:
9996         * check/net/gstnettimeprovider.c:
9997         * check/pipelines/.cvsignore:
9998         * check/pipelines/cleanup.c:
9999         * check/pipelines/simple_launch_lines.c:
10000         * check/pipelines/stress.c:
10001         * check/states/.cvsignore:
10002         * check/states/sinks.c:
10003         * configure.ac:
10004         * examples/Makefile.am:
10005         * examples/appreader/.cvsignore:
10006         * examples/appreader/Makefile.am:
10007         * examples/appreader/appreader.c:
10008         * examples/controller/.cvsignore:
10009         * examples/controller/Makefile.am:
10010         * examples/controller/audio-example.c:
10011         * examples/cutter/.cvsignore:
10012         * examples/cutter/Makefile.am:
10013         * examples/cutter/cutter.c:
10014         * examples/cutter/cutter.h:
10015         * examples/events/Makefile.am:
10016         * examples/events/seek.c:
10017         * examples/helloworld/.cvsignore:
10018         * examples/helloworld/Makefile.am:
10019         * examples/helloworld/helloworld.c:
10020         * examples/helloworld2/.cvsignore:
10021         * examples/helloworld2/Makefile.am:
10022         * examples/helloworld2/helloworld2.c:
10023         * examples/launch/.cvsignore:
10024         * examples/launch/Makefile.am:
10025         * examples/launch/mp3parselaunch.c:
10026         * examples/launch/mp3play:
10027         * examples/manual/.cvsignore:
10028         * examples/manual/Makefile.am:
10029         * examples/manual/extract.pl:
10030         * examples/metadata/Makefile.am:
10031         * examples/metadata/read-metadata.c:
10032         * examples/mixer/.cvsignore:
10033         * examples/mixer/Makefile.am:
10034         * examples/mixer/mixer.c:
10035         * examples/mixer/mixer.h:
10036         * examples/pingpong/.cvsignore:
10037         * examples/pingpong/Makefile.am:
10038         * examples/pingpong/pingpong.c:
10039         * examples/plugins/.cvsignore:
10040         * examples/plugins/Makefile.am:
10041         * examples/plugins/example.c:
10042         * examples/plugins/example.h:
10043         * examples/pwg/.cvsignore:
10044         * examples/pwg/Makefile.am:
10045         * examples/pwg/extract.pl:
10046         * examples/queue/.cvsignore:
10047         * examples/queue/Makefile.am:
10048         * examples/queue/queue.c:
10049         * examples/queue2/.cvsignore:
10050         * examples/queue2/Makefile.am:
10051         * examples/queue2/queue2.c:
10052         * examples/queue3/.cvsignore:
10053         * examples/queue3/Makefile.am:
10054         * examples/queue3/queue3.c:
10055         * examples/queue4/.cvsignore:
10056         * examples/queue4/Makefile.am:
10057         * examples/queue4/queue4.c:
10058         * examples/retag/.cvsignore:
10059         * examples/retag/Makefile.am:
10060         * examples/retag/retag.c:
10061         * examples/retag/transcode.c:
10062         * examples/thread/.cvsignore:
10063         * examples/thread/Makefile.am:
10064         * examples/thread/thread.c:
10065         * examples/typefind/.cvsignore:
10066         * examples/typefind/Makefile.am:
10067         * examples/typefind/typefind.c:
10068         * examples/xml/.cvsignore:
10069         * examples/xml/Makefile.am:
10070         * examples/xml/createxml.c:
10071         * examples/xml/runxml.c:
10072         * tests/Makefile.am:
10073         * tests/check/Makefile.am:
10074         * testsuite/.cvsignore:
10075         * testsuite/Makefile.am:
10076         * testsuite/Rules:
10077         * testsuite/caps/.cvsignore:
10078         * testsuite/caps/Makefile.am:
10079         * testsuite/caps/app_fixate.c:
10080         * testsuite/caps/audioscale.c:
10081         * testsuite/caps/caps.c:
10082         * testsuite/caps/caps.h:
10083         * testsuite/caps/caps_strings:
10084         * testsuite/caps/compatibility.c:
10085         * testsuite/caps/deserialize.c:
10086         * testsuite/caps/enumcaps.c:
10087         * testsuite/caps/eratosthenes.c:
10088         * testsuite/caps/filtercaps.c:
10089         * testsuite/caps/fixed.c:
10090         * testsuite/caps/fraction-convert.c:
10091         * testsuite/caps/fraction-multiply-and-zero.c:
10092         * testsuite/caps/intersect2.c:
10093         * testsuite/caps/intersection.c:
10094         * testsuite/caps/normalisation.c:
10095         * testsuite/caps/random.c:
10096         * testsuite/caps/renegotiate.c:
10097         * testsuite/caps/sets.c:
10098         * testsuite/caps/simplify.c:
10099         * testsuite/caps/string-conversions.c:
10100         * testsuite/caps/structure.c:
10101         * testsuite/caps/subtract.c:
10102         * testsuite/caps/union.c:
10103         * testsuite/debug/.cvsignore:
10104         * testsuite/debug/Makefile.am:
10105         * testsuite/debug/category.c:
10106         * testsuite/debug/commandline.c:
10107         * testsuite/debug/global.c:
10108         * testsuite/debug/output.c:
10109         * testsuite/debug/printf_extension.c:
10110         * testsuite/dlopen/.cvsignore:
10111         * testsuite/dlopen/Makefile.am:
10112         * testsuite/dlopen/dlopen_gst.c:
10113         * testsuite/dlopen/loadgst.c:
10114         * testsuite/elements/.cvsignore:
10115         * testsuite/elements/Makefile.am:
10116         * testsuite/elements/gst-inspect-check.in:
10117         * testsuite/elements/struct_i386.h:
10118         * testsuite/elements/struct_size.c:
10119         * testsuite/indexers/.cvsignore:
10120         * testsuite/indexers/Makefile.am:
10121         * testsuite/indexers/cache1.c:
10122         * testsuite/indexers/indexdump.c:
10123         * testsuite/parse/.cvsignore:
10124         * testsuite/parse/Makefile.am:
10125         * testsuite/parse/parse1.c:
10126         * testsuite/parse/parse2.c:
10127         * testsuite/plugin/.cvsignore:
10128         * testsuite/plugin/Makefile.am:
10129         * testsuite/plugin/README:
10130         * testsuite/plugin/dynamic.c:
10131         * testsuite/plugin/linked.c:
10132         * testsuite/plugin/loading.c:
10133         * testsuite/plugin/registry.c:
10134         * testsuite/plugin/static.c:
10135         * testsuite/plugin/static2.c:
10136         * testsuite/plugin/testplugin.c:
10137         * testsuite/plugin/testplugin2.c:
10138         * testsuite/plugin/testplugin2_s.c:
10139         * testsuite/plugin/testplugin_s.c:
10140         * testsuite/refcounting/.cvsignore:
10141         * testsuite/refcounting/Makefile.am:
10142         * testsuite/refcounting/bin.c:
10143         * testsuite/refcounting/element.c:
10144         * testsuite/refcounting/element_pad.c:
10145         * testsuite/refcounting/mainloop.c:
10146         * testsuite/refcounting/mem.c:
10147         * testsuite/refcounting/mem.h:
10148         * testsuite/refcounting/object.c:
10149         * testsuite/refcounting/pad.c:
10150         * testsuite/refcounting/sched.c:
10151         * testsuite/refcounting/thread.c:
10152         * testsuite/states/.cvsignore:
10153         * testsuite/states/Makefile.am:
10154         * testsuite/states/bin.c:
10155         * testsuite/states/locked.c:
10156         * testsuite/states/parent.c:
10157         * testsuite/threads/.cvsignore:
10158         * testsuite/threads/159566.c:
10159         * testsuite/threads/159852.c:
10160         * testsuite/threads/Makefile.am:
10161         * testsuite/threads/queue.c:
10162         * testsuite/threads/signals.c:
10163         * testsuite/threads/staticrec.c:
10164         * testsuite/threads/thread.c:
10165         * testsuite/threads/threadb.c:
10166         * testsuite/threads/threadc.c:
10167         * testsuite/threads/threadd.c:
10168         * testsuite/threads/threade.c:
10169         * testsuite/threads/threadf.c:
10170         * testsuite/threads/threadg.c:
10171         * testsuite/threads/threadh.c:
10172         * testsuite/threads/threadi.c:
10173           move all of these under tests
10174
10175 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10176
10177         * configure.ac:
10178         * tests/Makefile.am:
10179           fix distcheck
10180
10181 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10182
10183         * docs/gst/gstreamer-sections.txt:
10184         * tests/sched/.cvsignore:
10185         * tests/sched/Makefile.am:
10186         * tests/sched/cases/(fs-fs).xml:
10187         * tests/sched/cases/(fs-i-fs).xml:
10188         * tests/sched/cases/(fs-i-i-fs).xml:
10189         * tests/sched/cases/(fs-i-q[i-fs]).xml:
10190         * tests/sched/dynamic-pipeline.c:
10191         * tests/sched/interrupt1.c:
10192         * tests/sched/interrupt2.c:
10193         * tests/sched/interrupt3.c:
10194         * tests/sched/runtestcases:
10195         * tests/sched/runxml.c:
10196         * tests/sched/sched-stress.c:
10197         * tests/sched/sort.c:
10198         * tests/sched/testcases:
10199         * tests/sched/testcases1.tc:
10200         * tests/seeking/.cvsignore:
10201         * tests/seeking/Makefile.am:
10202         * tests/seeking/seeking1.c:
10203         * tests/threadstate/.cvsignore:
10204         * tests/threadstate/Makefile.am:
10205         * tests/threadstate/test1.c:
10206         * tests/threadstate/test2.c:
10207         * tests/threadstate/threadstate1.c:
10208         * tests/threadstate/threadstate2.c:
10209         * tests/threadstate/threadstate3.c:
10210         * tests/threadstate/threadstate4.c:
10211         * tests/threadstate/threadstate5.c:
10212           remove obsolete tests
10213         * configure.ac:
10214         * tests/bench-complexity.scm:
10215         * tests/bench-mass_elements.scm:
10216         * tests/complexity.c:
10217         * tests/complexity.gnuplot:
10218         * tests/instantiate/.cvsignore:
10219         * tests/instantiate/Makefile.am:
10220         * tests/instantiate/caps.c:
10221         * tests/mass_elements.c:
10222         * tests/network-clock-utils.scm:
10223         * tests/network-clock.scm:
10224         * tests/plot-data:
10225         First pass at cleaning up tests/ dir before moving the rest
10226         Combined with CVS surgery
10227
10228 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10229
10230         * po/POTFILES.in:
10231           queue has moved, update
10232
10233 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10234
10235         * docs/gst/gstreamer-sections.txt:
10236           remove double entries from the docs
10237         * gst/gst_private.h:
10238         * gst/gstinfo.c: (_gst_debug_init):
10239           remove the THREAD debug category
10240         * gst/Makefile.am:
10241         * gst/gstqueue.c:
10242         * gst/gstqueue.h:
10243         * docs/gst/gstreamer.types:
10244         * plugins/elements/gstqueue.c: (gst_queue_get_type),
10245         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
10246           completely move queue and fix up debugging categories
10247
10248 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10249
10250         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
10251           make initialization portable, using LL is not
10252
10253 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10254
10255         * win32/common/gstconfig.h:
10256           add large padding
10257
10258 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10259
10260         * win32/common/libgstreamer.def:
10261           rename symbols; sort base section
10262
10263 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10264
10265         * gst/gstclock.c: (do_linear_regression):
10266           remove crack non-portable handrolled DEBUG macro
10267
10268 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10269
10270         * docs/random/release:
10271           update notes
10272         * win32/common/gstenumtypes.c: (register_gst_object_flags),
10273         (gst_object_flags_get_type), (register_gst_bin_flags),
10274         (gst_bin_flags_get_type), (register_gst_buffer_flag),
10275         (gst_buffer_flag_get_type), (register_gst_bus_flags),
10276         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
10277         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
10278         (gst_caps_flags_get_type), (register_gst_clock_return),
10279         (gst_clock_return_get_type), (register_gst_clock_entry_type),
10280         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
10281         (gst_clock_flags_get_type), (register_gst_state),
10282         (gst_state_get_type), (register_gst_state_change_return),
10283         (gst_state_change_return_get_type), (register_gst_state_change),
10284         (gst_state_change_get_type), (register_gst_element_flags),
10285         (gst_element_flags_get_type), (register_gst_core_error),
10286         (gst_core_error_get_type), (register_gst_library_error),
10287         (gst_library_error_get_type), (register_gst_resource_error),
10288         (gst_resource_error_get_type), (register_gst_stream_error),
10289         (gst_stream_error_get_type), (register_gst_event_type_flags),
10290         (gst_event_type_flags_get_type), (register_gst_event_type),
10291         (gst_event_type_get_type), (register_gst_seek_type),
10292         (gst_seek_type_get_type), (register_gst_seek_flags),
10293         (gst_seek_flags_get_type), (register_gst_format),
10294         (gst_format_get_type), (register_gst_index_certainty),
10295         (gst_index_certainty_get_type), (register_gst_index_entry_type),
10296         (gst_index_entry_type_get_type),
10297         (register_gst_index_lookup_method),
10298         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
10299         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
10300         (gst_index_resolver_method_get_type), (register_gst_index_flags),
10301         (gst_index_flags_get_type), (register_gst_debug_level),
10302         (gst_debug_level_get_type), (register_gst_debug_color_flags),
10303         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
10304         (gst_iterator_result_get_type), (register_gst_iterator_item),
10305         (gst_iterator_item_get_type), (register_gst_message_type),
10306         (gst_message_type_get_type), (register_gst_mini_object_flags),
10307         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
10308         (gst_pad_link_return_get_type), (register_gst_flow_return),
10309         (gst_flow_return_get_type), (register_gst_activate_mode),
10310         (gst_activate_mode_get_type), (register_gst_pad_direction),
10311         (gst_pad_direction_get_type), (register_gst_pad_flags),
10312         (gst_pad_flags_get_type), (register_gst_pad_presence),
10313         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
10314         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
10315         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
10316         (gst_plugin_error_get_type), (register_gst_plugin_flags),
10317         (gst_plugin_flags_get_type), (register_gst_rank),
10318         (gst_rank_get_type), (register_gst_query_type),
10319         (gst_query_type_get_type), (register_gst_tag_merge_mode),
10320         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
10321         (gst_tag_flag_get_type), (register_gst_task_state),
10322         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
10323         (gst_alloc_trace_flags_get_type),
10324         (register_gst_type_find_probability),
10325         (gst_type_find_probability_get_type), (register_gst_uri_type),
10326         (gst_uri_type_get_type), (register_gst_parse_error),
10327         (gst_parse_error_get_type):
10328         * win32/common/gstenumtypes.h:
10329         * win32/common/gstversion.h:
10330           update visual studio generated files
10331
10332 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10333
10334         * win32/vs6/libgstbase.dsp:
10335         * win32/vs6/libgstelements.dsp:
10336           update project files for new locations
10337
10338 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10339
10340         * Makefile.am:
10341           remove some files
10342         * README:
10343           reinstate and update
10344         * DEVEL:
10345         * REQUIREMENTS:
10346           removed
10347         * LICENSE:
10348         * docs/random/LICENSE:
10349           moved to random
10350
10351 2005-11-30  Edward Hervey  <edward@fluendo.com>
10352
10353         * gst/gsttypefind.c: (gst_type_find_register):
10354         * gst/gsttypefind.h:
10355         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
10356         (gst_type_find_factory_dispose):
10357         * gst/gsttypefindfactory.h:
10358         Fix memory leak in GstTypeFindFactory.
10359
10360 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10361
10362         * gst/gst.c:
10363         * plugins/elements/Makefile.am:
10364         * plugins/elements/gstelements.c:
10365         * plugins/elements/gstqueue.c:
10366           move queue from core to the elements plugin
10367
10368 2005-11-29  Andy Wingo  <wingo@pobox.com>
10369
10370         * libs/gst/base/gstbasetransform.h: 
10371         * libs/gst/base/gstbasesrc.h: 
10372         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
10373
10374         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
10375         of pointers by which to pad very extensible base classes (like the
10376         ones in libs/gst/base).
10377
10378 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10379
10380         * docs/gst/gstreamer-docs.sgml:
10381         * docs/gst/gstreamer-sections.txt:
10382         * docs/libs/gstreamer-libs-docs.sgml:
10383         * docs/libs/gstreamer-libs-sections.txt:
10384           moving documentation from core to lib
10385
10386 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10387
10388         * check/Makefile.am:
10389         * configure.ac:
10390         * docs/gst/Makefile.am:
10391         * gst/Makefile.am:
10392         * gst/base/.cvsignore:
10393         * gst/base/Makefile.am:
10394         * gst/base/README:
10395         * gst/base/gstadapter.c:
10396         * gst/base/gstadapter.h:
10397         * gst/base/gstbasesink.c:
10398         * gst/base/gstbasesink.h:
10399         * gst/base/gstbasesrc.c:
10400         * gst/base/gstbasesrc.h:
10401         * gst/base/gstbasetransform.c:
10402         * gst/base/gstbasetransform.h:
10403         * gst/base/gstcollectpads.c:
10404         * gst/base/gstcollectpads.h:
10405         * gst/base/gstpushsrc.c:
10406         * gst/base/gstpushsrc.h:
10407         * gst/base/gsttypefindhelper.c:
10408         * gst/base/gsttypefindhelper.h:
10409         * gst/check/Makefile.am:
10410         * gst/check/gstcheck.c:
10411         * gst/check/gstcheck.h:
10412         * gst/net/Makefile.am:
10413         * gst/net/gstnet.h:
10414         * gst/net/gstnetclientclock.c:
10415         * gst/net/gstnetclientclock.h:
10416         * gst/net/gstnettimepacket.c:
10417         * gst/net/gstnettimepacket.h:
10418         * gst/net/gstnettimeprovider.c:
10419         * gst/net/gstnettimeprovider.h:
10420         * libs/gst/Makefile.am:
10421         * libs/gst/base/Makefile.am:
10422         * libs/gst/base/gstbasetransform.c:
10423         * libs/gst/check/Makefile.am:
10424         * plugins/elements/Makefile.am:
10425         * po/POTFILES.in:
10426           CVS surgery + support to move base, check, and net out of gst
10427           and into libs/gst
10428
10429 2005-11-29  Andy Wingo  <wingo@pobox.com>
10430
10431         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
10432
10433         * gst/gststructure.h (struct _GstStructure): Only one pointer of
10434         padding.
10435
10436         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
10437
10438         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
10439
10440         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
10441
10442         * gst/gstobject.h: (struct _GstObject): Only one pointer of
10443         padding; reduces object size by about 30%. We don't expect
10444         anything else to go into gstobject.
10445
10446         * gst/gstminiobject.h (struct _GstMiniObject)
10447         (struct _GstMiniObjectClass): Only one pointer of padding; the
10448         payload is only a pointer and two ints anyway. For the class there
10449         are only two methods as well.
10450         
10451         * gst/gstelement.h (struct _GstElementClass): Removed
10452         the state_changed signal callback, it is not used.
10453
10454 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10455
10456         * docs/gst/gstreamer.types:
10457           fix includes, though they are a little dinky
10458
10459 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10460
10461         * check/Makefile.am:
10462           look in the right place for elements, a lot more chance of
10463           success
10464         * gst/Makefile.am:
10465           remove indexers and elements subdirs
10466         * plugins/Makefile.am:
10467           make indexers conditional
10468
10469 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10470
10471         * Makefile.am:
10472         * configure.ac:
10473         * plugins/elements/Makefile.am:
10474         * plugins/elements/gstcapsfilter.c:
10475         * plugins/elements/gstfilesink.c:
10476         * plugins/elements/gstfilesrc.c:
10477         * plugins/elements/gstidentity.c:
10478         * plugins/indexers/Makefile.am:
10479           do CVS surgery and related build fixery to move elements
10480           and indexers in a new gstreamer/plugins directory, out of the
10481           gst/ directory
10482
10483 2005-11-29  Andy Wingo  <wingo@pobox.com>
10484
10485         * check/Makefile.am:
10486         * pkgconfig/gstreamer-net-uninstalled.pc.in:
10487         * pkgconfig/gstreamer-net.pc.in:
10488         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
10489         #322257.
10490
10491 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10492
10493         * tools/Makefile.am:
10494         * tools/gst-complete.1.in:
10495         * tools/gst-complete.c:
10496         * tools/gst-compprep.1.in:
10497         * tools/gst-compprep.c:
10498           removing -compprep and -complete
10499
10500 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10501
10502         * gst/gstevent.c: (gst_event_new_new_segment),
10503         (gst_event_parse_new_segment):
10504         * gst/gstevent.h:
10505           fix #320529 - clean up new_segment API and structure.
10506           Let's hope everyone was using the methods, and not the structure.
10507
10508 2005-11-29  Edward Hervey  <edward@fluendo.com>
10509
10510         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10511         (gst_base_sink_event), (gst_base_sink_do_sync),
10512         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
10513         Properly handle non GST_FORMAT_TIME segment
10514         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
10515         Properly handle non GST_FORMAT_TIME segment
10516         * gst/gstsegment.c:
10517         This function is valid if the accumulator is 0 and the format
10518         is different from the requested format.
10519         
10520 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
10521
10522         * docs/gst/gstreamer-sections.txt:
10523         Add gst_query_new_seeking and gst_query_parse_seeking to the
10524         docs.
10525
10526 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
10527
10528         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
10529           Treat a pad alloc with new caps the same as if we were not
10530           negotiated, in order to allow a changing upstream output
10531           to produce a new format of data.
10532
10533 2005-11-29  Edward Hervey  <edward@fluendo.com>
10534
10535         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
10536         (gst_base_transform_event), (gst_base_transform_eventfunc):
10537         The event virtual method is now properly implemented, with a default
10538         handler
10539         Sub classes should call the parent_class event method. They should
10540         return FALSE if they had a problem handling the given event, or don't
10541         want GstBaseTransform to send that even downstream
10542         * gst/elements/gstidentity.c: (gst_identity_class_init),
10543         (gst_identity_init), (gst_identity_event),
10544         (gst_identity_transform_ip), (gst_identity_set_property),
10545         (gst_identity_get_property):
10546         * gst/elements/gstidentity.h:
10547         Added the single-segment boolean property.
10548         If set to TRUE, it will output a single segment of data, starting from
10549         0, will eat up all incoming newsegment, and modify the timestamp of the
10550         buffers accordingly
10551
10552 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
10553
10554         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
10555           Don't ref NULL target pad (#322751). Improve docs.
10556
10557 2005-11-29  Michael Smith  <msmith@fluendo.com>
10558
10559         * gst/gstregistryxml.c: (load_plugin):
10560           Don't crash if we failed to load a feature from a plugin. 
10561
10562 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10563
10564         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
10565         (GST_START_TEST):
10566           use more check API and less GLib API
10567
10568 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10569
10570         * Makefile.am:
10571           don't run checks if we don't have check
10572         * common/check.mak:
10573           remove the registry when running make torture
10574         * docs/gst/gstreamer-sections.txt:
10575           remove second multiply
10576         * gst/gstqueue.c: (gst_queue_loop):
10577           fix a compile warning when disabling debug
10578
10579 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
10580
10581         * gst/gstinfo.h:
10582         Hey! Let's print the pad name if the pointer != NULL instead
10583         of when it == NULL :-)
10584
10585 2005-11-28  Wim Taymans  <wim@fluendo.com>
10586
10587         * check/gst/gstutils.c: (GST_START_TEST):
10588         Updated check, add some scaling accuracy checking code.
10589
10590         * gst/gstutils.c: (gst_util_div128_64),
10591         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
10592         (gst_util_uint64_scale_int):
10593         Fix 6 times faster division code. Optimize for common 
10594         1/1 and less common X/1 cases.
10595
10596 2005-11-28  Wim Taymans  <wim@fluendo.com>
10597
10598         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
10599         More checks.
10600
10601         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
10602         (do_linear_regression), (gst_clock_add_observation):
10603         Cleanups.
10604         Release lock when the clock cannot be slaved.
10605         Catch the case where the regression returned an invalid denominator.
10606
10607         * gst/gstutils.c: (gst_util_div128_64_iterate),
10608         (gst_util_div128_64), (gst_util_uint64_scale_int64),
10609         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
10610         Add protentially more performant non-iterative 128/64 divide function
10611         that unfortunatly does not work yet.
10612         Shortcut the trivial 0/X = 0 case.
10613         Remove the warnings on overflow.
10614
10615 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10616
10617         * gst/gstplugin.c: (gst_plugin_register_func):
10618           everything causing a plugin not to load should be at least a WARNING
10619
10620 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
10621
10622         * docs/random/ensonic/dparams.txt:
10623           some TODOs for the next dev cycle
10624         * libs/gst/controller/gstcontroller.c:
10625         (gst_controlled_property_set_interpolation_mode),
10626         (gst_controlled_property_new):
10627         * libs/gst/controller/gstcontroller.h:
10628           use base type to assign acccessor functions
10629
10630 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
10631
10632         * check/Makefile.am:
10633         Oops, that should have been top_srcdir
10634
10635 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
10636
10637         * check/Makefile.am:
10638         * check/elements/fdsrc.c: (GST_START_TEST):
10639         Use a cmdline define to specify the location of a file to use for
10640         testing, to avoid breaking distcheck.
10641
10642 2005-11-28  Andy Wingo  <wingo@pobox.com>
10643
10644         * gst/gstpad.c (fixate_value): Use array functions for arrays.
10645
10646 2005-11-28  Edward Hervey  <edward@fluendo.com>
10647
10648         * tools/gst-launch.c: (main):
10649         Clarify the output strings, makes it easier to translate.
10650         Fixes #322626
10651
10652 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10653
10654         * gst/Makefile.am:
10655           don't try and build net if we don't even have <sys/socket.h>
10656
10657 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
10658
10659         * check/Makefile.am:
10660         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
10661         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
10662           Add tests for fdsrc seekability
10663
10664         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
10665         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
10666         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
10667         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
10668         * gst/elements/gstfdsrc.h:
10669           fdsrc should not be a 'live' source.
10670           Implement seeking on seekable fd's.
10671
10672         * gst/gstquery.c: (gst_query_new_seeking),
10673         (gst_query_parse_seeking):
10674         * gst/gstquery.h:
10675           Implement SEEKING query functions: 
10676             *_new_seeking and *_parse_seeking
10677
10678 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
10679
10680         * gst/gstelement.c: (gst_element_dispose):
10681           don't loop forever
10682
10683         * gst/gstiterator.c:
10684         * gst/gststructure.c:
10685           doc fixes
10686
10687         * libs/gst/controller/gstcontroller.c:
10688         (gst_controlled_property_set_interpolation_mode):
10689         * libs/gst/controller/gstcontroller.h:
10690         * libs/gst/controller/gstinterpolation.c:
10691         (interpolate_none_get_enum_value_array):
10692           support controlling enums
10693
10694 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
10695
10696         * gst/gstvalue.c:
10697           Improve documentation for gst_value_union().
10698
10699         * gst/gstvalue.h:
10700           Change return value for union, intersect and subtract functions
10701           from gint to gboolean.
10702
10703 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
10704
10705         * gst/gstvalue.c: (gst_value_serialize_any_list),
10706         (gst_value_transform_any_list_string),
10707         (gst_value_deserialize_list), (gst_value_deserialize_array),
10708         (gst_value_set_int_range), (gst_value_deserialize_int_range),
10709         (gst_value_set_double_range), (gst_value_deserialize_double_range),
10710         (gst_value_set_fraction_range_full),
10711         (gst_value_deserialize_fraction_range),
10712         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
10713         (gst_value_deserialize_boolean),
10714         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
10715         (gst_value_serialize_float), (gst_value_deserialize_float),
10716         (gst_string_wrap), (gst_value_deserialize_string),
10717         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
10718         (gst_value_union_int_range_int_range),
10719         (gst_value_intersect_int_range_int_range),
10720         (gst_value_intersect_double_range_double_range),
10721         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
10722         (gst_value_subtract_int_range_int_range),
10723         (gst_value_subtract_double_double_range),
10724         (gst_value_subtract_double_range_double_range),
10725         (gst_value_deserialize_fraction):
10726         * gst/gstvalue.h:
10727           Use gint, gdouble and gchar in our API instead of int, double and
10728           char (and make usage in gstvalue.c more consistent).
10729
10730 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10731
10732         * check/Makefile.am:
10733         * libs/gst/controller/Makefile.am:
10734         * libs/gst/dataprotocol/Makefile.am:
10735           fix up Makefile.am and remove GST_ENABLE_NEW
10736
10737 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10738
10739         * configure.ac:
10740         * gst/Makefile.am:
10741         * gst/base/Makefile.am:
10742         * gst/check/Makefile.am:
10743         * gst/elements/Makefile.am:
10744         * gst/net/Makefile.am:
10745           update LDFLAGS use some more
10746
10747 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10748
10749         * common/m4/gst-doc.m4:
10750           Fixes #312589
10751
10752 2005-11-26  Edward Hervey  <edward@fluendo.com>
10753
10754         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
10755         This shouldn't issue a g_warning since it returns NULL if it
10756         couldn't find the plugin, and all functions using this behave
10757         properly on a NULL return. Switching to a GST_WARNING.
10758
10759 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
10760
10761         * gst/gstbin.c: (gst_bin_handle_message_func):
10762         Don't leak clock messages.
10763
10764 2005-11-25  Wim Taymans  <wim@fluendo.com>
10765
10766         * gst/gstutils.c: (gst_util_uint64_scale_int64),
10767         (gst_util_uint64_scale_int):
10768         Optimisations, remove unneeded vars.
10769
10770 2005-11-25  Wim Taymans  <wim@fluendo.com>
10771
10772         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
10773         Added more checks for the high precision uint64 cases.
10774
10775         * gst/gstutils.c: (gst_util_uint64_scale_int64),
10776         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
10777         Implement high precision (guint64 * guint64) / guint64.
10778
10779 2005-11-24  Wim Taymans  <wim@fluendo.com>
10780
10781         * gst/base/gstbasesrc.c: (gst_base_src_query):
10782         Fix wrong percentage query.
10783
10784         * gst/gstutils.c: (gst_util_uint64_scale),
10785         (gst_util_uint64_scale_int):
10786         Add some more common cases that can be handled 
10787         efficiently to _scale.
10788
10789 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10790
10791         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
10792         (gst_mini_object_suite):
10793           don't use check calls from threads; check probably isn't
10794           threadsafe and using a lock to make it threadsafe would
10795           defeat the purpose of this check
10796         * gst/check/gstcheck.c:
10797         * gst/check/gstcheck.h:
10798           use GST_DEBUG some more
10799
10800 2005-11-24  Wim Taymans  <wim@fluendo.com>
10801
10802         * gst/gstutils.c: (gst_util_uint64_scale),
10803         (gst_util_uint64_scale_int):
10804         Chain trivial case to _scale_int.
10805
10806 2005-11-24  Wim Taymans  <wim@fluendo.com>
10807
10808         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
10809         Added test for scaling.
10810
10811         * gst/gstclock.h:
10812         Small doc fix.
10813
10814         * gst/gstutils.c: (gst_util_uint64_scale_int):
10815         Implemented high precision scaling code.
10816
10817 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
10818
10819         * gst/gstinfo.h:
10820           do not crash on pad==NULL
10821
10822 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10823
10824         Patch by: Stefan Kost
10825
10826         * common/gtk-doc.mak:
10827         * docs/gst/Makefile.am:
10828         * docs/libs/Makefile.am:
10829           Fix distcheck issues for the libraries docs build
10830           Closes #319599.
10831
10832 2005-11-24  Michael Smith <msmith@fluendo.com>
10833
10834         * docs/manual/basics-helloworld.xml:
10835           Fix bug #315027: memory leak in example code in docs.
10836
10837 2005-11-24  Michael Smith <msmith@fluendo.com>
10838
10839         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10840           Unlock the PREROLL_LOCK in a failure case.
10841
10842 2005-11-24  Wim Taymans  <wim@fluendo.com>
10843
10844         * docs/gst/gstreamer-sections.txt:
10845         * gst/base/gstadapter.h:
10846         * gst/base/gstbasesink.h:
10847         * gst/base/gstbasesrc.h:
10848         * gst/base/gstbasetransform.h:
10849         * gst/base/gstpushsrc.h:
10850         * gst/elements/gstfakesink.h:
10851         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
10852         * gst/elements/gstfakesrc.h:
10853         * gst/elements/gstfilesink.h:
10854         * gst/elements/gstfilesrc.h:
10855         * gst/gst.c:
10856         * gst/gstbin.c:
10857         * gst/gstbuffer.c: (_gst_buffer_copy):
10858         * gst/gstbus.h:
10859         * gst/gstcaps.c:
10860         * gst/gstchildproxy.c:
10861         * gst/gstclock.c:
10862         * gst/gstelement.c:
10863         * gst/gstelementfactory.c:
10864         * gst/gstelementfactory.h:
10865         * gst/gstevent.c:
10866         * gst/gstghostpad.h:
10867         * gst/gstindex.h:
10868         * gst/gstinterface.h:
10869         * gst/gstminiobject.c:
10870         * gst/gstminiobject.h:
10871         * gst/gstpad.c:
10872         * gst/gstpad.h:
10873         * gst/gstpadtemplate.h:
10874         * gst/gstpipeline.h:
10875         * gst/gstpluginfeature.h:
10876         * gst/gstquery.h:
10877         * gst/gstqueue.h:
10878         * gst/gsttaglist.c:
10879         * gst/gsttaglist.h:
10880         * gst/gsttagsetter.c:
10881         * gst/gsttagsetter.h:
10882         * gst/gsttrace.c:
10883         * gst/gsttrace.h:
10884         * gst/gsttypefind.h:
10885         * gst/gsturi.h:
10886         * gst/gstvalue.c:
10887         * gst/net/gstnetclientclock.c:
10888         * gst/net/gstnetclientclock.h:
10889         * gst/net/gstnettimepacket.c:
10890         * gst/net/gstnettimeprovider.c:
10891         * gst/net/gstnettimeprovider.h:
10892         Doc fixes.
10893
10894 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10895
10896         * configure.ac: back to HEAD
10897
10898 === release 0.9.6 ===
10899
10900 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
10901
10902         * configure.ac:
10903           releasing 0.9.6, "Always On Time"
10904
10905 2005-11-23  Wim Taymans  <wim@fluendo.com>
10906
10907         * docs/gst/gstreamer-sections.txt:
10908         * gst/glib-compat.c:
10909         * gst/gsttagsetter.c:
10910         * gst/gstvalue.c:
10911         * gst/net/gstnetclientclock.c:
10912         * gst/net/gstnettimepacket.h:
10913         Doc updates.
10914
10915 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10916
10917         * docs/faq/using.xml:
10918         * docs/libs/tmpl/gstcontrol.sgml:
10919         * docs/manual/advanced-dparams.xml:
10920         * docs/manual/appendix-checklist.xml:
10921         * docs/manual/basics-elements.xml:
10922         * docs/pwg/other-source.xml:
10923         * docs/random/moving-plugins:
10924         * gst/gstpad.c:
10925         * tools/gst-launch.1.in:
10926           remove mentions of sinesrc
10927
10928 2005-11-23  Michael Smith <msmith@fluendo.com>
10929
10930         * docs/gst/gstreamer-sections.txt:
10931           Update for new API and API changes.
10932         * gst/gstobject.h:
10933           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
10934         * gst/gstvalue.c:
10935           Documentation typo fix.
10936         * gst/net/gstnettimepacket.c:
10937           Documentation fixes for arguments.
10938
10939 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
10940
10941         * gst/gststructure.c: (gst_structure_get_fraction),
10942         (gst_structure_parse_value),
10943         (gst_structure_fixate_field_nearest_fraction):
10944         * gst/gststructure.h:
10945         * gst/gstutils.c: (gst_util_uint64_scale_int):
10946         * gst/gstutils.h:
10947         * scripts/update-funcnames:
10948         API Changes. 
10949         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
10950         Make gst_structure_fixate_field_nearest_fraction take a numerator
10951         and denominator argument instead of a GValue
10952         add gst_structure_get_fraction helper function.
10953
10954 2005-11-23  Wim Taymans  <wim@fluendo.com>
10955
10956         * docs/design/part-TODO.txt:
10957         Update TODO.
10958
10959         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
10960         * gst/net/gstnetclientclock.h:
10961         Use parent fields for timeout and window_size.
10962
10963 2005-11-23  Andy Wingo  <wingo@pobox.com>
10964
10965         * check/net/gstnetclientclock.c (test_functioning): Adjust to
10966         rate_num/rate_denom change.
10967
10968         * gst/net/gstnetclientclock.c
10969         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
10970         OBJECT_LOCK. Don't call add_observation with the lock.
10971
10972         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
10973         fraction.
10974         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
10975         rate fraction.
10976         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
10977         deal with rate as a fraction whose numerator and denominator are
10978         GstClockTime values.
10979         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
10980         master; the other fields are protected by the SLAVE_LOCK.
10981         (do_linear_regression): Note that this must be called with the
10982         SLAVE_LOCK.
10983         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
10984         OBJECT_LOCK. Call set_calibration instead of touching the
10985         variables directly.
10986         (gst_clock_set_property, gst_clock_get_property): Protect
10987         master/slave parameters with the SLAVE_LOCK.
10988
10989         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
10990         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
10991         note that all of the instance variables that add_observation and
10992         the set_master functions use are protected by that lock and not
10993         the OBJECT_LOCK.
10994         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
10995
10996         * gst/gstclock.c (gst_clock_add_observation): No longer requires
10997         the caller to take the object lock.
10998
10999 2005-11-23  Wim Taymans  <wim@fluendo.com>
11000
11001         * gst/gsterror.c: (_gst_core_errors_init):
11002         * gst/gsterror.h:
11003         Add error for clock stuff.
11004
11005         * gst/gstpipeline.c: (gst_pipeline_change_state),
11006         (gst_pipeline_set_clock):
11007         Post clock error when clock cannot be used in a pipeline.
11008
11009 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
11010
11011         * docs/gst/gstreamer-sections.txt:
11012           make two symbols from gstinfo private for the docs
11013         * gst/base/gstcollectpads.h:
11014         * gst/gstutils.c:
11015           fix doc typos, update docs
11016
11017 2005-11-22  Wim Taymans  <wim@fluendo.com>
11018
11019         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
11020         (gst_base_sink_wait), (gst_base_sink_do_sync),
11021         (gst_base_sink_handle_event):
11022         * gst/base/gstbasesink.h:
11023         No need to store the clock, the parent element class already
11024         has it.
11025
11026         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
11027         Updates for clock_set returning a gboolean
11028
11029         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
11030         (gst_clock_id_wait_async), (gst_clock_class_init),
11031         (gst_clock_init), (gst_clock_finalize),
11032         (gst_clock_get_internal_time), (gst_clock_get_time),
11033         (gst_clock_slave_callback), (gst_clock_set_master),
11034         (gst_clock_get_master), (do_linear_regression),
11035         (gst_clock_add_observation), (gst_clock_set_property),
11036         (gst_clock_get_property):
11037         * gst/gstclock.h:
11038         Implement master/slave. When setting a clock as a slave, a
11039         periodic timeout is scheduled to sample master and slave times.
11040         Then the slave clock is recalibrated to match offset and rate
11041         of the master clock.
11042         Update logging a bit.
11043         Add flag so that a clock can state that is cannot be slaved to
11044         another clock.
11045
11046         * gst/gstelement.c: (gst_element_set_clock):
11047         * gst/gstelement.h:
11048         The set clock returns a gboolean for when an element cannot
11049         deal with the selected clock in the pipeline. 
11050
11051         * gst/gstpipeline.c: (gst_pipeline_change_state),
11052         (gst_pipeline_set_clock):
11053         * gst/gstpipeline.h:
11054         Handle the case where the selected clock cannot be set on
11055         the pipeline.
11056
11057         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
11058         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
11059         (gst_net_client_clock_set_property),
11060         (gst_net_client_clock_get_property),
11061         (gst_net_client_clock_observe_times):
11062         * gst/net/gstnetclientclock.h:
11063         Use regression code in GstClock parent, remove duplicated
11064         functionality.
11065
11066 2005-11-22  Michael Smith <msmith@fluendo.com>
11067
11068         * gst/gstutils.c: (gst_util_clock_time_scale):
11069         * gst/gstutils.h:
11070         * docs/gst/gstreamer-sections.txt:
11071           Rename method to have extra underscore.
11072
11073 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11074
11075         * gst/elements/Makefile.am:
11076         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
11077         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
11078         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
11079         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
11080         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
11081         * gst/elements/gstfakesrc.h:
11082         * gst/gstqueue.c: (queue_leaky_get_type):
11083           correctly fix GEnumValues so that nick is the short lowercase
11084           dashed tag
11085         * tools/gst-inspect.c: (print_element_properties_info):
11086           also show the nick, since it's useful to use from parse_launch
11087           syntax
11088           Fixes #322139
11089
11090 2005-11-22  Michael Smith <msmith@fluendo.com>
11091
11092         * gst/gstutils.c: (gst_util_clocktime_scale):
11093         * gst/gstutils.h:
11094         * docs/gst/gstreamer-sections.txt:
11095           Add util method for scaling a clocktime by a fraction. Useful 
11096           implementation is left as an exercise for the reader.
11097
11098 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11099
11100         * gst/gstvalue.c: (gst_value_collect_fraction_range):
11101         If needed, allocate storage in the destination value during
11102         collection.
11103
11104 2005-11-22  Edward Hervey  <edward@fluendo.com>
11105
11106         * docs/gst/gstreamer-sections.txt:
11107         * gst/Makefile.am:
11108         * gst/gst.h:
11109         * gst/gsturitype.c:
11110         * gst/gsturitype.h:
11111         * gst/gstutils.c: (gst_util_set_object_arg):
11112         * tools/gst-compprep.c: (main):
11113         * tools/gst-inspect.c: (print_element_properties_info):
11114         Removed GstURI, closes bug #321061
11115
11116 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11117
11118         * check/gst/gststructure.c: (GST_START_TEST):
11119         * gst/gststructure.c: (gst_structure_parse_value):
11120           Oops, broke automatic string type parsing.
11121           Add a test to catch it in future.
11122
11123 2005-11-22  Andy Wingo  <wingo@pobox.com>
11124
11125         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
11126         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
11127         Actually rename the function implementations. Grr.
11128
11129 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11130
11131         * check/gst/capslist.h:
11132           Comment test cases
11133         * check/gst/gststructure.c: (GST_START_TEST),
11134         (gst_structure_suite):
11135           Test automatic value type detection in gst_structure_from_string.
11136         * gst/gststructure.c: (gst_structure_parse_value):
11137           Add fraction as a type we try and guess automatically in
11138           caps/structure strings.
11139
11140 2005-11-22  Andy Wingo  <wingo@pobox.com>
11141
11142         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
11143
11144         * gst/gsttagsetter.h:
11145         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
11146         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
11147         (gst_tag_setter_add_tag_valist)
11148         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
11149         _add_values, _add_valist, and _add_valist_values. Since this is an
11150         interface the function suffixes should be more explicit so
11151         language binding don't end up with element.add_valist ->
11152         gst_tag_setter_add_valist, for example. Fixes #322069.
11153
11154 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11155
11156         * check/gst/gstcaps.c: (GST_START_TEST):
11157           Extend caps string tests to check that a caps to string
11158           conversion is reversible and produces the same caps.
11159
11160         * gst/gststructure.c: (gst_structure_value_get_generic_type):
11161           Output "fraction" as the generic type fraction range, so caps
11162           serialisation and deserialisation works.
11163         * check/gst/capslist.h:
11164         * gst/gstvalue.c: (gst_value_deserialize_fraction):
11165           Support 'MIN' and 'MAX' for deserialising fractions.
11166
11167 2005-11-22  Andy Wingo  <wingo@pobox.com>
11168
11169         * gst/gstevent.h (gst_event_new_new_segment)
11170         (gst_event_parse_new_segment, gst_event_new_buffer_size)
11171         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
11172         Renamed from *_newsegment, *_buffersize, *_notarget.
11173
11174         * scripts/update-funcnames: New script, performs the changes
11175         listed above.
11176
11177 2005-11-22  Wim Taymans  <wim@fluendo.com>
11178
11179         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11180         Make sure the GstFlowReturn is returned.
11181
11182         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
11183         (gst_bus_add_signal_watch):
11184         * gst/gstbus.h:
11185         add gst_bus_add_signal_watch_full.
11186
11187         * gst/gstplugin.c: (gst_plugin_load_file):
11188         Small style cleanup.
11189
11190 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11191
11192         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
11193           Block the fakesrc srcpad when we send an event, to avoid
11194           contention on the stream_lock causing random test failures.
11195
11196 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11197
11198         * check/gst/gstvalue.c: (GST_START_TEST):
11199         * gst/gstvalue.c: (gst_value_fraction_subtract):
11200           Fix subtraction.
11201
11202 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
11203
11204         * gst/gst.h:
11205           include "gstchildproxy.h"
11206         * gst/gstchildproxy.h:
11207         * libs/gst/controller/gstcontroller.h:
11208           use G_GNUC_NULL_TERMINATED
11209
11210 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11211
11212         * check/gst/capslist.h:
11213         * check/gst/gstcaps.c: (GST_START_TEST):
11214         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11215         * gst/gststructure.c: (gst_structure_parse_range),
11216         (gst_structure_fixate_field_nearest_fraction):
11217         * gst/gststructure.h:
11218         * gst/gstvalue.c: (gst_value_init_fraction_range),
11219         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
11220         (gst_value_collect_fraction_range),
11221         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
11222         (gst_value_set_fraction_range_full),
11223         (gst_value_get_fraction_range_min),
11224         (gst_value_get_fraction_range_max),
11225         (gst_value_serialize_fraction_range),
11226         (gst_value_transform_fraction_range_string),
11227         (gst_value_compare_fraction_range),
11228         (gst_value_deserialize_fraction_range),
11229         (gst_value_intersect_fraction_fraction_range),
11230         (gst_value_intersect_fraction_range_fraction_range),
11231         (gst_value_subtract_fraction_fraction_range),
11232         (gst_value_subtract_fraction_range_fraction),
11233         (gst_value_subtract_fraction_range_fraction_range),
11234         (gst_value_collect_fraction), (gst_value_fraction_multiply),
11235         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
11236         (gst_value_transform_string_fraction), (_gst_value_initialize):
11237         * gst/gstvalue.h:
11238           Implement fraction ranges and extend GstFraction to support
11239           arithmetic subtraction, as well as deserialization from integer
11240           strings such as "100"
11241           Add a testsuite as for int and double range set operations
11242
11243 2005-11-21  Andy Wingo  <wingo@pobox.com>
11244
11245         * gst/gsttaglist.h: 
11246         * gst/gstcaps.h: 
11247         * gst/gststructure.h: Add glib-compat.h.
11248
11249 2005-11-21  Wim Taymans  <wim@fluendo.com>
11250
11251         * gst/gstbin.c: (gst_bin_change_state_func):
11252         Fix for #321595
11253
11254 2005-11-21  Wim Taymans  <wim@fluendo.com>
11255
11256         * gst/gstsegment.h:
11257         And add a nice define too.
11258
11259 2005-11-21  Wim Taymans  <wim@fluendo.com>
11260
11261         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
11262         (gst_segment_new), (gst_segment_free), (gst_segment_init),
11263         (gst_segment_set_duration), (gst_segment_set_last_stop),
11264         (gst_segment_set_seek), (gst_segment_set_newsegment),
11265         (gst_segment_to_stream_time), (gst_segment_to_running_time),
11266         (gst_segment_clip):
11267         * gst/gstsegment.h:
11268         Make binding friendly.
11269
11270 2005-11-21  Andy Wingo  <wingo@pobox.com>
11271
11272         * gst/gsttagsetter.h: 
11273         * gst/gsttaglist.h: 
11274         * gst/gststructure.h: 
11275         * gst/gstcaps.h: 
11276         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
11277         #319940.
11278
11279         * gst/gsterror.c (_gst_core_errors_init):
11280         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
11281         category.
11282
11283         * gst/Makefile.am (gst_headers): Add glib-compat.h.
11284         (noinst_HEADERS): noinst the -private.
11285
11286 2005-11-21  Michael Smith <msmith@fluendo.com>
11287
11288         * gst/gstplugin.h:
11289         * gst/gstregistry.h:
11290           Remove unimplemented declarations for which we can see no sensible
11291           use.
11292
11293 2005-11-21  Andy Wingo  <wingo@pobox.com>
11294
11295         * gst/gst.h: Include glib-compat.h.
11296
11297         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
11298
11299         * gst/glib-compat.c: Include the public and the private header.
11300
11301         * gst/glib-compat-private.h: Copied here from glib-compat.h.
11302
11303         * gst/gstvalue.c: 
11304         * gst/gstpad.c: 
11305         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
11306
11307         * check/gst/gstevent.c (create_custom_events): Check that
11308         FLUSH_STOP is serialized.
11309
11310         * check/elements/identity.c (event_func): 
11311         * check/elements/fakesrc.c (event_func): No stream lock, the core
11312         takes it.
11313
11314         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
11315         stream lock taking, yay.
11316
11317         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
11318         ensure that core takes the stream lock.
11319
11320         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
11321         lock name change.
11322
11323         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
11324         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
11325         it already. For the flush start we do take it though so we get the
11326         right preroll state change messages.
11327
11328         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
11329         the stream lock here, the core does it for us.
11330
11331         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
11332         GST_STREAM_GET_LOCK.
11333         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
11334         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
11335         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
11336         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
11337         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
11338         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
11339
11340         * gst/gstpad.c: Update for stream lock name change.
11341
11342         * gst/base/gstbasesink.c: Update for preroll lock name change.
11343
11344 2005-11-21  Wim Taymans  <wim@fluendo.com>
11345
11346         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
11347         (gst_clock_get_master):
11348         * gst/gstclock.h:
11349         * gst/gstsystemclock.c: (gst_system_clock_init):
11350         Convert Clock flags to object flags.
11351         Added methods to manage master/slave clocks.
11352
11353 2005-11-21  Wim Taymans  <wim@fluendo.com>
11354
11355         * check/gst/gstsegment.c: (GST_START_TEST):
11356         * docs/design/part-TODO.txt:
11357         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11358         (gst_base_sink_event), (gst_base_sink_do_sync),
11359         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
11360         (gst_base_sink_query), (gst_base_sink_change_state):
11361         * gst/base/gstbasesink.h:
11362         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
11363         (gst_base_src_default_newsegment),
11364         (gst_base_src_configure_segment), (gst_base_src_do_seek),
11365         (gst_base_src_get_range), (gst_base_src_loop),
11366         (gst_base_src_change_state):
11367         * gst/base/gstbasesrc.h:
11368         * gst/base/gstbasetransform.c:
11369         (gst_base_transform_prepare_output_buf),
11370         (gst_base_transform_event), (gst_base_transform_change_state):
11371         * gst/base/gstbasetransform.h:
11372         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
11373         (gst_collect_pads_event):
11374         * gst/base/gstcollectpads.h:
11375         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
11376         (gst_fake_src_create):
11377         * gst/elements/gstfakesrc.h:
11378         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
11379         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
11380         (gst_segment_set_last_stop), (gst_segment_set_seek),
11381         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
11382         (gst_segment_to_running_time), (gst_segment_clip):
11383         * gst/gstsegment.h:
11384         More segment updates, replace code in plugins with segment
11385         helper functions.
11386
11387 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
11388
11389         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
11390         Don't ignore sscanf results
11391
11392 2005-11-21  Andy Wingo  <wingo@pobox.com>
11393
11394         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
11395
11396         * *.h:
11397         * *.c: Ran scripts/update-macros. Oh yes.
11398
11399         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
11400         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
11401         GST_GET_LOCK, etc.
11402
11403         * scripts/update-macros: New script. Run it on your files to
11404         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
11405         well.
11406
11407 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
11408
11409         * docs/gst/Makefile.am:
11410         * docs/gst/gstreamer-docs.sgml:
11411         * docs/gst/gstreamer-sections.txt:
11412         * docs/gst/gstreamer.types:
11413         * gst/gstinfo.h:
11414           more docs fixes, add new api to the docs
11415
11416 2005-11-21  Andy Wingo  <wingo@pobox.com>
11417
11418         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
11419         state_broadcast call.
11420
11421         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
11422
11423 2005-11-21  Julien MOUTTE  <julien@moutte.net>
11424
11425         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
11426         function calls for arrays.
11427
11428 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
11429
11430         * docs/random/ensonic/media-device-daemon.txt:
11431           wild idea, can this be done?
11432         * docs/gst/gstreamer-sections.txt:
11433         * gst/gsterror.h:
11434         * gst/gstfilter.c:
11435         * gst/gstfilter.h:
11436         * gst/gstplugin.h:
11437         * gst/gstpluginfeature.c:
11438         * gst/gsttrace.c:
11439         * gst/gstvalue.c:
11440         * gst/gstvalue.h:
11441           doc fixes and additions
11442
11443 2005-11-21  Andy Wingo  <wingo@pobox.com>
11444
11445         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
11446         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
11447         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
11448         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
11449         private to the basesrc implementation.
11450
11451         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
11452         behalf of event function if necessary. It should no longer be
11453         necessary to take the stream lock in pad's event functions. Fixes
11454         #320299.
11455
11456 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
11457         * docs/gst/gstreamer-sections.txt:
11458         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
11459         (gst_structure_fixate_field_nearest_double),
11460         (gst_structure_fixate_field_boolean):
11461         * gst/gststructure.h:
11462         * win32/common/libgstreamer.def:
11463         * win32/gstreamer.def:
11464
11465         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
11466         (#322027)
11467
11468 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
11469
11470         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
11471         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
11472         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
11473         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
11474         (gst_fdsrc_uri_handler_init):
11475         * gst/elements/gstfdsrc.h:
11476           Port fd:// URI handler from 0.8 to fdsrc
11477
11478 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11479
11480         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
11481         (gst_value_serialize_fourcc):
11482         * gst/gstvalue.h:
11483           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
11484           consistent with our other format defines (#320324).
11485
11486 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11487
11488         * gst/gstvalue.c: (gst_value_is_fixed):
11489           Revert previous commit. Value lists are by definition
11490           not fixed, as they are a list of possible values.
11491
11492 2005-11-21  Andy Wingo  <wingo@pobox.com>
11493
11494         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
11495         during the stable series if we need it. Fixes #319178.
11496
11497         * gst/gstevent.c (gst_event_new_filler): Removed.
11498
11499         * check/gst/gstevent.c: Update comment about filler events.
11500
11501 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11502
11503         * gst/gstvalue.c: (gst_value_is_fixed):
11504           Should handle both value arrays and value lists.
11505
11506 2005-11-21  Andy Wingo  <wingo@pobox.com>
11507
11508         patch by: Alessandro Dessina <alessandro nnva org>
11509
11510         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
11511         functions to access arrays. Fixes #321962.
11512
11513 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11514
11515         * docs/gst/gstreamer.types:
11516           gst_collectpads_get_type => gst_collect_pads_get_type.
11517           
11518         * gst/base/gstbasetransform.c:
11519           Remove unused SIGNAL_HANDOFF enum.
11520
11521 2005-11-21  Andy Wingo  <wingo@pobox.com>
11522
11523         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
11524         the event type (upstream, downstream, serialized). Renamed
11525         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
11526         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
11527         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
11528
11529         * gst/gstevent.c: Update for new CUSTOM event names.
11530
11531         * check/gst/gstevent.c: Update check for new CUSTOM event names.
11532
11533         * gst/gstevent.h:
11534         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
11535         bug #319392.
11536
11537 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11538
11539         * docs/gst/gstreamer-sections.txt:
11540         * win32/common/libgstbase.def:
11541         * win32/libgstbase.def:
11542         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
11543         (gst_collect_pads_class_init), (gst_collect_pads_init),
11544         (gst_collect_pads_finalize), (gst_collect_pads_new),
11545         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
11546         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
11547         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
11548         (gst_collect_pads_start), (gst_collect_pads_stop),
11549         (gst_collect_pads_peek), (gst_collect_pads_pop),
11550         (gst_collect_pads_available), (gst_collect_pads_read),
11551         (gst_collect_pads_flush), (gst_collect_pads_event),
11552         (gst_collect_pads_chain):
11553         * gst/base/gstcollectpads.h:
11554           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
11555           unimplemented functions as unimplemented. Add padding to
11556           GstCollectData. (#320766, #320423)
11557
11558 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11559
11560         * gst/gstmessage.c:
11561           Improve docs for DURATION message (usage of duration parameter)
11562           (#320113)
11563
11564 2005-11-20  Wim Taymans  <wim@fluendo.com>
11565
11566         * check/Makefile.am:
11567         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
11568         (main):
11569         * gst/Makefile.am:
11570         * gst/gst.h:
11571         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
11572         (gst_segment_set_seek), (gst_segment_set_newsegment),
11573         (gst_segment_to_stream_time), (gst_segment_to_running_time),
11574         (gst_segment_clip):
11575         * gst/gstsegment.h:
11576         Added segment helper structure and methods. Not fully implemented
11577         yet.
11578         Added segment check.
11579
11580 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
11581
11582         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11583           Add a deserialisation test for fractions
11584         * examples/metadata/read-metadata.c: (message_loop),
11585         (make_pipeline), (main):
11586           Fix up metadata reading sample.
11587         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
11588           Debug format fix
11589         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
11590           Don't try and fixate empty caps
11591         * gst/gst_private.h:
11592           Wrap in G_BEGIN_DECLS/G_END_DECLS
11593         * gst/gstvalue.c: (gst_value_collect_fraction),
11594         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
11595         (gst_value_transform_string_fraction),
11596         (gst_value_compare_fraction):
11597           Add some extra guards to ensure that we don't end up 
11598           with an invalid denominator of 0 in a gstfraction and
11599           that fractions always get reduced.
11600
11601 2005-11-20  Wim Taymans  <wim@fluendo.com>
11602
11603         * docs/gst/gstreamer-sections.txt:
11604         * gst/gstbuffer.h:
11605         * gst/gstelement.c:
11606         * gst/gstformat.c:
11607         * gst/gstformat.h:
11608         * gst/gstindex.h:
11609         * gst/gstquery.c:
11610         * gst/gstquery.h:
11611         * gst/gstvalue.c:
11612         Doc fixes.
11613
11614 2005-11-20  Wim Taymans  <wim@fluendo.com>
11615
11616         * docs/design/part-TODO.txt:
11617         * gst/gstcaps.h:
11618         Make a proper enum of the flag.
11619
11620 2005-11-19  Wim Taymans  <wim@fluendo.com>
11621
11622         * docs/design/part-TODO.txt:
11623         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
11624         (gst_format_to_quark), (gst_format_register):
11625         * gst/gstformat.h:
11626         * gst/gstquery.c: (_gst_query_initialize),
11627         (gst_query_type_get_name), (gst_query_type_to_quark),
11628         (gst_query_type_register):
11629         * gst/gstquery.h:
11630         Add type to quark and type to string conversions.
11631
11632 2005-11-19  Andy Wingo  <wingo@pobox.com>
11633
11634         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
11635         #320097.
11636
11637 2005-11-19  Wim Taymans  <wim@fluendo.com>
11638
11639         * docs/design/part-TODO.txt:
11640         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
11641         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
11642         (gst_bin_handle_message_func):
11643         * gst/gstbin.h:
11644         Make message handling overridable.
11645
11646 2005-11-19  Andy Wingo  <wingo@pobox.com>
11647
11648         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
11649
11650         * gst/gstclock.h:
11651         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
11652         be a GstClockTime.
11653         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
11654         is a GstClockTime. Fixes #321710.
11655
11656         * gst/gstclock.h (GstClock): Remove offset property. Add
11657         internal_calibration and external_calibration. Fix padding. Pad
11658         also by GstClockTime so we don't run into problems.
11659
11660         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
11661         (gst_clock_get_rate_offset): Remove.
11662         (gst_clock_set_time_adjust): Remove. Fixes #321712.
11663
11664         * gst/gstutils.h:
11665         * gst/gstutils.c (g_static_rec_cond_wait)
11666         (g_static_rec_cond_timed_wait): Removed, no longer needed.
11667
11668         * gst/gstbin.c: Remove terrible continue_state prototype.
11669
11670         * gst/gstelement.h (gst_element_continue_state): Make public.
11671
11672         * gst/gstelement.h:
11673         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
11674         by continue_state. Fixes #319389.
11675
11676         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
11677         Really fixes #168438. However I don't see anywhere where the
11678         filter function is called... stupid GStreamer...
11679         
11680         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
11681         don't have a dispose function, so it won't get called when the
11682         object is unreffed, but oh well!
11683
11684         * gst/gstindex.c (gst_index_set_filter_full): New API function,
11685         allows a destroy function to be set so user_data can be freed.
11686         Fixes #168438.
11687         (gst_index_set_filter): Call gst_index_set_filter_full.
11688
11689         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
11690
11691         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
11692         string should produce an error, given the lack of a way to
11693         represent NULL strings. Fixes #165650.
11694         
11695         * gst/gstvalue.h: 
11696         * gst/gstvalue.c (gst_value_array_append_value) 
11697         (gst_value_array_prepend_value, gst_value_array_get_size) 
11698         (gst_value_array_get_value): New API, copied from
11699         gst_value_list_*, only operates on arrays.
11700         (gst_value_list_append_value, gst_value_list_prepend_value) 
11701         (gst_value_list_concat, gst_value_list_get_size) 
11702         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
11703
11704         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
11705         init_list, because it works on both.
11706         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
11707         (gst_value_copy_list_or_array): Renamed from copy_list.
11708         (gst_value_free_list_or_array): Renamed from free_list.
11709         (gst_value_collect_list_or_array): Renamed from collect_list.
11710         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
11711         (gst_value_list_or_array_peek_pointer): Renamed from
11712         list_peek_pointer.
11713         (_gst_value_array_value_table, _gst_value_list_value_table):
11714         Update value table functions.
11715         (gst_value_compare_list_or_array): Renamed from compare_list.
11716
11717         * gsttaglist.h: Whoops, foreach function returns void. Also fix
11718         some constness.
11719
11720         * gst/gsttaglist.c:
11721         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
11722         GstTagList*. Fixes #143472.
11723
11724         * gst/gststructure.h: Clarify what the foreach/map functions can
11725         or can't do to their arguments.
11726
11727 2005-11-18  Wim Taymans  <wim@fluendo.com>
11728
11729         * gst/gstclock.c: (gst_clock_set_calibration),
11730         (gst_clock_get_calibration):
11731         Doc and API fixes.
11732         Calibration can be set with internal time equal to current
11733         internal time too.
11734
11735 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11736
11737         * gst/gsterror.c:
11738         * gst/gsterror.h:
11739           document
11740
11741 2005-11-18  Andy Wingo  <wingo@pobox.com>
11742
11743         * configure.ac: 
11744         * pkgconfig/gstreamer-net.pc.in:
11745         * pkgconfig/gstreamer-net-uninstalled.pc.in:
11746         * pkgconfig/Makefile.am: Add net pkgconfig files.
11747
11748 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
11749
11750         * gst/gstcaps.c:
11751         * gst/gstghostpad.c:
11752         * gst/gsttrace.c:
11753         * gst/gstvalue.c:
11754         * gst/gstvalue.h:
11755           docs fixes
11756
11757 2005-11-18  Andy Wingo  <wingo@pobox.com>
11758
11759         * gst/net/gstnetclientclock.c: Turn off debugging.
11760
11761         * check/net/gstnetclientclock.c (test_functioning): Assert that the
11762         times connverge somewhat. Can't make a real test.
11763
11764         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
11765         integer arithmetic. Return the minimum of the domain, which can be
11766         set as "internal" for gst_clock_set_calibration.
11767         (gst_net_client_clock_observe_times): Call _set_calibration.
11768         (gst_net_client_clock_new): Call _set_calibration instead of
11769         rate_offset.
11770
11771         * check/net/gstnetclientclock.c (test_functioning): Use the right
11772         adjustment api.
11773
11774         * gst/gstclock.h:
11775         * gst/gstclock.c (gst_clock_get_calibration) 
11776         (gst_clock_set_calibration): New functions, obsolete the ones I
11777         added yesterday. Doh. Precision issues mean we have to extrapolate
11778         from a point in the more recent past than 1970.
11779         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
11780         obsolete.
11781         (gst_clock_adjust_unlocked): Use the right calibration data.
11782
11783 2005-11-18  Edward Hervey  <edward@fluendo.com>
11784
11785         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
11786         Also reset the ->current_* values in READY->PAUSED
11787
11788 2005-11-18  Andy Wingo  <wingo@pobox.com>
11789
11790         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
11791         Whoops, check the right fd. Also add some debugging.
11792         (gst_net_client_clock_observe_times): Adjust for int64 offset.
11793         (do_linear_regression): Add a crapload of debugging. Subtract off
11794         the minimum values from the input series to discard unneeded bits.
11795         Use only int arithmetic. There is still double arithmetic when
11796         calculating the intercept that needs fixing. Return boolean to
11797         indicate success; FALSE would mean the domain or range is too
11798         great. Still needs fixes.
11799
11800 2005-11-18  Wim Taymans  <wim@fluendo.com>
11801
11802         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
11803         For the current position in stream time, we need to subtract
11804         accumulated time.
11805         
11806         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
11807         Release lock before calling the callback function of async
11808         entries.
11809
11810 2005-11-18  Andy Wingo  <wingo@pobox.com>
11811
11812         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
11813         Port goes all the way to MAXUINT16.
11814
11815         * gst/net/gstnettimeprovider.c: Make the port range the same as
11816         for the kernel: 0 assigns, otherwise ports are less than
11817         MAXUINT16.
11818
11819         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
11820         port change.
11821
11822         * check/net/gstnetclientclock.c (test_functioning): Add the start
11823         of another test. 
11824
11825 2005-11-18  Wim Taymans  <wim@fluendo.com>
11826
11827         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
11828         (gst_bin_remove_func), (bin_bus_handler):
11829         * gst/gstbin.h:
11830         Removing a clock provider from a bin, triggers a clock lost message
11831         so that a new clock will be selected.
11832         Adding a clock to a bin triggers a clock provider message.
11833         Make sure we reselect a clock when we received a clock lost message.
11834         Keep a reference to the element that provided the clock.
11835
11836 2005-11-18  Andy Wingo  <wingo@pobox.com>
11837
11838         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
11839         the clock initially so it produces values around the base time.
11840         (gst_net_client_clock_class_init): Typo fix.
11841         (gst_net_client_clock_thread): Add note on when the socket gets
11842         closed.
11843
11844 2005-11-17  Wim Taymans  <wim@fluendo.com>
11845
11846         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
11847         Free remote and local time arrays.
11848
11849 2005-11-17  Wim Taymans  <wim@fluendo.com>
11850
11851         * gst/net/gstnetclientclock.c: (do_linear_regression),
11852         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
11853         Fix compilation, uninitialized vars and a forgotten continue.
11854
11855 2005-11-17  Andy Wingo  <wingo@pobox.com>
11856
11857         * check/Makefile.am (check_PROGRAMS): 
11858         * check/net/gstnetclientclock.c: Add a most minimal test for the
11859         net client clock. More to come later.
11860
11861         * gst/net/gstnet.h: 
11862         * gst/net/Makefile.am: Add netclientclock.
11863
11864         * gst/net/gstnetclientclock.h:
11865         * gst/net/gstnetclientclock.c: New files, implement an untested
11866         GstClock that takes its time from a network time provider.
11867         Implements the algorithm in network-clock.scm.
11868
11869         * tests/network-clock.scm (*window-size*): Rename from
11870         *queue-length*.
11871         * tests/network-clock.scm (network-time): 
11872         * tests/network-clock-utils.scm (q-push): Update callers.
11873
11874 2005-11-17  Wim Taymans  <wim@fluendo.com>
11875
11876         * gst/gstbin.c: (gst_bin_provide_clock_func),
11877         (gst_bin_sort_iterator_new):
11878         And unref the child too..
11879
11880 2005-11-17  Wim Taymans  <wim@fluendo.com>
11881
11882         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
11883         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
11884         Refactor the sort iterator so it can be used while holding the
11885         LOCK too.
11886         Make clock selection select a clock closest to the source.
11887
11888 2005-11-17  Michael Smith <msmith@fluendo.com>
11889
11890         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
11891         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
11892         * gst/gstclock.h:
11893           Anonymous structs are a gcc (and some other compilers) extension, so
11894           don't use them. Since this is only for ABI-compatibility, and our
11895           API/ABI freeze is over in a few days, this whole thing will only
11896           last a few days, so don't bother trying to think up a meaningful
11897           name for the struct.
11898
11899 2005-11-17  Andy Wingo  <wingo@pobox.com>
11900
11901         * gst/gstclock.h (GstClock): Add rate and offset properties,
11902         preserving ABI stability. Add rate/offset accessors. Will file bug
11903         for the freeze break.
11904
11905         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
11906         and offset, trying to keep precision and avoiding
11907         underflow/overflow.
11908         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
11909         functions. Make gst_clock_set_time_adjust obsolete.
11910         (gst_clock_set_time_adjust): Note that this function is obsolete.
11911         Will file bug soon.
11912
11913         * gst/base/gstbasetransform.h: Make the ABI-stability hack
11914         greppable by using GST_PADDING-1+1.
11915
11916 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
11917
11918         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
11919
11920         * gst/gstmessage.c: (gst_message_parse_clock_lost):
11921           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
11922
11923         * gst/gstpadtemplate.h:
11924         * gst/gstpluginfeature.h:
11925           Don't use c++ style comments in headers (#321638).
11926
11927 2005-11-16  Andy Wingo  <wingo@pobox.com>
11928
11929         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
11930         buffer.
11931
11932         * check/net/gstnettimeprovider.c: Check to see that the time
11933         provider actually provides times. Works, yo!
11934
11935 2005-11-16  Wim Taymans  <wim@fluendo.com>
11936
11937         * check/Makefile.am:
11938         Enable more tests.
11939
11940         * check/elements/fakesrc.c: (GST_START_TEST):
11941         Set element to NULL before disposing it.
11942
11943 2005-11-16  Andy Wingo  <wingo@pobox.com>
11944
11945         * gst/net/Makefile.am:
11946         * gst/net/gstnet.h:
11947         * gst/net/gstnettimeprovider.c: 
11948         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
11949         provider, include it from gstnet.h, and add it to the build.
11950
11951         * gst/net/gstnettimepacket.h: 
11952         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
11953         sending and receiving.
11954
11955 2005-11-16  Wim Taymans  <wim@fluendo.com>
11956
11957         * check/Makefile.am:
11958         Enable valgrind check.
11959
11960         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
11961         (gst_fake_src_alloc_buffer):
11962         Fix memleak.
11963
11964 2005-11-16  Wim Taymans  <wim@fluendo.com>
11965
11966         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
11967         Call parent finalize too.
11968
11969 2005-11-16  Wim Taymans  <wim@fluendo.com>
11970
11971         * check/Makefile.am:
11972         Enable valgrind check that should work fine now.
11973
11974         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
11975         * gst/gstqueue.c: (gst_queue_init):
11976         Fix memleaks in pad allocation.
11977
11978 2005-11-16  Andy Wingo  <wingo@pobox.com>
11979
11980         * gst/net/Makefile.am:
11981         * gst/net/gstnet.h: New part of core to hold network elements and
11982         objects. Put in core because it exposes API that applications want
11983         to use. The library is named libgstnet-tempname right now because
11984         of the existing libgstnet in gst-plugins-base. Solution is
11985         probably to rename the one in plugins-base; will file a bug for
11986         the freeze break.
11987
11988         * gst/net/gstnettimeprovider.c: 
11989         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
11990         get_time call over the network.
11991
11992         * configure.ac: 
11993         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
11994
11995         * check/Makefile.am:
11996         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
11997         get additions shortly.
11998
11999 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12000
12001         * gst/gstpad.c: (gst_pad_new_from_static_template):
12002         * gst/gstpad.h:
12003           add gst_pad_new_from_static_template functions
12004         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
12005         (gst_check_setup_sink_pad):
12006         * gst/elements/gsttee.c: (gst_tee_init):
12007           and use them
12008
12009 2005-11-16  Wim Taymans  <wim@fluendo.com>
12010
12011         * gst/gstpad.c: (gst_pad_pause_task):
12012         Removed warning, it's not really an error either.
12013
12014 2005-11-16  Wim Taymans  <wim@fluendo.com>
12015
12016         * gst/base/gstbasetransform.c:
12017         (gst_base_transform_prepare_output_buf),
12018         (gst_base_transform_event):
12019         Check if the caps are NULL, this can happen if the element
12020         is shutting down and the pad caps are set to NULL.
12021
12022 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12023
12024         * gst/elements/gsttee.c: (gst_tee_init):
12025           fix pad template leak in tee
12026
12027 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12028
12029         * gst/glib-compat.c: (g_value_dup_gst_object):
12030         * gst/glib-compat.h:
12031         * gst/gstpad.c: (gst_pad_set_property):
12032           use gst_object_ref when setting the pad template; this will
12033           trigger the pad template leaks on GLib 2.6 and the slaves
12034
12035 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12036
12037         * gst/glib-compat.c: (gst_flags_get_first_value):
12038         * gst/glib-compat.h:
12039         * gst/gstregistryxml.c:
12040           remove functions copied from GLib 2.6
12041
12042 2005-11-16  Michael Smith <msmith@fluendo.com>
12043
12044         * gst/Makefile.am:
12045           Don't link against VALGRIND_LIBS. That was always the wrong thing to
12046           do, but only breaks with newer valgrind versions. We're not a
12047           valgrind tool, we have no link-time dependencies on libcoregrind.
12048
12049 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12050
12051         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
12052           some debug changes
12053         * gst/gstmessage.h:
12054           typo fixes
12055
12056 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12057
12058         * gst/base/gstbasesrc.c: (gst_base_src_init):
12059         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
12060         * gst/gstqueue.c: (gst_queue_init):
12061         * gst/gstregistryxml.c: (load_feature):
12062           Revert all these unrefs, they don't even pass make check !
12063
12064 2005-11-15  Johan Dahlin  <johan@gnome.org>
12065
12066         * gst/base/gstbasesrc.c: (gst_base_src_init):
12067         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
12068         * gst/gstqueue.c: (gst_queue_init): 
12069         Free pad templates, fixes a couple of leaks.
12070
12071 2005-11-15  Daniel Fischer  <dan at f3c dot com>
12072
12073         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
12074
12075         * gst/gstpad.c: (gst_pad_get_property):
12076           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
12077           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
12078           (#321452)
12079
12080 2005-11-15  Wim Taymans  <wim@fluendo.com>
12081
12082         * gst/gstevent.c:
12083         Small doc update.
12084
12085 2005-11-15  Andy Wingo  <wingo@pobox.com>
12086
12087         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
12088
12089         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
12090         using GST_CLOCK_TIME_NONE to disable base time management.
12091         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
12092         time if it was NONE before.
12093         (gst_pipeline_change_state): Only munge the base time if
12094         stream_time != GST_CLOCK_TIME_NONE.
12095
12096         * check/gst/gstpipeline.c (test_base_time): Punt around the
12097         problem of the probe not being called, because that's not the
12098         issue I'm looking at. Add a check that setting stream_time to NONE
12099         disables base time management.
12100         
12101 2005-11-15  Wim Taymans  <wim@fluendo.com>
12102
12103         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
12104         segment_stop == -1 at startup.
12105
12106         * gst/base/gstbasetransform.c: (gst_base_transform_event),
12107         (gst_base_transform_change_state):
12108         Init segment values at start.
12109
12110 2005-11-15  Wim Taymans  <wim@fluendo.com>
12111
12112         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12113         0 segment values are 0 in any format.
12114
12115         * gst/base/gstbasetransform.c: (gst_base_transform_event):
12116         * gst/base/gstbasetransform.h:
12117         Parse newsegment correctly in basetransform
12118
12119         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
12120         Sync to clock using updated segment values.
12121
12122 2005-11-15  Andy Wingo  <wingo@pobox.com>
12123
12124         * check/gst/gstpipeline.c (test_base_time): Add check that the
12125         base time and stream time are reset correctly.
12126
12127 2005-11-15  Wim Taymans  <wim@fluendo.com>
12128
12129         * docs/design/part-TODO.txt:
12130         Some more TODO items.
12131
12132 2005-11-15  Andy Wingo  <wingo@pobox.com>
12133
12134         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
12135         error if the user selected "no clock" as the clocking method.
12136
12137         * check/gst/gstpipeline.c (test_base_time): New test for buffer
12138         timestamps with live capture.
12139
12140         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
12141         is 0 but we are a live source, timestamp the buffers using the
12142         element's clock.
12143
12144 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
12145
12146         * docs/gst/gstreamer-sections.txt:
12147         * gst/gsterror.c:
12148         * gst/gstghostpad.c:
12149         * gst/gstobject.h:
12150         * gst/gstxml.c:
12151           more section docs
12152
12153 2005-11-14  Wim Taymans  <wim@fluendo.com>
12154
12155         * common/gst.supp:
12156           add suppressions from Wim's Debian machine
12157
12158 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12159
12160         * common/gst.supp:
12161           add suppressions from Andy's AMD64 Ubuntu machine
12162
12163 2005-11-14  Andy Wingo  <wingo@pobox.com>
12164
12165         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
12166         STATE_LOCK not necessary. Fixes #311489.
12167
12168         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
12169         #305291.
12170
12171         * gst/gstindex.c (gst_index_add_object): Note in the docs that
12172         this function is not implemented.
12173
12174 2005-11-14  Julien MOUTTE  <julien@moutte.net>
12175
12176         * gst/base/gstbasetransform.c:
12177         (gst_base_transform_prepare_output_buf):
12178         Ref the source pad caps while we need them.
12179         Fixes (#321386)
12180
12181 2005-11-11  Wim Taymans  <wim@fluendo.com>
12182
12183         * docs/gst/gstreamer-sections.txt:
12184         Added some docs for GstCollectData.
12185
12186         * gst/base/gstadapter.c:
12187         Some small code example fix.
12188
12189         * gst/base/gstcollectpads.c:
12190         * gst/base/gstcollectpads.h:
12191         Document some more.
12192
12193 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12194
12195         * configure.ac: back to HEAD
12196
12197 === release 0.9.5 ===
12198
12199 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
12200
12201         * configure.ac:
12202           releasing 0.9.5, "Bike Lunch Day"
12203
12204 2005-11-11  Wim Taymans  <wim@fluendo.com>
12205
12206         * gst/gstbuffer.c: (_gst_buffer_copy):
12207         Copy more flags.
12208
12209         * gst/gstcaps.c: (gst_caps_is_equal):
12210         Fix some docs.
12211         Make _is_equal fast in the trivial cases.
12212
12213         * gst/gstminiobject.c:
12214         * gst/gstminiobject.h:
12215         More docs. Spifify .h file.
12216
12217         * gst/gstutils.c:
12218         Small doc update.
12219
12220 2005-11-11  Wim Taymans  <wim@fluendo.com>
12221
12222         * gst/base/gstbasetransform.c:
12223         (gst_base_transform_prepare_output_buf),
12224         (gst_base_transform_handle_buffer):
12225         Small cleanups.
12226         If we're processing a buffer and need to allocate an output
12227         buffer, we cannot accept a format change. If we did get a 
12228         format change, we have to alloc a buffer ourselves of the 
12229         right size.
12230
12231 2005-11-11  Wim Taymans  <wim@fluendo.com>
12232
12233         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
12234         While checking the flag for reentrancy in the gstcaps function
12235         is nice to detect recursive invocations, it also makes it 
12236         impossible to call getcaps from multiple threads, which must be
12237         possible. So, checking for recursive calls has to go.
12238
12239 2005-11-11  Michael Smith <msmith@fluendo.com>
12240
12241         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
12242           Don't sync on buffers that fall partially outside our current
12243           segment. Prevents an assertion failure/abort playing some files.
12244
12245 2005-11-10  Andy Wingo  <wingo@pobox.com>
12246
12247         * check/gst/gstbin.c (test_message_state_changed_children): Style
12248         fix..
12249
12250         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
12251         gst_bus_poll with the signal watch. Ensures that poll and a signal
12252         watch see the same messages.
12253
12254         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
12255         a poll and a watch at the same time get the same messages.
12256
12257 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12258
12259         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
12260         * gst/gstcaps.c: (gst_caps_intersect):
12261           Don't call gst_caps_do_simplify - it doesn't respect order of caps
12262           and it's not needed.
12263
12264 2005-11-10  Wim Taymans  <wim@fluendo.com>
12265
12266         * docs/design/part-TODO.txt:
12267         Updated todo.
12268
12269 2005-11-10  Wim Taymans  <wim@fluendo.com>
12270
12271         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
12272         * gst/base/gstbasesrc.c: (gst_base_src_wait),
12273         (gst_base_src_do_sync), (gst_base_src_get_range):
12274         Implement clock sync in base class.
12275
12276 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12277
12278         patch by: Tim-Philipp Müller <tim at centricular dot net>
12279
12280         * gst/gststructure.c: (gst_structure_parse_field),
12281         (gst_structure_from_string):
12282           Forward-port a 0.8 patch to handle escaped spaces in structure string,
12283           so that gst_parse_launch() can deal with spaces in filtered link
12284           caps (fixes #164479)
12285         * check/gst/capslist.h:
12286         * check/gst/gststructure.c: (GST_START_TEST):
12287           add unit tests for this change
12288
12289 2005-11-10  Wim Taymans  <wim@fluendo.com>
12290
12291         * docs/gst/gstreamer-sections.txt:
12292         * gst/gstelement.c:
12293         * gst/gstelement.h:
12294         Fix docs, move some STATE macros to private.
12295
12296 2005-11-10  Wim Taymans  <wim@fluendo.com>
12297
12298         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
12299         Added check for bug #317341
12300
12301         * gst/gstbuffer.c:
12302         * gst/gstbuffer.h:
12303         Some more spiffifying.
12304
12305         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
12306         Call peer linkfunction if we are a source pad. Totally fixes
12307         #317341
12308
12309         * gst/gstpad.c:
12310         Update docs, source pads should call the peer linkfunction
12311         so they can atomically perform the pad link.
12312
12313 2005-11-09  Wim Taymans  <wim@fluendo.com>
12314
12315         * gst/gstbuffer.c:
12316         * gst/gstbuffer.h:
12317         Uber-spiffy-spiffify some more.
12318
12319 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
12320
12321         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
12322         * gst/elements/gstfilesink.c: (gst_file_sink_init):
12323         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
12324         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
12325         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
12326         * gst/gstpad.c: (gst_pad_init):
12327           Use GST_DEBUG_FUNCPTR() more extensively.
12328
12329 2005-11-09  Wim Taymans  <wim@fluendo.com>
12330
12331         * gst/gstobject.c: (gst_object_class_init):
12332         * gst/gstobject.h:
12333         Documentation fixes.
12334
12335 2005-11-09  Edward Hervey  <edward@fluendo.com>
12336
12337         * gst/gsttypefindfactory.c:
12338         Fix docs.
12339         
12340 2005-11-09  Edward Hervey  <edward@fluendo.com>
12341
12342         * gst/base/gsttypefindhelper.c:
12343         * gst/gsttypefind.c:
12344         * gst/gsttypefind.h:
12345         Fix docs.
12346
12347 2005-11-09  Wim Taymans  <wim@fluendo.com>
12348
12349         * gst/gstiterator.c:
12350         Fix revision data.
12351
12352         * gst/gsttask.c:
12353         * gst/gsttask.h:
12354         Fix docs.
12355
12356 2005-11-09  Wim Taymans  <wim@fluendo.com>
12357
12358         * gst/gstevent.h:
12359         * gst/gsturi.h:
12360         Fix docs.
12361
12362 2005-11-09  Wim Taymans  <wim@fluendo.com>
12363
12364         * docs/gst/gstreamer-sections.txt:
12365         Moved the message async delivery private lock and cond
12366         to the private section.
12367
12368         * gst/gstmessage.c:
12369         * gst/gstmessage.h:
12370         Fixed docs.
12371
12372 2005-11-09  Edward Hervey  <edward@fluendo.com>
12373
12374         * docs/gst/gstreamer-sections.txt:
12375         * gst/gsturi.c:
12376         * gst/gsturi.h:
12377         Document GstURIHandler
12378
12379 2005-11-09  Wim Taymans  <wim@fluendo.com>
12380
12381         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
12382         (gst_iterator_find_custom):
12383         * gst/gstiterator.h:
12384         Fix iterator docs.
12385
12386 2005-11-09  Wim Taymans  <wim@fluendo.com>
12387
12388         * gst/gstbin.h:
12389         Document another field.
12390
12391         * gst/gststructure.c:
12392         * gst/gststructure.h:
12393         Document.
12394
12395 2005-11-09  Wim Taymans  <wim@fluendo.com>
12396
12397         * gst/gstbin.h:
12398         Documented structs.
12399
12400 2005-11-09  Wim Taymans  <wim@fluendo.com>
12401
12402         * docs/gst/gstreamer-sections.txt:
12403         Added some new macros.
12404
12405         * gst/gstclock.c:
12406         * gst/gstclock.h:
12407         * gst/gstobject.h:
12408         Docs updates.
12409
12410 2005-11-09  Wim Taymans  <wim@fluendo.com>
12411
12412         * docs/design/part-TODO.txt:
12413         Some more items for the TODO
12414
12415         * gst/gstcaps.c:
12416         * gst/gstcaps.h:
12417         Document GstCaps.
12418
12419 2005-11-09  Andy Wingo  <wingo@pobox.com>
12420
12421         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
12422         to work on something else now tho...
12423
12424         * gst/base/gstadapter.c: More adapter docs.
12425
12426         * gst/elements/gstfilesink.c (gst_file_sink_start) 
12427         (gst_file_sink_stop): New functions, replace the state change
12428         handler.
12429         (gst_file_sink_class_init): Hook up the start and stop functions.
12430         (gst_file_sink_base_init): Don't set the state change handler any
12431         more. It was a bit ugly too, being set from here...
12432         (gst_file_sink_get_property, gst_file_sink_set_property):
12433         Cleanups...
12434         (gst_file_sink_set_location): More robust check that doesn't call
12435         GST_STATE. Ugggggg.
12436
12437 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
12438
12439         * gst/base/gstbasetransform.c: (gst_base_transform_event):
12440           Hold STREAM_LOCK while pushing newsegment or tag events as well.
12441
12442 2005-11-08  Wim Taymans  <wim@fluendo.com>
12443
12444         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
12445         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
12446         (gst_base_sink_chain), (gst_base_sink_change_state):
12447         * gst/base/gstbasesink.h:
12448         * gst/base/gstbasesrc.h:
12449         * gst/gstelement.h:
12450         * gst/gstevent.h:
12451         Avoid excessive typechecking in macros.
12452
12453         * gst/gstminiobject.c: (gst_mini_object_get_type),
12454         (gst_mini_object_init), (gst_mini_object_new),
12455         (gst_mini_object_free):
12456         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
12457         (gst_object_finalize):
12458         Remove cruft code, optimize alloc_trace.
12459
12460 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
12461
12462         * docs/faq/gst-uninstalled:
12463           fix up PS1 for systems that try to reset it
12464
12465 2005-11-07  Wim Taymans  <wim@fluendo.com>
12466
12467         * gst/base/gstbasesrc.c: (gst_base_src_init),
12468         (gst_base_src_get_range):
12469         Set the segment_end to -1 initially. Fixed typefind.
12470
12471 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
12472
12473         * gst/base/gstadapter.c:
12474           Debug category should be 'adapter', not 'GstAdapter'.
12475           
12476         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
12477         (gst_collectpads_class_init), (gst_collectpads_init),
12478         (gst_collectpads_peek), (gst_collectpads_pop),
12479         (gst_collectpads_event), (gst_collectpads_chain):
12480           Add debug category and some debugging output. Use boilerplate
12481           macros. Remove some extraneous words from docs.
12482
12483 2005-11-05  Andy Wingo  <wingo@pobox.com>
12484
12485         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
12486         macro.
12487
12488 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
12489
12490         * docs/gst/gstreamer-sections.txt:
12491         * gst/gstcaps.h:
12492         * gst/gstinfo.c:
12493         * gst/gstminiobject.h:
12494         * gst/gstobject.h:
12495         * gst/gstutils.h:
12496           more docs added
12497
12498 2005-11-04  Wim Taymans  <wim@fluendo.com>
12499
12500         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
12501         Small update to stop at the configured segment_end
12502         position.
12503
12504 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
12505
12506         * gst/gstregistry.c:
12507         * gst/gstregistry.h:
12508           added missing docs
12509
12510 2005-11-04  Edward Hervey  <edward@fluendo.com>
12511
12512         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
12513         Check if we are doing a segment seek and have arrived at the
12514         end of that segment.
12515
12516 2005-11-04  Wim Taymans  <wim@fluendo.com>
12517
12518         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
12519         Don't leak a mutex unlock in case of an error.
12520
12521         * gst/gstbus.h:
12522         Doc fixes.
12523
12524 2005-11-04  Wim Taymans  <wim@fluendo.com>
12525
12526         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
12527         (gst_bus_post):
12528         Get the context to wake up only once.
12529
12530 2005-11-03  Wim Taymans  <wim@fluendo.com>
12531
12532         * check/states/sinks.c: (GST_START_TEST):
12533         Uncomment fixed check.
12534
12535         * docs/design/part-TODO.txt:
12536         Updated TODO.
12537
12538         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12539         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
12540         (gst_base_sink_get_position):
12541         If we are going to PLAYING, post the right pending state
12542         when we post the intermediate paused message.
12543
12544         * gst/gstelement.c: (gst_element_continue_state),
12545         (gst_element_set_state_func), (gst_element_change_state):
12546         Don't post state changes that were between the same state
12547         and were not ASYNC.
12548
12549 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
12550
12551         * docs/gst/gstreamer-sections.txt:
12552         * gst/gstcaps.h:
12553         * gst/gstinfo.c:
12554         * gst/gstminiobject.h:
12555         * gst/gstobject.h:
12556         * gst/gstutils.h:
12557           more docs and doc style fixes
12558
12559 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
12560
12561         * docs/gst/gstreamer-sections.txt:
12562         * gst/gstelement.c:
12563         * gst/gstminiobject.c:
12564         doc fixes
12565
12566 2005-11-03  Andy Wingo  <wingo@pobox.com>
12567
12568         * check/states/sinks.c (test_livesrc_sink): Add checks that the
12569         state-changed messages actually have the right order and the right
12570         values.
12571
12572 2005-11-03  Wim Taymans  <wim@fluendo.com>
12573
12574         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
12575         Added some more checks. Specifically the case where NO_PREROLL
12576         elements are in the pipeline.
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         Post READY->PAUSED state change messages too.
12582         Fix bug where VOID was posted as pending state...
12583
12584         * gst/gstbin.c: (gst_bin_recalc_state):
12585         use _element_continue_state() to continue the state change.
12586
12587         * gst/gstelement.c: (gst_element_continue_state),
12588         (gst_element_commit_state), (gst_element_set_state_func),
12589         (gst_element_change_state), (gst_element_change_state_func):
12590         Lots of state change cleanups, assign the STATE_RETURN in
12591         a new continue_state() function that also propagates the
12592         last return value from a state change to the app.
12593         Update some debug statements with proper category.
12594
12595 2005-11-03  Wim Taymans  <wim@fluendo.com>
12596
12597         * docs/design/part-events.txt:
12598         * docs/design/part-gstpipeline.txt:
12599         * docs/design/part-messages.txt:
12600         * docs/design/part-overview.txt:
12601         * docs/design/part-seeking.txt:
12602         * docs/design/part-states.txt:
12603         * docs/design/part-trickmodes.txt:
12604         * docs/manual/advanced-position.xml:
12605         Small docs updates.
12606
12607         * gst/gstobject.h:
12608         People think !! is ugly, this looks better.
12609
12610         * gst/gstpad.c: (gst_pad_set_blocked_async):
12611         Remove !! since it's fixed elsewhere now.
12612
12613 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
12614
12615         * gst/gstminiobject.h:
12616         * gst/gstobject.h:
12617           Add !! to _FLAG_IS_SET macros to make the result boolean.
12618
12619 2005-11-03  Edward Hervey  <edward@fluendo.com>
12620
12621         * gst/gstpad.c: (gst_pad_set_blocked_async):
12622         comparing a flag and a gboolean rarely returns coherent results...
12623         Added two characters (!!) to make that work correctly.
12624         
12625 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
12626
12627         * gst/gstbus.c: (gst_bus_class_init):
12628           Fix some typos.
12629           
12630         * gst/gstqueue.c: (gst_queue_loop):
12631           Don't assume a miniobject that isn't a buffer is an
12632           event (it could be that there is a refcounting
12633           problem somewhere and the pointer is stale and
12634           refers to an already destroyed miniobject).
12635
12636 2005-11-03  Julien MOUTTE  <julien@moutte.net>
12637
12638         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
12639
12640 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
12641
12642         * docs/manual/advanced-position.xml:
12643           Update seek example and explanations to current 0.9 API.
12644
12645         * gst/elements/gsttypefindelement.c:
12646         (gst_type_find_element_activate):
12647           Remove FIXME comment now that the found caps
12648           are unreffed.
12649
12650 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12651
12652         * gst/gstregistryxml.c: (load_feature):
12653           Add another GST_STR_NULL instance
12654
12655 2005-11-02  Edward Hervey  <edward@fluendo.com>
12656
12657         * gst/gstpad.c: (handle_pad_block):
12658         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
12659         
12660 2005-11-02  Wim Taymans  <wim@fluendo.com>
12661
12662         * gst/gstbin.c:
12663         Fix typo in docs.
12664
12665         * gst/gstelement.c: (gst_element_commit_state):
12666         Remove unused value.
12667
12668         * gst/gstiterator.c:
12669         Mention that the returned element is reffed in the docs.
12670
12671 2005-11-02  Wim Taymans  <wim@fluendo.com>
12672
12673         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
12674         (gst_pad_push), (gst_pad_push_event):
12675         Unlock blocked pads when they are flushed.
12676
12677 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12678
12679         * docs/README:
12680         * docs/gst/gstreamer-sections.txt:
12681         * gst/gstbin.c:
12682           doc updates
12683         * gst/gstregistry.c: (gst_registry_scan_path_level):
12684           fix for a nasty little missed situation where an installed plug-in
12685           which was in the cache did not get overridden by an uninstalled one
12686           which was earlier in the plugin path because the newly created plugin
12687           for the uninstalled one (not in the registry) didn't get its
12688           ->registered set to TRUE
12689
12690 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
12691
12692         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
12693         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
12694         (gst_collectpads_is_active), (gst_collectpads_collect),
12695         (gst_collectpads_collect_range), (gst_collectpads_start),
12696         (gst_collectpads_stop), (gst_collectpads_peek),
12697         (gst_collectpads_pop), (gst_collectpads_available),
12698         (gst_collectpads_read), (gst_collectpads_flush):
12699           Guard public API with assertions.
12700         
12701         * gst/gstpad.c:
12702           Fix docs for gst_pad_set_link_function().
12703
12704 2005-11-02  Johan Dahlin  <johan@gnome.org>
12705
12706         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
12707         Unref found_caps after we used it.
12708
12709 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
12710
12711         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
12712           Don't try to ref NULL.
12713
12714 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12715
12716         * win32/common/config.h.in:
12717           provide a GST_FUNCTION that just gives a string for now
12718
12719 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12720
12721         * win32/common/gstenumtypes.c: (register_gst_object_flags),
12722         (gst_object_flags_get_type), (register_gst_bin_flags),
12723         (gst_bin_flags_get_type), (register_gst_buffer_flag),
12724         (gst_buffer_flag_get_type), (register_gst_bus_flags),
12725         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
12726         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
12727         (gst_clock_return_get_type), (register_gst_clock_entry_type),
12728         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
12729         (gst_clock_flags_get_type), (register_gst_state),
12730         (gst_state_get_type), (register_gst_state_change_return),
12731         (gst_state_change_return_get_type), (register_gst_state_change),
12732         (gst_state_change_get_type), (register_gst_element_flags),
12733         (gst_element_flags_get_type), (register_gst_core_error),
12734         (gst_core_error_get_type), (register_gst_library_error),
12735         (gst_library_error_get_type), (register_gst_resource_error),
12736         (gst_resource_error_get_type), (register_gst_stream_error),
12737         (gst_stream_error_get_type), (register_gst_event_type),
12738         (gst_event_type_get_type), (register_gst_seek_type),
12739         (gst_seek_type_get_type), (register_gst_seek_flags),
12740         (gst_seek_flags_get_type), (register_gst_format),
12741         (gst_format_get_type), (register_gst_index_certainty),
12742         (gst_index_certainty_get_type), (register_gst_index_entry_type),
12743         (gst_index_entry_type_get_type),
12744         (register_gst_index_lookup_method),
12745         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
12746         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
12747         (gst_index_resolver_method_get_type), (register_gst_index_flags),
12748         (gst_index_flags_get_type), (register_gst_debug_level),
12749         (gst_debug_level_get_type), (register_gst_debug_color_flags),
12750         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
12751         (gst_iterator_result_get_type), (register_gst_iterator_item),
12752         (gst_iterator_item_get_type), (register_gst_message_type),
12753         (gst_message_type_get_type), (register_gst_mini_object_flags),
12754         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
12755         (gst_pad_link_return_get_type), (register_gst_flow_return),
12756         (gst_flow_return_get_type), (register_gst_activate_mode),
12757         (gst_activate_mode_get_type), (register_gst_pad_direction),
12758         (gst_pad_direction_get_type), (register_gst_pad_flags),
12759         (gst_pad_flags_get_type), (register_gst_pad_presence),
12760         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
12761         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
12762         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
12763         (gst_plugin_error_get_type), (register_gst_plugin_flags),
12764         (gst_plugin_flags_get_type), (register_gst_rank),
12765         (gst_rank_get_type), (register_gst_query_type),
12766         (gst_query_type_get_type), (register_gst_tag_merge_mode),
12767         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
12768         (gst_tag_flag_get_type), (register_gst_task_state),
12769         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
12770         (gst_alloc_trace_flags_get_type),
12771         (register_gst_type_find_probability),
12772         (gst_type_find_probability_get_type), (register_gst_uri_type),
12773         (gst_uri_type_get_type), (register_gst_parse_error),
12774         (gst_parse_error_get_type):
12775         * win32/common/gstversion.h:
12776           update win32 copies
12777
12778 2005-11-01  Luca Ognibene  <luogni@tin.it>
12779
12780         * gst/gst.c:
12781           fix docs. popt is dead, long live GOption.
12782
12783 2005-10-31  Wim Taymans  <wim@fluendo.com>
12784
12785         * gst/gstbuffer.h:
12786         Small doc fix.
12787
12788 2005-10-31  Andy Wingo  <wingo@pobox.com>
12789
12790         * Boo!
12791
12792         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
12793
12794         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
12795         need to serialize property notifications on GLib 2.8. GLib 2.6 has
12796         the possibility of deadlocks here if code calling notify() or
12797         set() has a lock that can be taken in another notify handler (ABBA
12798         with class lock and e.g. python GIL state lock).
12799
12800 2005-10-28  Julien MOUTTE  <julien@moutte.net>
12801
12802         * gst/gstbus.c: Doc updates.
12803
12804 2005-10-28  Wim Taymans  <wim@fluendo.com>
12805
12806         * docs/design/part-TODO.txt:
12807         * gst/gstiterator.c:
12808         * gst/gstsystemclock.c:
12809         * gst/gstsystemclock.h:
12810         Doc updates.
12811
12812 2005-10-28  Edward Hervey  <edward@fluendo.com>
12813
12814         * docs/gst/gstreamer-docs.sgml:
12815         * docs/gst/gstreamer-sections.txt:
12816         the GstURIType documentation page is private, it only defines GstURIType
12817         which should be defined in the GstURIHandler page
12818         
12819 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12820
12821         * gst/gstbin.c: (gst_bin_class_init):
12822         * gst/gstbin.h:
12823         * gst/gstutils.c:
12824         Documentation updates.
12825
12826 2005-10-28  Wim Taymans  <wim@fluendo.com>
12827
12828         * docs/gst/gstreamer-sections.txt:
12829         * gst/gstclock.c:
12830         * gst/gstclock.h:
12831         Documented the clocks.
12832
12833 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
12834
12835         * docs/gst/gstreamer-sections.txt:
12836           move some macros to private sections
12837         * gst/gstminiobject.c:
12838         * gst/gstminiobject.h:
12839           add descriptions provided by ds and some more
12840         * gst/gstpad.h:
12841           mark macro as to be removed
12842
12843 2005-10-28  Wim Taymans  <wim@fluendo.com>
12844
12845         * docs/design/part-TODO.txt:
12846         Add an item to TODO.
12847
12848         * gst/gstiterator.c: (gst_iterator_fold),
12849         (gst_iterator_find_custom):
12850         * gst/gstiterator.h:
12851         Add iterator docs.
12852
12853 2005-10-28  Wim Taymans  <wim@fluendo.com>
12854
12855         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
12856         (gst_base_transform_init):
12857         Don't leak class.
12858
12859         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
12860         An EOS event marks the queue as completely filled.
12861
12862 2005-10-27  Wim Taymans  <wim@fluendo.com>
12863
12864         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12865         (gst_base_sink_do_sync), (gst_base_sink_get_position):
12866         Some more debugging.
12867
12868         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
12869         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
12870         (gst_base_transform_event), (gst_base_transform_getrange),
12871         (gst_base_transform_chain):
12872         * gst/base/gstbasetransform.h:
12873         Fix debugging,
12874         Protect transform and concurrent buffer alloc with a new lock.
12875         Try not to break ABI/API.
12876
12877 2005-10-27  Wim Taymans  <wim@fluendo.com>
12878
12879         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
12880         (gst_base_src_init), (gst_base_src_query),
12881         (gst_base_src_default_newsegment),
12882         (gst_base_src_configure_segment), (gst_base_src_do_seek),
12883         (gst_base_src_send_event), (gst_base_src_event_handler),
12884         (gst_base_src_pad_get_range), (gst_base_src_loop),
12885         (gst_base_src_unlock), (gst_base_src_default_negotiate),
12886         (gst_base_src_start), (gst_base_src_deactivate),
12887         (gst_base_src_activate_push), (gst_base_src_change_state):
12888         Move some stuff around and cleanup things.
12889
12890 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
12891
12892         * gst/base/gstbasesrc.c: (gst_base_src_query):
12893           Add missing break statements.
12894
12895 2005-10-27  Wim Taymans  <wim@fluendo.com>
12896
12897         * check/gst/gstbin.c: (GST_START_TEST):
12898         An extra refcount is taken in basesrc.
12899
12900         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
12901         (gst_base_src_get_range), (gst_base_src_pad_get_range),
12902         (gst_base_src_loop):
12903         Small cleanups, check for flushing after being unlocked from the 
12904         LIVE_LOCK. take refcounts correctly (not yet everywhere).
12905         Don't send out EOS when going to READY.
12906
12907 2005-10-27  Wim Taymans  <wim@fluendo.com>
12908
12909         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12910         (gst_base_sink_get_position):
12911         Some more debug.
12912
12913         * gst/gstbin.c: (message_check), (bin_replace_message),
12914         (bin_remove_messages), (is_eos), (gst_bin_add_func),
12915         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
12916         (bin_query_duration_init), (bin_query_duration_fold),
12917         (bin_query_duration_done), (bin_query_generic_fold),
12918         (gst_bin_query):
12919         * tools/gst-launch.c: (main):
12920         Remove old option.
12921
12922 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
12923
12924         * examples/controller/audio-example.c: (main):
12925         * examples/queue/queue.c: (event_loop):
12926         * gst/base/gstbasetransform.h:
12927         * gst/gstelement.c: (gst_element_send_event):
12928         * gst/gstevent.h:
12929         * gst/gstpad.c: (gst_pad_send_event):
12930           fixing examples
12931           fixing docs typos
12932           changing log priority in error situations
12933
12934 2005-10-25  Wim Taymans  <wim@fluendo.com>
12935
12936         * gst/gstbin.c: (message_check), (bin_replace_message),
12937         (bin_remove_messages), (is_eos), (gst_bin_add_func),
12938         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
12939         (bin_query_duration_init), (bin_query_duration_fold),
12940         (bin_query_duration_done), (bin_query_generic_fold),
12941         (gst_bin_query):
12942         Some doc and debug updates.
12943         Cache previously requested query DURATION for speed. invalidate
12944         cached duration if element posts a DURATION message.
12945
12946 2005-10-25  Wim Taymans  <wim@fluendo.com>
12947
12948         * docs/design/part-TODO.txt:
12949         Update TODO.
12950
12951         * gst/gstbin.c: (message_check), (bin_replace_message),
12952         (bin_remove_messages), (is_eos), (gst_bin_add_func),
12953         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
12954         (bin_query_duration_init), (bin_query_duration_fold),
12955         (bin_query_duration_done), (bin_query_generic_fold),
12956         (gst_bin_query):
12957         Handle SEGMENT_START/DONE messages correctly.
12958         More evolved query algorithm that handles duration queries
12959         correctly.
12960
12961         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
12962         (gst_element_get_state_func), (gst_element_abort_state),
12963         (gst_element_commit_state), (gst_element_lost_state):
12964         Some more debugging.
12965
12966         * gst/gstmessage.h:
12967         Added doc.
12968
12969 2005-10-25  Wim Taymans  <wim@fluendo.com>
12970
12971         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
12972         Don't use invalid stream_time.
12973
12974         * gst/gstevent.c: (gst_event_new_newsegment):
12975         stream_time in newsegment cannot be undefined.
12976
12977 2005-10-24  Wim Taymans  <wim@fluendo.com>
12978
12979         * gst/gstbus.c:
12980         Doc fix.
12981
12982         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
12983         (gst_queue_loop):
12984         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
12985
12986 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
12987
12988         * docs/libs/tmpl/gstdparam.sgml:
12989         * docs/libs/tmpl/gstdplinint.sgml:
12990         * docs/libs/tmpl/gstdpman.sgml:
12991         * docs/libs/tmpl/gstdpsmooth.sgml:
12992         * docs/libs/tmpl/gstunitconvert.sgml:
12993           these are obsolete
12994
12995 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12996
12997         * configure.ac:
12998           back to HEAD
12999
13000 === release 0.9.4 ===
13001
13002 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13003
13004         * configure.ac:
13005           releasing 0.9.4, "Tyrannosaurus Rex"
13006
13007 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
13008
13009         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
13010         (gst_file_sink_get_current_offset):
13011           Use fseeko() and ftello() if available. When falling back on
13012           lseek() to get the current offset, fflush() first to make sure
13013           everything is up-to-date and we get the right offset.
13014
13015 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13016
13017         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13018         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13019         * gst/gsterror.c: (_gst_stream_errors_init):
13020         * gst/gsterror.h:
13021         * gst/gstqueue.c: (gst_queue_loop):
13022         * po/POTFILES.in:
13023           remove prematurely added error category and clean up the instances
13024
13025 2005-10-21  Wim Taymans  <wim@fluendo.com>
13026
13027         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13028         (gst_base_sink_get_position), (gst_base_sink_query),
13029         (gst_base_sink_change_state):
13030         Simply set the right flag when going to playing, that's all
13031         we need to do instead of calling a function inside the object
13032         lock (that could take the lock as well and deadlock)
13033
13034 2005-10-21  Wim Taymans  <wim@fluendo.com>
13035
13036         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
13037         (gst_base_src_loop):
13038         Don't warn, the peer element knows what to do best when
13039         the seek failed, it might try something else.
13040
13041 2005-10-21  Wim Taymans  <wim@fluendo.com>
13042
13043         * gst/base/gstbasesrc.c: (gst_base_src_init),
13044         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
13045         Fix seeking.
13046
13047 2005-10-21  Wim Taymans  <wim@fluendo.com>
13048
13049         * docs/design/part-segments.txt:
13050         More docs.
13051
13052         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
13053         Correctly set caps, even on the subbufer.
13054
13055 2005-10-21  Wim Taymans  <wim@fluendo.com>
13056
13057         * docs/gst/gstreamer-docs.sgml:
13058         * docs/gst/gstreamer-sections.txt:
13059         * gst/gstelement.h:
13060         * gst/gstevent.c:
13061         * gst/gstevent.h:
13062         * gst/gstmessage.h:
13063         * gst/gstpad.h:
13064         * gst/gstparse.h:
13065         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
13066         * gst/gsttask.h:
13067         * gst/gstutils.c:
13068         * gst/gstutils.h:
13069         And 2% more doc coverage.
13070
13071 2005-10-21  Andy Wingo  <wingo@pobox.com>
13072
13073         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
13074         position reporting.
13075
13076 2005-10-20  Wim Taymans  <wim@fluendo.com>
13077
13078         * gst/gsterror.c: (gst_error_get_message):
13079         * gst/gstparse.h:
13080         * gst/gstquery.h:
13081         * gst/gststructure.c:
13082         * gst/gsttrace.c:
13083         * gst/gstutils.c:
13084         More docs.
13085
13086 2005-10-20  Wim Taymans  <wim@fluendo.com>
13087
13088         * gst/gstbuffer.h:
13089         * gst/gstpad.c:
13090         * gst/gstparse.c:
13091         Another 1% more coverage.
13092
13093 2005-10-20  Wim Taymans  <wim@fluendo.com>
13094
13095         * docs/gst/gstreamer-sections.txt:
13096         * gst/gstelement.c: (gst_element_get_state_func),
13097         (gst_element_abort_state), (gst_element_commit_state),
13098         (gst_element_lost_state):
13099         * gst/gstevent.h:
13100         * gst/gstquery.c: (gst_query_set_position),
13101         (gst_query_parse_position), (gst_query_set_duration),
13102         (gst_query_parse_duration), (gst_query_new_convert):
13103         * gst/gstutils.c:
13104         Yay! 1% more docs coverage.
13105
13106 2005-10-20  Wim Taymans  <wim@fluendo.com>
13107
13108         * gst/gstpad.h:
13109         * gst/gstquery.c: (gst_query_set_position),
13110         (gst_query_parse_position), (gst_query_set_duration),
13111         (gst_query_parse_duration), (gst_query_new_convert):
13112         * gst/gstquery.h:
13113         * gst/gstutils.c: (gst_element_query_convert):
13114         * gst/gstutils.h:
13115         Docs and consistency fixes.
13116
13117 2005-10-20  Wim Taymans  <wim@fluendo.com>
13118
13119         * gst/gsttask.c:
13120         * gst/gsttask.h:
13121         More docs.
13122
13123 2005-10-20  Wim Taymans  <wim@fluendo.com>
13124
13125         * gst/gstbin.c: (message_check), (bin_replace_message),
13126         (bin_remove_messages), (is_eos), (gst_bin_add_func),
13127         (update_degree), (gst_bin_sort_iterator_next),
13128         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
13129         Reworked the message handling a bit, cache the messages instead of
13130         only the senders. alows us to do more in the future.
13131
13132 2005-10-20  Wim Taymans  <wim@fluendo.com>
13133
13134         * docs/design/part-TODO.txt:
13135         Update TODO
13136
13137         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
13138         (gst_base_sink_query):
13139         Don't use clock time to report position when in EOS.
13140
13141 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
13142
13143         * tools/gst-inspect.c: (print_interfaces),
13144         (print_element_properties_info), (print_element_info):
13145           Fix interface output with gst-inspect -a; don't print
13146           newlines after double/float properties.
13147
13148 2005-10-20  Wim Taymans  <wim@fluendo.com>
13149
13150         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
13151         (gst_base_sink_query):
13152         Speed up current position calculation.
13153
13154         * gst/base/gstbasesrc.c: (gst_base_src_query),
13155         (gst_base_src_default_newsegment):
13156         Correctly set stream position in newsegment.
13157
13158         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
13159         (update_degree), (gst_bin_sort_iterator_next),
13160         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
13161         * gst/gstmessage.c: (gst_message_new_custom):
13162         Clean up debugging info
13163
13164         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
13165         (gst_queue_loop), (gst_queue_handle_src_query):
13166         Pause task faster.
13167
13168 2005-10-19  Wim Taymans  <wim@fluendo.com>
13169
13170         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13171         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
13172         Fix query handling again.
13173
13174 2005-10-19  Wim Taymans  <wim@fluendo.com>
13175
13176         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13177         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
13178         * gst/base/gstbasesrc.c: (gst_base_src_query):
13179         * gst/elements/gstfilesink.c: (gst_file_sink_query):
13180         * gst/elements/gsttypefindelement.c:
13181         (gst_type_find_handle_src_query), (find_element_get_length),
13182         (gst_type_find_element_activate):
13183         API change fix.
13184
13185         * gst/gstquery.c: (gst_query_new_position),
13186         (gst_query_set_position), (gst_query_parse_position),
13187         (gst_query_new_duration), (gst_query_set_duration),
13188         (gst_query_parse_duration), (gst_query_set_segment),
13189         (gst_query_parse_segment):
13190         * gst/gstquery.h:
13191         Bundling query position/duration is not a good idea since duration
13192         does not change much and we don't want to recalculate it for every
13193         position query, so they are separated again..
13194         Base value in segment query is not needed.
13195
13196         * gst/gstqueue.c: (gst_queue_handle_src_query):
13197         * gst/gstutils.c: (gst_element_query_position),
13198         (gst_element_query_duration), (gst_pad_query_position),
13199         (gst_pad_query_duration):
13200         * gst/gstutils.h:
13201         Updates for query API change.
13202         Added some docs here and there.
13203
13204 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13205
13206         * check/gst/gstbin.c: (GST_START_TEST):
13207         * check/gst/gstghostpad.c: (GST_START_TEST):
13208         * check/pipelines/cleanup.c: (GST_START_TEST):
13209           wait on thread to die so we can check refcount correctly
13210
13211 2005-10-18  Wim Taymans  <wim@fluendo.com>
13212
13213         * check/pipelines/stress.c: (GST_START_TEST):
13214         Make check a little more time consuming.
13215
13216 2005-10-18  Wim Taymans  <wim@fluendo.com>
13217
13218         * check/Makefile.am:
13219         * check/pipelines/stress.c: (GST_START_TEST),
13220         (simple_launch_lines_suite), (main):
13221         Small state change torture test.
13222
13223         * docs/design/part-states.txt:
13224         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13225         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
13226         (gst_base_sink_change_state):
13227         Never take state lock from streaming thread, clean up ugly
13228         hacks. Unfortunatly core does not yet support nice ways to
13229         async commit state.
13230         
13231         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
13232         (bin_bus_handler):
13233         Start state recalc if a STATE_DIRTY message is posted, but only
13234         on the toplevel bin.
13235
13236         * gst/gstelement.c: (gst_element_sync_state_with_parent),
13237         (gst_element_get_state_func), (gst_element_abort_state),
13238         (gst_element_commit_state), (gst_element_lost_state),
13239         (gst_element_set_state_func), (gst_element_change_state):
13240         * gst/gstelement.h:
13241         State variables are now protected with the LOCK, the state
13242         lock is only used to serialize _set_state().
13243
13244 2005-10-18  Wim Taymans  <wim@fluendo.com>
13245
13246         * check/gst/gstbin.c: (GST_START_TEST):
13247         * check/gst/gstmessage.c: (GST_START_TEST):
13248         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
13249         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
13250         (bin_bus_handler):
13251         * gst/gstelement.c: (gst_element_abort_state),
13252         (gst_element_commit_state), (gst_element_lost_state):
13253         * gst/gstmessage.c: (gst_message_new_state_changed),
13254         (gst_message_new_state_dirty), (gst_message_new_segment_start),
13255         (gst_message_new_segment_done), (gst_message_new_duration),
13256         (gst_message_parse_state_changed),
13257         (gst_message_parse_segment_start),
13258         (gst_message_parse_segment_done), (gst_message_parse_duration):
13259         * gst/gstmessage.h:
13260         * tools/gst-launch.c: (event_loop):
13261         Seriously, this is better than a previous commit as we only need
13262         to notify the fact that an element changed state in a streaming
13263         thread, marking the state of the parents dirty, hence the 
13264         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
13265         message.
13266
13267 2005-10-18  Wim Taymans  <wim@fluendo.com>
13268
13269         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
13270         (gst_bin_recalc_func):
13271         * gst/gstelement.c: (gst_element_set_clock),
13272         (gst_element_abort_state), (gst_element_lost_state):
13273         Cleanups, prepare for state change fixes.
13274
13275 2005-10-18  Wim Taymans  <wim@fluendo.com>
13276
13277         * gst/gstbin.h:
13278         * gst/gstelement.c: (gst_element_class_init),
13279         (gst_element_set_state), (gst_element_set_state_func):
13280         * gst/gstelement.h:
13281         Pending ABI changes.
13282         GThreadPool in GstBinClass to monitor async state changes.
13283         state_cookie in GstElement to detect concurrent gst/set state.
13284         set_state is now virtual too in case a very complicated element
13285         has to be constructed.
13286
13287 2005-10-18  Wim Taymans  <wim@fluendo.com>
13288
13289         * check/gst/gstbin.c: (GST_START_TEST):
13290         * check/gst/gstmessage.c: (GST_START_TEST):
13291         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
13292         * gst/gstbin.c: (bin_bus_handler):
13293         * gst/gstelement.c: (gst_element_commit_state),
13294         (gst_element_lost_state):
13295         * gst/gstmessage.c: (gst_message_new_state_changed),
13296         (gst_message_new_segment_start), (gst_message_new_segment_done),
13297         (gst_message_new_duration), (gst_message_parse_state_changed),
13298         (gst_message_parse_segment_start),
13299         (gst_message_parse_segment_done), (gst_message_parse_duration):
13300         * gst/gstmessage.h:
13301         * tools/gst-launch.c: (event_loop):
13302         Make messages future proof.
13303         state-change gets a flag if it was a message comming from the
13304         streaming thread.
13305         segment-start/stop can also be specified in other formats.
13306         A message to notify an app that a pipeline changed playback 
13307         duration.
13308         Also fix a GstMessage leak in -launch
13309
13310 2005-10-18  Andy Wingo  <wingo@pobox.com>
13311
13312         * gst/gstelement.c (gst_element_dispose): More helpful message.
13313
13314 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13315
13316         reviewed by: <delete if not using a buddy>
13317
13318         * common/gtk-doc.mak:
13319
13320 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13321
13322         * gst/gstregistry.c: (gst_registry_scan_path_level):
13323           unref a plug-in we get that was already initialized
13324
13325 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
13326
13327         * docs/gst/gstreamer-sections.txt:
13328         * docs/libs/gstreamer-libs-sections.txt:
13329         * gst/gstelement.h:
13330           add new api entries
13331           hide internal macro
13332
13333 2005-10-17  Andy Wingo  <wingo@pobox.com>
13334
13335         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
13336         cleanup.
13337
13338         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
13339
13340         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
13341
13342         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
13343         (gst_element_get_state_func): Better debug message.
13344         (gst_element_commit_state): s/INFO/DEBUG/.
13345         (gst_element_lost_state, gst_element_change_state): 
13346
13347         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
13348         (gst_message_new_custom): s/INFO/LOG/.
13349
13350 2005-10-17  Michael Smith <msmith@fluendo.com>
13351
13352         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
13353           Check if end time is valid using end time, not start time.
13354
13355 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
13356
13357         * check/gst-libs/controller.c: (GST_START_TEST),
13358         (gst_controller_suite):
13359         * libs/gst/controller/gstcontroller.c:
13360         (gst_controlled_property_set_interpolation_mode):
13361         * libs/gst/controller/gstcontroller.h:
13362         * libs/gst/controller/gstinterpolation.c:
13363         * testsuite/controller/.cvsignore:
13364         * testsuite/controller/Makefile.am:
13365         * testsuite/controller/interpolator.c:
13366           merge controller testsuites
13367           fix broken tests
13368           remove mem-chunk from docs
13369
13370 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
13371
13372         * gst/gstmemchunk.c:
13373         * gst/gstmemchunk.h:
13374         * gst/gsttrashstack.c:
13375         * gst/gsttrashstack.h:
13376           out.  get out.  you're fired.  to the Attic !
13377
13378 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
13379
13380         * gst/gstcaps.c: (gst_caps_intersect):
13381           fix signedness issues in a (hopefully) correct way
13382         * gst/gstelement.c: (gst_element_pads_activate):
13383           some debugging
13384         * gst/gstobject.c: (gst_object_set_parent):
13385           some debugging
13386
13387 2005-10-17  Julien MOUTTE  <julien@moutte.net>
13388
13389         * gst/gstvalue.h: Fix prototypes.
13390
13391 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13392
13393         * docs/gst/gstreamer-sections.txt:
13394         * gst/gst.c: (gst_version_string):
13395         * gst/gst.h:
13396         * gst/gstversion.h.in:
13397         * win32/common/libgstreamer.def:
13398           add gst_version_string ()
13399
13400 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13401
13402         * configure.ac:
13403           clean up further
13404         * gst/gst.c: (init_post):
13405         * win32/common/config.h.in:
13406           it's PLUGINDIR now
13407         * gst/gstcaps.c: (gst_caps_intersect):
13408           use gint64, the range could be bigger than a guint
13409
13410 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13411
13412         * gst/gstclock.h:
13413           document potential problem in 2038
13414
13415 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13416
13417         * gst/gstcaps.c: (gst_caps_intersect):
13418           Fix guint j diving under 0
13419
13420 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13421
13422         * configure.ac:
13423         * win32/common/config.h:
13424         * win32/common/config.h.in:
13425           check for process.h, declares getpid() on Windows
13426         * gst/gstinfo.c:
13427           include process.h if we have it
13428         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
13429         * gst/gstmemchunk.h:
13430           fix signedness issues
13431         * win32/common/libgstreamer.def:
13432           fix get_type's
13433
13434 2005-10-16  Julien MOUTTE  <julien@moutte.net>
13435
13436         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
13437         fix. Because of unsigned ints, caps intersection was going nuts and
13438         trying to access structures with G_MAXUINT index. That fixes
13439         videotestsrc ! ffmpegcolorspace ! fakesink
13440         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
13441         consistency.
13442
13443 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13444
13445         * configure.ac:
13446           use the gettext macro
13447         * gst/elements/gstelements.c:
13448         * gst/gst.c:
13449         * gst/indexers/gstindexers.c:
13450           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
13451         * win32/common/config.h:
13452           updated config.h
13453         * win32/common/config.h.in:
13454           add the template to generate config.h
13455         * win32/common/gstenumtypes.c:
13456         * win32/common/gstversion.h:
13457           updated copies
13458
13459 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13460
13461         * gst/gst.c: (gst_version):
13462         * gst/gstversion.h.in:
13463           add the nano
13464
13465 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
13466
13467         * gst/gstevent.h:
13468           Oops, add missing closing bracket.
13469
13470 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13471
13472         * configure.ac:
13473           use common m4's for argument checking
13474
13475 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
13476
13477         * docs/gst/gstreamer-sections.txt:
13478         * gst/gstevent.h:
13479           Add GST_EVENT_TYPE_NAME() macro.
13480
13481 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13482
13483         * gst/gstinfo.c:
13484         * gst/gstpluginfeature.c:
13485         * gst/gsttask.c:
13486           privatize more symbols
13487
13488 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13489
13490         * configure.ac:
13491           add srcdir, builddir includes to GST_ALL_CFLAGS, since
13492           everything that uses GStreamer API should have the includes
13493
13494 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13495
13496         * docs/gst/gstreamer-sections.txt:
13497         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
13498         * gst/gstvalue.h:
13499           give each value a _get_type, removes the DATA exports
13500
13501 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13502
13503         * gst/gst.c:
13504         * gst/gst.h:
13505           remove _gst_registry_auto_load, not used anymore
13506         * gst/gstbin.c: (gst_bin_get_type):
13507         * gst/gstbin.h:
13508         * gst/gstelement.c: (gst_element_get_type):
13509         * gst/gstelement.h:
13510         * gst/gstobject.c: (gst_object_get_type):
13511         * gst/gstobject.h:
13512         * gst/gstpad.c: (gst_pad_get_type):
13513         * gst/gstpad.h:
13514           make _get_type functions similar, fixes data export from library
13515
13516 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13517
13518         * configure.ac:
13519           correctly make conditionals
13520         * gst/elements/Makefile.am:
13521         * gst/elements/gstelements.c:
13522           fix typo causing fdsrc not to build
13523
13524 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13525
13526         * testsuite/Makefile.am:
13527         * testsuite/bytestream/.cvsignore:
13528         * testsuite/bytestream/Makefile.am:
13529         * testsuite/bytestream/filepadsink.c:
13530         * testsuite/bytestream/gstbstest.c:
13531         * testsuite/bytestream/test1.c:
13532         * testsuite/bytestream/testfile1:
13533         * testsuite/caps/normalisation.c:
13534         * testsuite/caps/random.c: (main):
13535         * testsuite/cleanup/.cvsignore:
13536         * testsuite/cleanup/Makefile.am:
13537         * testsuite/cleanup/cleanup1.c:
13538         * testsuite/cleanup/cleanup2.c:
13539         * testsuite/cleanup/cleanup3.c:
13540         * testsuite/cleanup/cleanup4.c:
13541         * testsuite/cleanup/cleanup5.c:
13542         * testsuite/controller/interpolator.c:
13543         * testsuite/debug/printf_extension.c: (main):
13544         * testsuite/elements/tee.c:
13545         * testsuite/negotiation/.cvsignore:
13546         * testsuite/negotiation/Makefile.am:
13547         * testsuite/negotiation/pad_link.c:
13548         * testsuite/pad/Makefile.am:
13549         * testsuite/pad/chainnopull.c:
13550         * testsuite/pad/getnopush.c:
13551         * testsuite/pad/link.c:
13552         * testsuite/refcounting/sched.c: (create_pipeline):
13553         * testsuite/registry/Makefile.am:
13554         * testsuite/registry/gst-print-formats.c:
13555         * testsuite/schedulers/.cvsignore:
13556         * testsuite/schedulers/142183-2.c:
13557         * testsuite/schedulers/142183.c:
13558         * testsuite/schedulers/143777-2.c:
13559         * testsuite/schedulers/143777.c:
13560         * testsuite/schedulers/147713.c:
13561         * testsuite/schedulers/147819.c:
13562         * testsuite/schedulers/147894-2.c:
13563         * testsuite/schedulers/147894.c:
13564         * testsuite/schedulers/Makefile.am:
13565         * testsuite/schedulers/group_link.c:
13566         * testsuite/schedulers/queue_link.c:
13567         * testsuite/schedulers/relink.c:
13568         * testsuite/schedulers/unlink.c:
13569         * testsuite/schedulers/unref.c:
13570         * testsuite/schedulers/useless_iteration.c:
13571         * testsuite/states/bin.c:
13572           clean out/remove some stuff from the testsuite directories
13573
13574 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13575
13576         * configure.ac:
13577           check for some headers
13578         * gst/elements/Makefile.am:
13579         * gst/elements/gstelements.c:
13580           don't compile fdsrc without sys/socket.h
13581         * gst/indexers/Makefile.am:
13582         * gst/indexers/gstindexers.c: (plugin_init):
13583           don't compile fileindex without mmap
13584
13585 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13586
13587         * configure.ac:
13588           reorganize
13589           clean up
13590           document more
13591           remove cruft
13592         * check/Makefile.am:
13593         * docs/gst/Makefile.am:
13594         * examples/helloworld/Makefile.am:
13595         * gst/Makefile.am:
13596         * gst/base/Makefile.am:
13597         * gst/check/Makefile.am:
13598         * gst/elements/Makefile.am:
13599         * gst/indexers/Makefile.am:
13600         * gst/parse/Makefile.am:
13601         * libs/gst/controller/Makefile.am:
13602         * libs/gst/dataprotocol/Makefile.am:
13603         * examples/helloworld/helloworld.c: (event_loop):
13604           compile fixes, though it's not being compiled currently
13605
13606 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
13607
13608         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
13609           Add some simple tests for the new taglist date API.
13610
13611 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
13612
13613         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
13614         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
13615           Beautify 'last-message' output: print 'none' for buffer timestamps
13616           and durations if none is set; improve alignment with next messages.
13617
13618 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
13619
13620         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
13621         * gst/gstpluginfeature.h:
13622         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
13623         * gst/gstregistry.h:
13624         * docs/gst/gstreamer-sections.txt:
13625           Add new API to check plugin feature version requirements.
13626
13627         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
13628           Some basic tests for the above.         
13629
13630 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13631
13632         * gst/gststructure.c: (gst_structure_to_string):
13633           guard against NULL printf - happens when for example
13634           a message structure with GstClock gets serialized
13635
13636 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
13637
13638         * gst/base/gstcollectpads.c: (gst_collectpads_event):
13639           Fix presumable copy'n'pasto.
13640
13641 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13642
13643         * gst/elements/gstfakesrc.h:
13644         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
13645         * gst/elements/gsttypefindelement.c:
13646           fix some signedness
13647         * gst/elements/gstfilesink.c: (gst_file_sink_render):
13648           I wonder if this could actually write +2GB files before
13649
13650 2005-10-13  Andy Wingo  <wingo@pobox.com>
13651
13652         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
13653         Fix Timmeke Waymans bug.
13654         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
13655         string of the proper length to gst_caps_from_string. There's a
13656         potential for, before this fix, that this could cause someone
13657         connecting over the network to cause a segfault if the payload is
13658         not NUL-terminated.
13659
13660 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
13661
13662         * docs/design/draft-push-pull.txt:
13663         * docs/design/part-overview.txt:
13664         * docs/random/TODO-pre-0.9:
13665         * docs/random/old/ChangeLog.gstreamer:
13666         * gst/base/gstpushsrc.c:
13667         * gst/gstclock.c:
13668           fixed typos
13669
13670 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13671
13672         * gst/glib-compat.c: (gst_flags_get_first_value):
13673         * gst/glib-compat.h:
13674         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
13675         (gst_value_compare_double), (gst_value_serialize_flags):
13676           GLib 2.6 g_flags_get_first_value has a bug that triggers an
13677           infinite loop
13678
13679 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13680
13681         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13682         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
13683           fix up debugging
13684         * tools/gst-launch.c: (event_loop):
13685           print out clock nicely
13686
13687 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
13688
13689         * docs/gst/gstreamer-sections.txt:
13690         * gst/gsttaglist.h:
13691         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
13692         (gst_tag_list_get_date_index):
13693           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
13694           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
13695
13696 2005-10-13  Julien MOUTTE  <julien@moutte.net>
13697
13698         * gst/base/gstcollectpads.c: (gst_collectpads_event),
13699         (gst_collectpads_chain):
13700         * gst/base/gstcollectpads.h: Handle newsegment and store informations
13701         in CollectData.
13702
13703 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
13704
13705         * docs/gst/gstreamer-sections.txt:
13706         * gst/gst.c:
13707         * gst/gsterror.h:
13708         * tools/gst-inspect.c: (main):
13709         * tools/gst-launch.c: (main):
13710         * tools/gst-run.c: (main):
13711         * tools/gst-xmlinspect.c: (main):
13712           fix GOption context leaks
13713           doc fixes
13714
13715 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13716
13717         * gst/gstbus.c:
13718           use HAVE_UNISTD_H
13719         * win32/common/config.h:
13720           update config
13721         * win32/vs6/grammar.dsp:
13722         * win32/vs6/libgstelements.dsp:
13723         * win32/vs6/libgstreamer.dsp:
13724           update vs6 files
13725
13726 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13727
13728         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13729         * gst/base/gstbasesrc.c: (gst_base_src_query):
13730           fix more guint64<->gdouble conversions
13731
13732 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13733
13734         * Makefile.am:
13735           add win32-update target
13736         * win32/common/gstconfig.h:
13737         * win32/common/gstenumtypes.c:
13738         * win32/common/gstenumtypes.h:
13739         * win32/common/gstversion.h:
13740           add files that visual studio can't generate
13741
13742 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13743
13744         * Makefile.am:
13745           add a win32-update target
13746         * configure.ac:
13747
13748 2005-10-12  Wim Taymans  <wim@fluendo.com>
13749
13750         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
13751         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
13752         * gst/gstelement.c: (gst_element_commit_state),
13753         (gst_element_set_state):
13754         Protect flags with proper lock.
13755         unref provided cached clock in dispose.
13756
13757 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
13758
13759         * gst/gst.c:
13760         * gst/gstminiobject.h:
13761         * gst/gstpad.h:
13762         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
13763           removed unused flags from miniobject
13764           doc fixes
13765
13766 2005-10-12  Wim Taymans  <wim@fluendo.com>
13767
13768         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
13769         (gst_file_sink_event), (gst_file_sink_render):
13770         Flush before seeking.
13771
13772 2005-10-12  Andy Wingo  <wingo@pobox.com>
13773
13774         * gst/gst.c (gst_init_check): Ignore unknown options, as has
13775         always been the case.
13776
13777 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
13778
13779         * check/gst/gstbin.c: (GST_START_TEST):
13780         * docs/gst/gstreamer-sections.txt:
13781         * gst/base/gstbasesink.c: (gst_base_sink_init):
13782         * gst/base/gstbasesrc.c: (gst_base_src_init),
13783         (gst_base_src_get_range), (gst_base_src_check_get_range),
13784         (gst_base_src_start), (gst_base_src_stop):
13785         * gst/base/gstbasesrc.h:
13786         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
13787         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
13788         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
13789         (bin_bus_handler):
13790         * gst/gstbin.h:
13791         * gst/gstbuffer.h:
13792         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
13793         * gst/gstbus.h:
13794         * gst/gstelement.c: (gst_element_is_locked_state),
13795         (gst_element_set_locked_state), (gst_element_commit_state),
13796         (gst_element_set_state):
13797         * gst/gstelement.h:
13798         * gst/gstindex.c: (gst_index_init):
13799         * gst/gstindex.h:
13800         * gst/gstminiobject.h:
13801         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
13802         (gst_object_set_parent):
13803         * gst/gstobject.h:
13804         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
13805         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
13806         * gst/gstpad.h:
13807         * gst/gstpadtemplate.h:
13808         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
13809         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
13810         * gst/gstpipeline.h:
13811         * gst/indexers/gstfileindex.c: (gst_file_index_load),
13812         (gst_file_index_commit):
13813         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
13814         * testsuite/pad/link.c: (gst_test_src_init),
13815         (gst_test_filter_init), (gst_test_sink_init):
13816         * testsuite/states/locked.c: (main):
13817           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
13818           moved bitshift from macro to enum definition
13819
13820 2005-10-12  Wim Taymans  <wim@fluendo.com>
13821
13822         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
13823         * gst/elements/gstfilesink.c: (gst_file_sink_event),
13824         (gst_file_sink_render):
13825         Some more debugging info.
13826
13827 2005-10-12  Wim Taymans  <wim@fluendo.com>
13828
13829         * docs/design/part-states.txt:
13830         * tools/gst-launch.c: (main):
13831         Some doc updates.
13832         Revert non-intentional change.
13833
13834 2005-10-12  Wim Taymans  <wim@fluendo.com>
13835
13836         * check/gst/gstbin.c: (GST_START_TEST):
13837         * check/gst/gstelement.c: (GST_START_TEST):
13838         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
13839         * check/gst/gstghostpad.c: (GST_START_TEST):
13840         * check/gst/gstpipeline.c: (GST_START_TEST):
13841         * check/pipelines/simple_launch_lines.c: (run_pipeline):
13842         * check/states/sinks.c: (GST_START_TEST):
13843         * gst/elements/gsttypefindelement.c: (stop_typefinding):
13844         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
13845         (gst_bin_remove_func), (gst_bin_get_state_func),
13846         (gst_bin_recalc_state), (gst_bin_change_state_func),
13847         (bin_bus_handler):
13848         * gst/gstelement.c: (gst_element_get_state_func),
13849         (gst_element_get_state), (gst_element_abort_state),
13850         (gst_element_commit_state), (gst_element_set_state),
13851         (gst_element_change_state), (gst_element_change_state_func):
13852         * gst/gstelement.h:
13853         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
13854         (gst_pipeline_provide_clock_func):
13855         * gst/gstutils.c: (gst_element_link_pads_filtered):
13856         * tools/gst-launch.c: (main):
13857         * tools/gst-typefind.c: (main):
13858         Use GstClockTime in _get_state() instead of GTimeVal.
13859         Remove old code in gstutils.c
13860
13861 2005-10-12  Andy Wingo  <wingo@pobox.com>
13862
13863         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
13864         removed.
13865
13866         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
13867         there is no task. Shouldn't affect any code, as nothing in our
13868         plugins checks this return value.
13869         (gst_pad_stop_task): Also take the stream lock if the pad has no
13870         task. Docs updated.
13871
13872 2005-10-12  Wim Taymans  <wim@fluendo.com>
13873
13874         * gst/gstpad.c: (pre_activate), (post_activate),
13875         (gst_pad_activate_pull), (gst_pad_activate_push):
13876         Cleanup activation code. Reset old state if
13877         activation failed.
13878
13879 2005-10-12  Wim Taymans  <wim@fluendo.com>
13880
13881         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13882         (gst_base_sink_change_state):
13883         No need to prerol after receiving EOS.
13884
13885         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
13886         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
13887         * gst/elements/gstidentity.c: (gst_identity_event):
13888         Print events more verbosely.
13889
13890 2005-10-12  Wim Taymans  <wim@fluendo.com>
13891
13892         * check/Makefile.am:
13893         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
13894         * check/states/sinks2.c:
13895         Moved sinks2 testcode in sinks check.
13896
13897         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
13898         (gst_bin_remove_func), (gst_bin_recalc_state),
13899         (gst_bin_change_state_func), (bin_bus_handler):
13900         Fix potential race condition when _get_state() iterated over an
13901         ASYNC element right before it posted a state completion.
13902
13903         * gst/gstclock.h:
13904         Do proper cast here.
13905
13906         * gst/gstevent.c: (gst_event_new_newsegment),
13907         (gst_event_parse_newsegment):
13908         A playback rate of 0.0 is not allowed.
13909
13910 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13911
13912         * win32/common/config.h:
13913         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
13914         (_trewinddir), (_ttelldir), (_tseekdir):
13915         * win32/common/dirent.h:
13916         * win32/common/gtchar.h:
13917         * win32/common/libgstbase.def:
13918         * win32/common/libgstreamer.def:
13919         * win32/vs6/grammar.dsp:
13920         * win32/vs6/gst_inspect.dsp:
13921         * win32/vs6/gst_launch.dsp:
13922         * win32/vs6/gstreamer.dsw:
13923         * win32/vs6/libgstbase.dsp:
13924         * win32/vs6/libgstelements.dsp:
13925         * win32/vs6/libgstreamer.dsp:
13926           Visual Studio 6 project files, and a new common directory.
13927           Phear.
13928
13929 2005-10-11  Wim Taymans  <wim@fluendo.com>
13930
13931         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13932         (gst_base_sink_do_sync), (gst_base_sink_query),
13933         (gst_base_sink_change_state):
13934         * gst/base/gstbasesink.h:
13935         Correctly parse newsegment info.
13936
13937 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13938
13939         * gst/gst.c: (init_post):
13940           split plugin paths correctly
13941
13942 2005-10-11  Wim Taymans  <wim@fluendo.com>
13943
13944         * check/gst/gstevent.c: (GST_START_TEST):
13945         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13946         (gst_base_sink_change_state):
13947         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
13948         * gst/base/gstbasetransform.c: (gst_base_transform_event):
13949         * gst/elements/gstfilesink.c: (gst_file_sink_event):
13950         * gst/gstevent.c: (gst_event_new_newsegment),
13951         (gst_event_parse_newsegment):
13952         * gst/gstevent.h:
13953         Added extra flag to newsegment for future API freeze.
13954         Updated check and base elements.
13955
13956 2005-10-11  Julien MOUTTE  <julien@moutte.net>
13957
13958         * gst/base/gstcollectpads.c: (gst_collectpads_init),
13959         (gst_collectpads_add_pad), (gst_collectpads_pop),
13960         (gst_collectpads_event), (gst_collectpads_chain):
13961         * gst/base/gstcollectpads.h: Handle EOS correctly.
13962
13963 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13964
13965         * tools/gst-launch.c: (main):
13966           more null protecting
13967
13968 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13969
13970         * gst/gst-i18n-lib.h:
13971           check for ENABLE_NLS, not GETTEXT_PACKAGE
13972         * gst/gstregistry.c: (gst_registry_add_plugin),
13973         (gst_registry_scan_path_level),
13974         (_gst_registry_remove_cache_plugins):
13975           protect possibly NULL strings
13976         * gst/parse/types.h:
13977           config.h already included before
13978         * tools/gst-inspect.c: (main):
13979           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
13980           check for ENABLE_NLS, not GETTEXT_PACKAGE
13981         * tools/gst-launch.c: (main):
13982           check for ENABLE_NLS, not GETTEXT_PACKAGE
13983
13984 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13985
13986         * configure.ac:
13987           if we don't have glib, fail before testing 2.8
13988         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
13989           fix a leak, should fix plugins-base testsuite
13990
13991 2005-10-11  Andy Wingo  <wingo@pobox.com>
13992
13993         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
13994         take the mode we're going to as an arg. Go head and set the mode
13995         and flushing flags now, so that if the activate function starts a
13996         thread all the flags will be in the right state.
13997         (post_activate): Renamed also. Just handle making sure streaming
13998         finishes for the deactivation case, and setting the deactivated
13999         mode.
14000         (gst_pad_set_active): Complain loudly if deactivation fails.
14001         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
14002         (gst_pad_activate_push): Adapt to pre/post_activate changes,
14003         remove the terrible hack.
14004
14005 2005-10-11  Wim Taymans  <wim@fluendo.com>
14006
14007         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
14008         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
14009         (gst_bin_recalc_state), (gst_bin_change_state_func),
14010         (gst_bin_dispose), (bin_bus_handler):
14011         * gst/gstbin.h:
14012         Prepare to make current EOS message queue more generic.
14013         Fix some typos.
14014
14015         * gst/gstevent.c: (gst_event_new_newsegment),
14016         (gst_event_parse_newsegment):
14017         * gst/gstevent.h:
14018         Rename base to stream_time.
14019
14020         * gst/gstmessage.h:
14021         Fix typo in docs.
14022
14023 2005-10-11  Wim Taymans  <wim@fluendo.com>
14024
14025         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
14026         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
14027         (gst_bin_change_state_func), (bin_bus_handler):
14028         * gst/gstbin.h:
14029         Work on proper clock selection.
14030
14031 2005-10-11  Edward Hervey  <edward@fluendo.com>
14032
14033         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
14034         * libs/gst/controller/gstcontroller.h:
14035         Added GList* version of _remove_properties() in order to be able to wrap
14036         it in bindings.
14037
14038 2005-10-11  Wim Taymans  <wim@fluendo.com>
14039
14040         * docs/design/part-states.txt:
14041         Some more docs.
14042
14043         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
14044         (gst_bin_change_state_func), (bin_bus_handler):
14045         Doc updates. Don't distribute the same clock over and over again.
14046
14047         * gst/gstclock.c:
14048         * gst/gstclock.h:
14049         Doc updates.
14050
14051         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
14052         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
14053         (gst_pad_send_event):
14054         * gst/gstpad.h:
14055         Make probe emission threadsafe again.
14056         Register quarks and move _get_name() from utils.
14057         Doc updates.
14058
14059         * gst/gstpipeline.c: (gst_pipeline_class_init),
14060         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
14061         Only redistribute the clock of it changed.
14062
14063         * gst/gstsystemclock.h:
14064         Doc updates. 
14065
14066         * gst/gstutils.c:
14067         * gst/gstutils.h:
14068         Moved the _flow_get_name() to GstPad.
14069
14070 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14071
14072         * check/gst-libs/gdp.c: (GST_START_TEST):
14073         * check/gst/gstcaps.c: (GST_START_TEST):
14074         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
14075         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
14076         (gst_dp_packet_from_caps):
14077           fix more valgrind warnings before turning up the heat
14078
14079 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14080
14081         * gst/parse/grammar.y:
14082           some cleanup before the hacking
14083
14084 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14085
14086         * gst/base/gstbasesrc.c: (gst_base_src_query):
14087           use conversions
14088         * gst/gstutils.c: (gst_guint64_to_gdouble),
14089         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
14090         * gst/gstutils.h:
14091           externalize, basesrc uses it
14092           obviously the implementation needs testing
14093
14094 2005-10-10  Wim Taymans  <wim@fluendo.com>
14095
14096         * tests/sched/Makefile.am:
14097         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
14098         (make_pipeline3), (make_pipeline4), (print_elem), (main):
14099
14100 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14101
14102         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
14103           apparently converting from guint64 to double is not implemented
14104           on MSVC
14105
14106 2005-10-10  Wim Taymans  <wim@fluendo.com>
14107
14108         * check/Makefile.am:
14109         * check/generic/states.c: (GST_START_TEST):
14110         * check/gst/gstbin.c: (GST_START_TEST):
14111         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
14112         * check/states/sinks.c: (GST_START_TEST):
14113         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
14114         (main):
14115         Check fixes, use API as stated in design docs, remove hacks.
14116
14117         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14118         (gst_base_sink_change_state):
14119         Catch stopping our task while we're shutting down.
14120
14121         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
14122         (gst_bin_remove_func), (gst_bin_get_state_func),
14123         (gst_bin_recalc_state), (gst_bin_change_state_func),
14124         (bin_bus_handler):
14125         * gst/gstbin.h:
14126         * gst/gstelement.c: (gst_element_init),
14127         (gst_element_get_state_func), (gst_element_abort_state),
14128         (gst_element_commit_state), (gst_element_lost_state),
14129         (gst_element_set_state), (gst_element_change_state),
14130         (gst_element_change_state_func):
14131         * gst/gstelement.h:
14132         New state change algorithm (see #318116)
14133
14134         * gst/gstpipeline.c: (gst_pipeline_class_init),
14135         (gst_pipeline_init), (gst_pipeline_set_property),
14136         (gst_pipeline_get_property), (do_pipeline_seek),
14137         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
14138         * gst/gstpipeline.h:
14139         Remove crude state change hacks.
14140
14141         * gst/gstutils.h:
14142         Remove crude hacks.
14143
14144         * tools/gst-launch.c: (main):
14145         Fixes for state change. Needs some more work to fully use the
14146         new stuff.
14147
14148 2005-10-10  Andy Wingo  <wingo@pobox.com>
14149
14150         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
14151
14152         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
14153         this flag, but it's not even in GLib 2.6. Odd. Hack around the
14154         issue.
14155
14156 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
14157
14158         * gst/gstiterator.c: (gst_iterator_new):
14159           Fix my previous commit: GTypes passed to gst_iterator_new()
14160           can be fundamental types.
14161
14162 2005-10-10  Wim Taymans  <wim@fluendo.com>
14163
14164         * gst/gstelement.c: (gst_element_iterate_pad_list),
14165         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
14166         (gst_element_iterate_sink_pads):
14167         Use src/sink pads lists for the respective iterators instead
14168         of filtering.
14169
14170 2005-10-10  Andy Wingo  <wingo@pobox.com>
14171
14172         Merged in popt removal + GOption addition patch from Ronald, bug
14173         #169772.
14174
14175         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
14176         GstElement macros around, remove popt-related symbols, add goption
14177         stuff.
14178
14179         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
14180         
14181         * docs/gst/Makefile.am:
14182         * docs/libs/Makefile.am: No POPT_CFLAGS.
14183         
14184         * examples/manual/Makefile.am:
14185         * docs/manual/basics-init.xml: Doc updates with an example.
14186         
14187         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
14188         (gst_init), (parse_one_option), (parse_goption_arg):
14189         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
14190         bit of hand merging and debugging to get the GOption stuff working
14191         tho.
14192         
14193         * tests/Makefile.am:
14194         * tools/Makefile.am:
14195         * tools/gst-inspect.c: (main):
14196         * tools/gst-launch.c: (main):
14197         * tools/gst-run.c: (main):
14198         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
14199
14200 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
14201
14202         * gst/gstiterator.c: (gst_iterator_new):
14203           Add assertions to make sure passed GType is likely to really
14204           be a GType (as the compiler won't catch it if the size and
14205           GType arguments get mixed up, see #318447).
14206
14207 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
14208
14209         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
14210
14211         * gst/gstbin.c: (gst_bin_iterate_sorted):
14212           Pass GType and size arguments to gst_iterator_new() in the right
14213           order (maybe we should make _new() take the GType as first argument
14214           just like _new_list()?) (#318447).
14215           
14216
14217 2005-10-10  Wim Taymans  <wim@fluendo.com>
14218
14219         * gst/gstelement.c: (gst_element_finalize):
14220         And free the GStaticRecMutex too
14221
14222 2005-10-10  Andy Wingo  <wingo@pobox.com>
14223
14224         * gst/gstelement.c (gst_element_init, gst_element_finalize):
14225         Allocate and free the mutex properly.
14226
14227         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
14228         New macros.
14229         (GstElement): The state_lock is now recursive. Rebuild your
14230         plugins, suckers. Old macros adapted.
14231
14232         * docs/gst/gstreamer-sections.txt: Doc updates.
14233
14234         * gst/gstutils.h:
14235         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
14236         (g_static_rec_cond_wait): Ported from state changes patch, while
14237         we wait on bug #317802 to be solved in a well-distributed GLib.
14238
14239         * gst/gstelement.c (gst_element_change_state_func): Renamed from
14240         gst_element_change_state, variable name changes.
14241         (gst_element_change_state): Split out of gst_element_set_state in
14242         preparation for the state change merge. Doesn't pay attention to
14243         the 'transition' argument.
14244         (gst_element_set_state): Updates, hopefully purely cosmetic.
14245         (gst_element_sync_state_with_parent): MT-safety. Ported from the
14246         state change patch.
14247         (gst_element_get_state_func): Renamed from get_state, cosmetic
14248         changes.
14249
14250 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14251
14252         * gst/elements/gstelements.c:
14253         * win32/GStreamer.vcproj:
14254         * win32/config.h:
14255         * win32/dirent.c: (_tseekdir):
14256         * win32/gst-inspect.vcproj:
14257         * win32/gst-launch.vcproj:
14258         * win32/gstconfig.h:
14259         * win32/gstelements.vcproj:
14260         * win32/gstenumtypes.c: (gst_object_flags_get_type):
14261         * win32/gstreamer.def:
14262         * win32/msvc71.sln:
14263           updates for the win32 build (patch from Sebastien Moutte)
14264
14265 2005-10-10  Andy Wingo  <wingo@pobox.com>
14266
14267         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
14268         gst_bin_get_state, cleaned up (but no logic changes).
14269         (bin_element_is_sink): Comment updates.
14270         (sink_iterator_filter): Remove needless cast.
14271         (gst_bin_iterate_sinks): Doc update.
14272         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
14273         cleaned up (but no logic changes).
14274
14275         * check/states/sinks.c (test_src_sink): Cleanups from the state
14276         change patch.
14277         (test_livesrc_sink): Sync on the state.
14278
14279         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
14280         the state change patch.
14281
14282         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
14283         change patch.
14284
14285         * check/gst/gstbin.c: Merge in some style fixes and additional
14286         checks from Wim's state change patch.
14287
14288 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
14289
14290         * gst/base/gsttypefindhelper.c: (helper_find_peek),
14291         (gst_type_find_helper):
14292           Check whether we have the requested data already in our list of
14293           cached buffers before pulling a new buffer; also make the buffer
14294           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
14295
14296 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14297
14298         * gst/gstcaps.c:
14299         * gst/gstevent.c:
14300           doc updates
14301         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
14302           don't use long long, it's not portable.  Replacing with
14303           gint64 seems to work; let's hope no skeletons fall out of the closet.
14304
14305 2005-10-10  Andy Wingo  <wingo@pobox.com>
14306
14307         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
14308
14309 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
14310
14311         * docs/gst/gstreamer-sections.txt:
14312         * gst/gstevent.c:
14313         * gst/gstevent.h:
14314         * gst/gstinfo.c:
14315         * gst/gstinfo.h:
14316         * gst/gstmessage.c: (gst_message_parse_state_changed):
14317         * gst/gstpad.c:
14318         * gst/gstpad.h:
14319           more docs, fix compilation
14320
14321 2005-10-09  Philippe Khalaf <burger@speedy.org>
14322         * gst/gstmessage.c:
14323           Fixed a few forgotten variables on previous commit
14324
14325 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
14326
14327         * gst/base/gsttypefindhelper.c: (helper_find_peek):
14328           Fix evil typefind crasher: getrange() might return a short
14329           buffer at the end of a file, but gst_type_find_peek() must
14330           either return the full data as requested or NULL, but
14331           never a short buffer.
14332
14333 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14334
14335         * gst/gstmessage.c: (gst_message_new_state_changed),
14336         (gst_message_parse_state_changed):
14337         * gst/gstmessage.h:
14338           don't use "new", it's a C++ keyword
14339
14340 2005-10-08  Wim Taymans  <wim@fluendo.com>
14341
14342         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
14343         * gst/gstelement.c: (gst_element_post_message):
14344         * gst/gstpipeline.c: (gst_pipeline_change_state):
14345         Small docs and debug updates.
14346
14347 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
14348
14349         * docs/gst/gstreamer-sections.txt:
14350         * gst/gstelementfactory.c:
14351         * gst/gstevent.c:
14352         * gst/gsttaglist.c:
14353           more docs
14354
14355 2005-10-08  Wim Taymans  <wim@fluendo.com>
14356
14357         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
14358         (gst_bin_dispose), (bin_bus_handler):
14359         Fix typos, add comments.
14360         Clear EOS list when going to PAUSED from any direction and do it
14361         in a threadsafe way.
14362         Get base time in a threadsafe way too.
14363         Fix confusing debug in the change_state function.
14364         Various other small cleanups.
14365         
14366         * gst/gstelement.c: (gst_element_post_message):
14367         Fix very verbose bus posting code.
14368
14369         * gst/gstpipeline.c: (gst_pipeline_class_init),
14370         (gst_pipeline_set_property), (gst_pipeline_get_property),
14371         (gst_pipeline_change_state):
14372         Small ARG_ -> PROP_ cleanup
14373
14374 2005-10-08  Wim Taymans  <wim@fluendo.com>
14375
14376         * gst/gstbin.c: (is_eos), (bin_bus_handler):
14377         Do a less CPU demanding EOS check because we can.
14378
14379 2005-10-08  Wim Taymans  <wim@fluendo.com>
14380
14381         * libs/gst/dataprotocol/dataprotocol.c:
14382         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14383         (gst_dp_packet_from_event):
14384         * libs/gst/dataprotocol/dataprotocol.h:
14385         * libs/gst/dataprotocol/dp-private.h:
14386         It's about time we bump the version number.
14387         Since event types don't fit in the guint8 anymore describing
14388         the payload type, make payload type 16 bits wide.
14389
14390 2005-10-08  Wim Taymans  <wim@fluendo.com>
14391
14392         * docs/design/part-TODO.txt:
14393         * docs/design/part-clocks.txt:
14394         * docs/design/part-events.txt:
14395         * docs/design/part-gstbin.txt:
14396         * docs/design/part-gstelement.txt:
14397         * docs/design/part-gstpipeline.txt:
14398         * docs/design/part-live-source.txt:
14399         * docs/design/part-messages.txt:
14400         * docs/design/part-overview.txt:
14401         * docs/design/part-states.txt:
14402         Many doc updates.
14403
14404 2005-10-08  Wim Taymans  <wim@fluendo.com>
14405
14406         * gst/gstevent.c:
14407         * gst/gstevent.h:
14408         Fix event quark registration.
14409         Add some space between events so we can insert them in the
14410         right groups.
14411
14412 2005-10-08  Wim Taymans  <wim@fluendo.com>
14413
14414         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14415         (gst_base_sink_handle_buffer):
14416         Better log message.
14417
14418         * gst/gstbus.h:
14419         * gst/gstelement.h:
14420         More docs.
14421
14422         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
14423         (gst_queue_set_property), (gst_queue_get_property):
14424         * gst/gstqueue.h:
14425         Remove old unused properties.
14426
14427 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
14428         * docs/gst/gstreamer-sections.txt:
14429         * gst/gstmessage.c:
14430         * gst/gstmessage.h:
14431         * gst/gstminiobject.c:
14432         * gst/gstminiobject.h:
14433         * gst/gstobject.h:
14434         * gst/gstpad.h:
14435         * gst/gstutils.h:
14436           lots of new docs and doc fixes
14437
14438 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14439
14440         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
14441         * gst/gstplugin.h:
14442         * gst/gstregistry.c: (gst_registry_lookup_locked),
14443         (gst_registry_scan_path_level):
14444         * gst/gstregistryxml.c: (load_plugin):
14445           Only ever load one plugin for a given plugin basename.
14446           This ensures correct overriding of GST_PLUGIN_PATH over
14447           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
14448           system installed plugins.
14449
14450 2005-10-08  Wim Taymans  <wim@fluendo.com>
14451
14452         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14453         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
14454         Prepare for doing QOS.
14455
14456 2005-10-08  Wim Taymans  <wim@fluendo.com>
14457
14458         * check/gst/gstbin.c: (GST_START_TEST):
14459         * check/pipelines/cleanup.c: (GST_START_TEST):
14460         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
14461         Allow new clock message too.
14462
14463 2005-10-08  Wim Taymans  <wim@fluendo.com>
14464
14465         * gst/gstmessage.c: (gst_message_new_error),
14466         (gst_message_new_warning), (gst_message_new_tag),
14467         (gst_message_new_state_changed), (gst_message_new_clock_provide),
14468         (gst_message_new_clock_lost), (gst_message_new_new_clock),
14469         (gst_message_new_segment_start), (gst_message_new_segment_done),
14470         (gst_message_parse_state_changed),
14471         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
14472         (gst_message_parse_new_clock):
14473         * gst/gstmessage.h:
14474         Also carry the clock in question.
14475
14476 2005-10-08  Wim Taymans  <wim@fluendo.com>
14477
14478         * gst/gstmessage.c: (gst_message_new_custom),
14479         (gst_message_new_eos), (gst_message_new_error),
14480         (gst_message_new_warning), (gst_message_new_tag),
14481         (gst_message_new_state_changed), (gst_message_new_clock_provide),
14482         (gst_message_new_new_clock), (gst_message_new_segment_start),
14483         (gst_message_new_segment_done), (gst_message_parse_state_changed),
14484         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
14485         * gst/gstmessage.h:
14486         Clean up.
14487         Added clock related messages.
14488
14489         * gst/gstpipeline.c: (gst_pipeline_change_state):
14490         Post message when the clock changed.
14491
14492         * tools/gst-launch.c: (event_loop):
14493         Print new clock.
14494
14495 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
14496
14497         * tools/gst-inspect.c: (print_element_properties_info):
14498           Can't pass NULL strings to g_print() on windows.
14499
14500 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14501
14502         * docs/Makefile.am:
14503         * docs/gst/Makefile.am:
14504         * docs/gst/gstreamer-docs.sgml:
14505         * docs/gst/running.xml:
14506         * docs/version.entities.in:
14507           add a chapter on running GStreamer.
14508           document GST_DEBUG and GST_PLUGIN* env vars
14509
14510 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14511
14512         * Makefile.am:
14513           remove include dir
14514         * configure.ac:
14515           remove PLUGINS_BUILDDIR stuff
14516         * gst/gst.c: (init_post):
14517           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
14518         * idiottest.mak:
14519           remove, it was condescending and not needed
14520
14521 2005-10-08  Wim Taymans  <wim@fluendo.com>
14522
14523         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
14524         (gst_base_sink_handle_object), (gst_base_sink_event),
14525         (gst_base_sink_wait), (gst_base_sink_handle_event),
14526         (gst_base_sink_change_state):
14527         * gst/base/gstbasesink.h:
14528         Repost EOS message while going to PLAYING if still EOS.
14529         Make sure that when receiving a FLUSH_START we don't attempt
14530         to sync on the clock anymore.
14531
14532 2005-10-08  Wim Taymans  <wim@fluendo.com>
14533
14534         * tools/gst-launch.c: (event_loop):
14535         Better message printout.
14536
14537 2005-10-08  Wim Taymans  <wim@fluendo.com>
14538
14539         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
14540         (gst_bin_child_proxy_get_children_count):
14541         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
14542         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
14543         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
14544         (gst_child_proxy_set_valist):
14545         * gst/parse/grammar.y:
14546         Make ChildProxy threadsafe and fix mem leaks.
14547
14548 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14549
14550         * gst/gst.c: (init_post):
14551           debug the GST_PLUGIN_ env vars
14552
14553 2005-10-08  Wim Taymans  <wim@fluendo.com>
14554
14555         * check/gst/gstbin.c: (GST_START_TEST):
14556         * check/gst/gstmessage.c: (GST_START_TEST):
14557         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
14558         * gst/gstelement.c: (gst_element_commit_state),
14559         (gst_element_lost_state):
14560         * gst/gstmessage.c: (gst_message_new_state_changed),
14561         (gst_message_parse_state_changed):
14562         * gst/gstmessage.h:
14563         * tools/gst-launch.c: (event_loop):
14564         Added extra field to STATE_CHANGE message with the pending
14565         state, which will be different from the new state soon.
14566
14567 2005-10-08  Wim Taymans  <wim@fluendo.com>
14568
14569         * gst/gstbus.c: (gst_bus_pop):
14570         * gst/gstclock.c:
14571         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
14572         Small cleanups and doc updates.
14573
14574 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14575
14576         * gst/gst.c: (init_pre):
14577         * gst/gstbin.c: (gst_bin_add_func):
14578           log distributing clocks and base time
14579         * gst/gstregistry.c: (gst_registry_add_plugin),
14580         (gst_registry_scan_path_level), (gst_registry_scan_path):
14581           clean up the debugging output a little
14582         * gst/gstutils.c: (gst_element_state_get_name):
14583           warn about a memleak (I've actually seen this be used, though
14584           it was probably a bug)
14585
14586 2005-10-07  Wim Taymans  <wim@fluendo.com>
14587
14588         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14589         (gst_base_src_init), (gst_base_src_default_newsegment),
14590         (gst_base_src_newsegment), (gst_base_src_do_seek),
14591         (gst_base_src_loop), (gst_base_src_start):
14592         * gst/base/gstbasesrc.h:
14593         Make the newsegment event customizable by subclasses.
14594
14595 2005-10-07  Wim Taymans  <wim@fluendo.com>
14596
14597         * gst/gstevent.c: (gst_event_new_buffersize),
14598         (gst_event_parse_buffersize):
14599         * gst/gstevent.h:
14600         New event for future idea.
14601
14602 2005-10-07  Andy Wingo  <wingo@pobox.com>
14603
14604         * gst/gstelement.c (gst_element_post_message): Doc update.
14605
14606         * docs/gst/gstreamer-sections.txt: Update.
14607
14608         * gst/gstmessage.c (gst_message_new_application): Made into a
14609         function like honest API calls.
14610         (gst_message_new_element): New message type.
14611
14612         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
14613
14614         * check/elements/fakesrc.c (test_no_preroll): New check, checks
14615         that setting a live fakesrc to PAUSED returns NO_PREROLL both
14616         times.
14617
14618         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
14619         NO_PREROLL from gst_element_change_state to fall through.
14620
14621 2005-10-07  Wim Taymans  <wim@fluendo.com>
14622
14623         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
14624         (gst_ghost_pad_do_activate_push):
14625         Activating a ghostpad with no internal pad in push mode
14626         is ok.
14627
14628 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14629
14630         * gst/gstobject.h:
14631           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
14632           Fixes compilation on Windows.
14633
14634 2005-10-07  Michael Smith <msmith@fluendo.com>
14635
14636         * tools/gst-inspect.c:
14637           Print out feature and plugin count at the end when printing out
14638           all features.
14639
14640 2005-10-04  Michael Smith <msmith@fluendo.com>
14641
14642         * gst/gsterror.c: (_gst_stream_errors_init):
14643           Add another error string used in a few existing plugins.
14644
14645         * gst/gstplugin.c:
14646         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
14647         * tools/gst-inspect.c: (print_element_info):
14648           When a feature disappears from a plugin (and the feature exists in
14649           the cached registry file), things went horribly wrong. This isn't a
14650           complete fix, we should actually be removing the 'missing' features
14651           from the features list when we load the actual plugin. That's not
14652           yet implemented. 
14653
14654 2005-10-04  Johan Dahlin  <johan@gnome.org>
14655
14656         * check/gst/gstiterator.c: (GST_START_TEST):
14657         * gst/gstbin.c: (gst_bin_iterate_elements),
14658         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
14659         * gst/gstelement.c: (gst_element_iterate_pads):
14660         * gst/gstformat.c: (gst_format_iterate_definitions):
14661         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
14662         (gst_iterator_new_list), (gst_iterator_filter):
14663         * gst/gstiterator.h:
14664         * gst/gstquery.c: (gst_query_type_iterate_definitions):
14665         Add a GType to GstIterator, update callsites and tests.
14666
14667 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14668
14669         * gst/gstpad.c: (gst_pad_event_default_dispatch):
14670           give events a chance to be handled by event probes when the pad
14671           is not linked
14672
14673 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14674
14675         * gst/gstevent.c: (gst_event_type_get_name),
14676         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
14677         * gst/gstevent.h:
14678           add string representations for event types
14679
14680 2005-10-06  Wim Taymans  <wim@fluendo.com>
14681
14682         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
14683         Don't use NULL pointers.
14684
14685 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14686
14687         * gst/gst_private.h:
14688         * gst/gstbus.c:
14689         * gst/gstelement.c:
14690         * gst/gstinfo.c:
14691         * gst/gstpluginfeature.c:
14692           widen the debug category in output to fit the biggest one we have
14693           add a bus category and use it
14694           play with the colors
14695           fix up some categories
14696
14697 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14698
14699         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
14700           add push activation of sink ghost pads.
14701           Andye, please verify
14702
14703 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
14704
14705         * gst/gstutils.c: (gst_element_link_pads):
14706           fix a bug in the case where neither element has a pad
14707         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
14708           add a test for that case
14709
14710 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
14711
14712         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
14713           emit have-data before checking for peers.  This allows
14714           for probe handlers to connect elements.  This helps autopluggers.
14715         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
14716         (gst_pad_suite):
14717           add six checks, linked/unlinked with no/true/false probe
14718
14719 2005-10-04  Wim Taymans  <wim@fluendo.com>
14720
14721         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
14722         (gst_fake_sink_event), (gst_fake_sink_preroll),
14723         (gst_fake_sink_render), (gst_fake_sink_change_state):
14724         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
14725         (gst_fake_src_get_property), (gst_fake_src_create),
14726         (gst_fake_src_stop):
14727         * gst/elements/gstidentity.c: (gst_identity_stop):
14728         Protect last_message with lock.
14729
14730 2005-10-04  Edward Hervey  <edward@fluendo.com>
14731
14732         * gst/gstformat.h: 
14733         Added precision in the comments for GST_FORMAT_DEFAULT
14734
14735 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
14736
14737         * tools/gst-launch.c: (main):
14738           Don't try to run erroneous pipelines.
14739
14740 2005-10-04  Julien MOUTTE  <julien@moutte.net>
14741
14742         * gst/gstbus.c: We don't need this header.
14743
14744 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14745
14746         * configure.ac:
14747           back to development
14748
14749 === release 0.9.3 ===
14750
14751 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14752
14753         * README:
14754         * configure.ac:
14755           Releasing 0.9.3, "Unregistered"
14756
14757 2005-10-03  Andy Wingo  <wingo@pobox.com>
14758
14759         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
14760         whereby calling a pad's activatepush() function can start a thread
14761         that starts to push or pull before the pad gets the FLUSHING flag
14762         unset. Hack around it by holding the stream lock until the flag is
14763         set. Need to replace this with a proper solution. Together with
14764         the ghost pad fixes, this fixes mp3 playing/tagreading.
14765
14766         * docs/design/part-gstghostpad.txt: Add a note about activation of
14767         proxy pads outside of ghost pads.
14768
14769         * gst/gstghostpad.c: Implement the ghost pad activation design.
14770
14771 2005-10-02  Andy Wingo  <wingo@pobox.com>
14772
14773         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
14774         It is volatile, after all.
14775
14776         * docs/design/part-gstghostpad.txt: Flesh out activation with
14777         ghost pads.
14778
14779         * gst/base/gstbasesrc.c (gst_base_src_init): Use
14780         GST_DEBUG_FUNCPTR.
14781
14782 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
14783
14784         * configure.ac:
14785           Fix (unused) AM_CONDITIONAL tests.
14786
14787 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
14788
14789         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
14790
14791         * gst/gstutils.c: (gst_pad_query_convert):
14792           Add assertion that makes sure src_val is >=0, just like
14793           gst_query_new_convert() has. (#315895)
14794
14795 2005-09-30  Edward Hervey  <edward@fluendo.com>
14796
14797         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
14798         Let's not iterate pads we're not interested in, it avoids getting 
14799         sky-high refcounts on sinkpad.
14800
14801 2005-09-30  Wim Taymans  <wim@fluendo.com>
14802
14803         * gst/gstelement.c: (gst_element_set_state),
14804         (gst_element_change_state):
14805         Small tweak, element in ASYNC remains ASYNC.
14806
14807 2005-09-30  Wim Taymans  <wim@fluendo.com>
14808
14809         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
14810         Only error is an error.
14811
14812         * gst/gstbin.c: (gst_bin_change_state):
14813         Better debugging.
14814
14815         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
14816         Also call pad_block in pad alloc.
14817
14818         * gst/gstutils.c: (gst_flow_get_name):
14819         Better debugging.
14820
14821 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
14822
14823         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14824         (gst_base_src_get_range):
14825           Fix documentation typos. Add some more debug info.
14826
14827 2005-09-29  David Schleef  <ds@schleef.org>
14828
14829         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
14830           more end-user friendly.
14831         * tools/gst-inspect.c: (main): Check if command-line argument is
14832           a file and attempt to load that file as a plugin.
14833
14834 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14835
14836         * check/gst/gstbin.c:
14837         * check/states/sinks.c:
14838           fix tests for the new warning
14839         * check/gst/gstpipeline.c:
14840           add a test for pipeline and bus interaction
14841         * gst/gstelement.c:
14842           elements should be NULL if they get disposed; add a warning if not
14843
14844 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14845
14846         * gst/gstobject.c:
14847           for 2.6 refcounting, make debug log more correct by printing
14848           the actual refcounts at the time of swap (Wim)
14849
14850 2005-09-29  Andy Wingo  <wingo@pobox.com>
14851
14852         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
14853         removes signal watches previously added via
14854         gst_bus_add_signal_watch.
14855         (gst_bus_add_signal_watch): Don't return the source id, just store
14856         it on the bus if there wasn't an id already.
14857
14858         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
14859         add_signal_watch and remove_signal_watch.
14860
14861 2005-09-29  Edward Hervey  <edward@fluendo.com>
14862
14863         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
14864         Better if we actually iterate the list :)
14865
14866 2005-09-29  Wim Taymans  <wim@fluendo.com>
14867
14868         * check/gst/gstbin.c: (GST_START_TEST):
14869         Change for new bus API.
14870
14871         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
14872         (send_messages), (GST_START_TEST), (gstbus_suite):
14873         Change for new bus signal API.
14874
14875         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
14876         (gst_bus_source_prepare), (gst_bus_source_check),
14877         (gst_bus_create_watch), (gst_bus_add_watch_full),
14878         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
14879         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
14880         * gst/gstbus.h:
14881         Remove support for multiple GSources operating on different
14882         message types as it is too complex and unneeded when using
14883         signals.
14884         Added support for receiving signals from the bus.
14885
14886 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14887
14888         * docs/libs/tmpl/gstdataprotocol.sgml:
14889         * docs/manual/advanced-dataaccess.xml:
14890         * gst/elements/gstcapsfilter.c:
14891         * gst/gstutils.c:
14892           rename filter-caps to caps property
14893
14894 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
14895
14896         * gst/gstvalue.c: (gst_value_deserialize_fraction):
14897           More robust fraction string parsing.
14898
14899         * docs/pwg/appendix-porting.xml:
14900           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
14901
14902 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
14903
14904         * gst/gstcaps.c: (gst_caps_do_simplify):
14905           Thou shalt not free a structure and then continue using it
14906           in the next loop iteration.
14907
14908         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
14909         (gst_caps_suite):
14910           Add test case for caps simplification.
14911
14912 2005-09-29  Wim Taymans  <wim@fluendo.com>
14913
14914         * check/gst/gstbin.c: (GST_START_TEST):
14915         Oops.
14916
14917 2005-09-29  Wim Taymans  <wim@fluendo.com>
14918
14919         * check/gst/gstbin.c: (GST_START_TEST):
14920         Add bus to bin.
14921
14922         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
14923         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
14924         (find_element), (gst_bin_sort_iterator_next),
14925         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
14926         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
14927         (gst_bin_change_state), (gst_bin_dispose):
14928         A bin does not have a bus, it gets the bus from the parent.
14929
14930         * gst/gstelement.c: (gst_element_requires_clock),
14931         (gst_element_provides_clock), (gst_element_is_indexable),
14932         (gst_element_is_locked_state), (gst_element_change_state),
14933         (gst_element_set_bus_func):
14934         Small cleanups.
14935
14936         * gst/gstpipeline.c: (gst_pipeline_class_init),
14937         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
14938         The pipeline provides a bus.
14939
14940 2005-09-28  Johan Dahlin  <johan@gnome.org>
14941
14942         * gst/gstmessage.c (gst_message_parse_state_changed): Use
14943         gst_structure_get_enum instead of gst_structure_get_int
14944
14945         * gst/gststructure.c (gst_structure_get_enum): Impl.
14946
14947         * gst/gststructure.h (gst_structure_get_enum): Add
14948
14949         * docs/gst/gstreamer-sections.txt: Ditto
14950
14951         * gst/gstmessage.c (gst_message_new_state_changed): Use
14952         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
14953         which does introspection.
14954         Reviewed by Christian Schaller
14955
14956 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
14957
14958         * gst/gstinfo.c: (gst_debug_log_default):
14959           don't do dummy g_strdup()s
14960         * libs/gst/controller/gstcontroller.c:
14961         (on_object_controlled_property_changed),
14962         (gst_controlled_property_new), (gst_controller_new_valist),
14963         (gst_controller_new_list),
14964         (gst_controller_remove_properties_valist), (gst_controller_set),
14965         (gst_controller_get), (gst_controller_sync_values),
14966         (gst_controller_get_value_array), (_gst_controller_class_init),
14967         (gst_controller_get_type):
14968         * libs/gst/controller/gstcontroller.h:
14969         * libs/gst/controller/gstinterpolation.c:
14970         (gst_controlled_property_find_timed_value_node):
14971           convert // to /**/ comments
14972
14973 2005-09-28  Wim Taymans  <wim@fluendo.com>
14974
14975         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
14976         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
14977         (gst_bus_sync_signal_handler):
14978         * gst/gstbus.h:
14979         Added async-message and sync-message signals to the bus.
14980         Added helper BusFunc to emit signals for all posted messages.
14981
14982         * gst/gstmessage.c: (gst_message_type_get_name),
14983         (gst_message_type_to_quark), (gst_message_get_type):
14984         * gst/gstmessage.h:
14985         Register quarks for message names.
14986
14987 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
14988
14989         * docs/libs/gstreamer-libs-sections.txt:
14990         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
14991         (gst_controller_new_list):
14992         * libs/gst/controller/gstcontroller.h:
14993           added another constructor for language bindings
14994
14995 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
14996
14997         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
14998           add another check
14999         * gst/gstbus.c:
15000           add some doc
15001         * gst/gstinfo.c: (_gst_debug_init):
15002           slightly more readable color for refcount debugging
15003
15004 2005-09-28  Wim Taymans  <wim@fluendo.com>
15005
15006         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
15007         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
15008         (find_element), (gst_bin_sort_iterator_next),
15009         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15010         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15011         (gst_bin_change_state), (gst_bin_dispose):
15012         Small doc fixes. get_clock -> provide_clock.
15013
15014         * gst/gstelement.c: (gst_element_class_init),
15015         (gst_element_provides_clock), (gst_element_provide_clock),
15016         (gst_element_get_clock), (gst_element_commit_state),
15017         (gst_element_lost_state):
15018         * gst/gstelement.h:
15019         Make get/set_clock() symetric. Add provide_clock vmethod since
15020         that is actually what this function does.
15021
15022         * gst/gstpipeline.c: (gst_pipeline_class_init),
15023         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
15024         (gst_pipeline_get_clock):
15025         get_clock -> provide_clock.
15026
15027 2005-09-28  Andy Wingo  <wingo@pobox.com>
15028
15029         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
15030         lieu of real docs...
15031
15032         * gst/elements/gstfdsrc.c: Cleaned up a bit.
15033
15034 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
15035
15036         * gst/elements/gstcapsfilter.c:
15037         * gst/elements/gstfakesink.c:
15038         * gst/elements/gstfakesrc.c:
15039         * gst/elements/gstfdsink.c:
15040         * gst/elements/gstfdsrc.c:
15041         * gst/elements/gstfilesink.c:
15042         * gst/elements/gstfilesrc.c:
15043         * gst/elements/gstidentity.c:
15044         * gst/elements/gsttee.c:
15045         * gst/elements/gsttypefindelement.c:
15046           Make element details static.
15047
15048 2005-09-28  Wim Taymans  <wim@fluendo.com>
15049
15050         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
15051         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
15052         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15053         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15054         (gst_bin_change_state), (gst_bin_dispose):
15055         Some documentation updates.
15056         Clean up dispose handlers.
15057
15058         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
15059         * gst/gstpad.c: (gst_pad_dispose):
15060         Clean up dispose handler.
15061
15062         * gst/gstpipeline.c: (gst_pipeline_change_state):
15063         Removed spurious UNLOCK.
15064
15065 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
15066
15067         * docs/gst/gstreamer-sections.txt:
15068         * gst/base/gstbasesrc.h:
15069         * gst/gstelement.h:
15070         * gst/gstevent.h:
15071         * gst/gstobject.h:
15072         * gst/gstpad.h:
15073         * gst/gstpipeline.c:
15074         * gst/gstpipeline.h:
15075         * gst/gstutils.h:
15076         * gst/gstxml.h:
15077           added two new functions to the docs
15078                 documents all undocumented GstXXXFlags
15079                 completed some incomplete docs 
15080
15081 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
15082
15083         * gst/gstbin.c: (gst_bin_dispose):
15084         * gst/gstelement.c: (gst_element_dispose):
15085           remove now useless and leaky resurrection code in dispose
15086         * gst/base/gstbasesrc.c: (gst_base_src_init):
15087         * gst/gstelementfactory.c: (gst_element_factory_create):
15088         * gst/gstobject.c: (gst_object_set_parent):
15089           add some debugging
15090
15091 2005-09-27  Wim Taymans  <wim@fluendo.com>
15092
15093         * docs/design/part-TODO.txt:
15094         Update TODO.
15095
15096         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
15097         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
15098         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15099         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15100         (gst_bin_change_state):
15101         * gst/gstelement.h:
15102         Remove element variable, we keep element info in the iterator now.
15103
15104 2005-09-27  Andy Wingo  <wingo@pobox.com>
15105
15106         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
15107         values.
15108
15109 2005-09-27  Wim Taymans  <wim@fluendo.com>
15110
15111         * check/gst/gstbin.c: (GST_START_TEST):
15112         Enable check that works now.
15113
15114         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
15115         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
15116         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15117         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15118         (gst_bin_change_state):
15119         * gst/gstbin.h:
15120         Redid the state change algorithm using a topological sort algo.
15121         Handles all cases correctly.
15122         Exposed iterator for state change order.
15123
15124         * gst/gstelement.h:
15125         Temp storage for state changes. Need to get rid of this soon.
15126
15127 2005-09-27  Wim Taymans  <wim@fluendo.com>
15128
15129         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
15130         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
15131         (link_fold_func), (gst_pad_proxy_setcaps):
15132         Leak fixes, the fold functions need to unref the passed object and
15133         _get_parent_*() returns ref to parent.
15134
15135 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
15136
15137         * check/gst/gstbuffer.c: (test_make_writable):
15138           Plug leak in test case and fix 'make check-valgrind'
15139
15140 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
15141
15142         * gst/gstbuffer.c: (gst_subbuffer_init):
15143           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
15144           works correctly in all circumstances (we could have just copied
15145           the parent buffer's readonly flag, but conceptually it seems
15146           cleaner to mark all subbuffers as read-only). (based on patch
15147           by Alessandro Decina, #314710).
15148         
15149         * check/gst/gstbuffer.c: (create_read_only_buffer),
15150         (test_make_writable), (test_subbuffer_make_writable),
15151         (gst_test_suite):
15152           Add some tests for gst_buffer_make_writable().
15153
15154 2005-09-27  Wim Taymans  <wim@fluendo.com>
15155
15156         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
15157         use gst_object_has_ancestor().
15158
15159         * gst/gstobject.c: (gst_object_has_ancestor):
15160         * gst/gstobject.h:
15161         gst_object_has_ancestor() copied from gstbin.c as it is a
15162         useful function.
15163
15164         * tests/instantiate/create.c: (create_all_elements):
15165         * tests/lat.c: (handoff_src), (handoff_sink):
15166         * tests/sched/runxml.c: (main):
15167         * tests/seeking/seeking1.c: (main):
15168         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
15169         (main):
15170         Fix compilation of some tests.
15171
15172 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
15173
15174         * gst/gsterror.h:
15175           Remove comment. GST_TYPE_G_ERROR is here to stay,
15176           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
15177           (#316961, #300610).
15178
15179 2005-09-26  Wim Taymans  <wim@fluendo.com>
15180
15181         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
15182         Added check that shows error in state change order.
15183
15184 2005-09-26  Wim Taymans  <wim@fluendo.com>
15185
15186         * gst/gstbin.c: (gst_bin_change_state):
15187         Make state change function use 3 queues again, we were
15188         adding elements in the wrong order.
15189
15190         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
15191         Some debug info,
15192
15193         * gst/gstpad.c: (gst_pad_dispose):
15194         Added some debug info first.
15195
15196 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
15197
15198         * docs/design/draft-push-pull.txt:
15199         * docs/design/part-events.txt:
15200         * docs/design/part-overview.txt:
15201         * docs/design/part-scheduling.txt:
15202           Replace all _pull_region() with _pull_range()
15203           
15204 2005-09-26  Andy Wingo  <wingo@pobox.com>
15205
15206         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
15207
15208         * check/gst-libs/controller.c: Update for controller api change.
15209
15210         * configure.ac: 
15211         * tests/Makefile.am:
15212         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
15213         over by GLib bug 118439.
15214         
15215         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
15216         routines to a function.
15217
15218         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
15219
15220         * libs/gst/controller/gsthelper.c:
15221         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
15222         (gst_object_sync_values): Renamed from sink_values. Ugh.
15223
15224         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
15225
15226         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
15227         Renamed from controller_key, as it is exported.
15228
15229         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
15230
15231 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
15232
15233         * gst/Makefile.am:
15234         * gst/gst.h:
15235         * gst/gstpad.h:
15236         * gst/gstpadtemplate.h:
15237         * gst/gstquery.c:
15238         * gst/gstquery.h:
15239         * gst/gstqueryutils.c:
15240         * gst/gstqueryutils.h:
15241           remove queryutils headers after moving the two used functions
15242           to gstquery.  also fixes build problem for gstsiddec
15243
15244 2005-09-26  Michael Smith <msmith@fluendo.com>
15245
15246         * tools/gst-launch.1.in:
15247         Correct documentation in manpage of debug syntax
15248
15249 2005-09-26  Wim Taymans  <wim@fluendo.com>
15250
15251         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
15252         (gst_base_src_is_seekable), (gst_base_src_change_state):
15253         Some more debugging info.
15254
15255 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
15256
15257         * docs/gst/gstreamer-sections.txt:
15258         * gst/base/gstbasetransform.h:
15259         * gst/gstindex.h:
15260           added more docs
15261
15262 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
15263
15264         * docs/gst/.cvsignore:
15265         * docs/gst/tmpl/.cvsignore:
15266         * docs/gst/tmpl/gstpipeline.sgml:
15267         * docs/gst/tmpl/gstplugin.sgml:
15268         * gst/gstpipeline.c:
15269         * gst/gstplugin.c:
15270         * gst/gstplugin.h:
15271           inlined the last two docs files
15272           removed the tmpl directory from cvs (no more conflicts here!)
15273
15274 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
15275
15276         * docs/gst/gstreamer-sections.txt:
15277         * docs/gst/tmpl/.cvsignore:
15278         * docs/gst/tmpl/gstpad.sgml:
15279         * docs/gst/tmpl/gstpadtemplate.sgml:
15280         * gst/Makefile.am:
15281         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
15282         (gst_pad_finalize), (gst_pad_set_pad_template):
15283         * gst/gstpad.h:
15284         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
15285         (gst_pad_template_class_init), (gst_pad_template_init),
15286         (gst_pad_template_dispose), (name_is_valid),
15287         (gst_static_pad_template_get), (gst_pad_template_new),
15288         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
15289         (gst_pad_template_pad_created):
15290         * gst/gstpadtemplate.h:
15291           inlined two more docs
15292           factored gstpadtemplate out of gstpad
15293
15294 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
15295
15296         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
15297         (test_children_state_change_order_semi_sink):
15298           Fix test case: we can't rely on a fixed state change order when
15299           going from READY => PAUSED because the sink might commit its 
15300           new state first when the first buffer created by the source 
15301           reaches the sink before the source has finished its change state.
15302           (Test case still fails at times, see #316856, comment 5 onwards)
15303
15304 2005-09-24  Wim Taymans  <wim@fluendo.com>
15305
15306         * docs/design/part-events.txt:
15307         * docs/design/part-gstbus.txt:
15308         * docs/design/part-gstpipeline.txt:
15309         * docs/design/part-messages.txt:
15310         * docs/design/part-overview.txt:
15311         * docs/design/part-segments.txt:
15312         * gst/gstbin.c:
15313         * gst/gstbuffer.c:
15314         * gst/gstclock.c:
15315         * gst/gstelement.c:
15316         * gst/gstevent.c:
15317         * gst/gstfilter.c:
15318         * gst/gstiterator.c:
15319         Various documentation updates.
15320
15321 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
15322
15323         * gst/gstclock.h:
15324           Well, that's embarassing.  Luckily we weren't using
15325           GST_CLOCK_DIFF anywhere.
15326
15327 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15328
15329         * common/gtk-doc.mak:
15330           don't fail on building XML, FC4 slave shows a bunch of doc
15331           missing bits that I don't get
15332         * gst/gstpad.c:
15333         * gst/gstpipeline.c:
15334         * gst/gststructure.c:
15335           some doc updates
15336
15337 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
15338
15339         * docs/design/part-gstbin.txt:
15340         * docs/design/part-gstbus.txt:
15341         * gst/gstbus.c:
15342           Add blurb about how the bus goes into flushing mode and
15343           drops all messages when its bin goes from READY into NULL 
15344           state.
15345
15346 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15347
15348         * docs/gst/gstreamer-sections.txt:
15349         * gst/gststructure.c: (gst_structure_get_clock_time):
15350         * gst/gststructure.h:
15351           add a method to get a GstClockTime out of a structure
15352
15353 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
15354
15355         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
15356         (test_children_state_change_order_semi_sink), (gst_bin_suite):
15357           Added test to check state change order in bins (can still be made
15358           to fail here under heavy disk load; bails out with 'Push on pad
15359           fakesink:sink0, but it was not activated in push mode').
15360
15361         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
15362           Fix state change order when there is only a semi sink (#316856)
15363
15364         * gst/gstbus.c: (gst_bus_class_init):
15365           Use _class_peek_parent(), not _class_ref(); fix docs to say
15366           'default main context' instead of 'mainloop' where that is
15367           what's meant.
15368
15369         * gst/gstelement.c: (gst_element_commit_state),
15370         (gst_element_set_state):
15371           Fix typos in debug messages
15372
15373 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15374
15375         * docs/README:
15376         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
15377         * gst/gstpluginfeature.c:
15378         * gst/gstutils.c:
15379           various doc updates
15380         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15381           change an assert into an error until it gets fixed properly
15382
15383 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
15384
15385         * docs/gst/gstreamer-sections.txt:
15386         * docs/gst/tmpl/.cvsignore:
15387         * docs/gst/tmpl/gstelement.sgml:
15388         * docs/gst/tmpl/gstinfo.sgml:
15389         * docs/gst/tmpl/gstobject.sgml:
15390         * gst/gstelement.c:
15391         * gst/gstelement.h:
15392         * gst/gstinfo.c:
15393         * gst/gstinfo.h:
15394         * gst/gstobject.c: (gst_object_class_init):
15395         * gst/gstobject.h:
15396           inlined 3 more biiiig doc files and added some missing docs on the fly
15397
15398 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15399
15400         * check/gst/.cvsignore:
15401         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
15402         * gst/gstregistryxml.c: (load_plugin),
15403         (gst_registry_xml_save_plugin):
15404           put back source in registry.  add checks for find_plugin.
15405         * testsuite/states/bin.c: (assert_state), (empty_bin),
15406         (test_adding_one_element), (main):
15407         * testsuite/states/locked.c: (main):
15408           some compile/run fixes
15409
15410 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15411
15412         * check/gst/gstvalue.c: (GST_START_TEST):
15413           fix leaks in the test itself
15414
15415 2005-09-22  Wim Taymans  <wim@fluendo.com>
15416
15417         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
15418         (gst_base_sink_send_event), (gst_base_sink_peer_query),
15419         (gst_base_sink_query):
15420         Prepare for more accurate position reporting and query
15421         handling.
15422
15423         * gst/gstelement.c: (gst_element_send_event),
15424         (gst_element_set_state):
15425         Add some comment.
15426
15427 2005-09-22  Wim Taymans  <wim@fluendo.com>
15428
15429         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
15430         (gst_query_parse_segment):
15431         * gst/gstquery.h:
15432         More documentation.
15433         Add segment query for future use.
15434
15435 2005-09-22  Wim Taymans  <wim@fluendo.com>
15436
15437         * gst/gstbin.c: (gst_bin_add_func):
15438         Some more debug info.
15439
15440         * gst/gstelement.c: (gst_element_send_event):
15441         Simplify send_event
15442
15443         * gst/gstelement.h:
15444         Don't know how flags got broken.
15445
15446         * gst/gstquery.h:
15447         Added new query.
15448
15449 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
15450
15451         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
15452           Add simplistic test suite for GST_TYPE_DATE serialisation and
15453           deserialisation.
15454
15455 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
15456
15457         * docs/gst/gstreamer-sections.txt:
15458         * gst/gststructure.c: (gst_structure_set_valist),
15459         (gst_structure_get_date):
15460         * gst/gststructure.h:
15461         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
15462         (gst_date_copy), (gst_value_compare_date),
15463         (gst_value_serialize_date), (gst_value_deserialize_date),
15464         (gst_value_transform_date_string),
15465         (gst_value_transform_string_date), (_gst_value_initialize):
15466         * gst/gstvalue.h:
15467           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
15468           bunch of utility functions along with a hack that checks that
15469           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
15470           is required. Part of the grand scheme in #170777.
15471
15472 2005-09-22  Andy Wingo  <wingo@pobox.com>
15473
15474         * gst/gstconfig.h.in: Psych out gtk-doc.
15475
15476         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
15477
15478         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
15479
15480         * tools/gst-inspect.c (print_element_list): Plug some
15481         inconsequential leaks.
15482
15483         * gst/gstregistry.c (gst_registry_get_default): Doc.
15484
15485         * check/gst/gstplugin.c: 
15486         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
15487         * gst/gstelementfactory.c (gst_element_factory_create): 
15488         * gst/gstindexfactory.c (gst_index_factory_create): Update for
15489         refcount changes.
15490
15491         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
15492         (gst_plugin_feature_load): Doc, don't eat refs.
15493
15494         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
15495         (gst_plugin_list_free): Doc.
15496         (gst_plugin_load_file): Doc updates.
15497
15498         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
15499         accessors returning refcounted objects, return a ref.
15500
15501         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
15502         accessor for caps. IDEMPOTENCE. Oh yes.
15503
15504 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
15505
15506         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
15507
15508         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
15509         (_gst_debug_register_funcptr):
15510           Add mutex to serialise access to the hash table with
15511           the function pointer => function name string mapping;
15512           make that hash table static scope (#316809).
15513
15514         * gst/registries/.cvsignore:
15515           Remove left-over file.
15516
15517 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
15518
15519         * docs/pwg/appendix-porting.xml:
15520           And something about newsegment events and caps-on-buffers to
15521           the porting guide (feel free to improve).
15522
15523 2005-09-21  Andy Wingo  <wingo@pobox.com>
15524
15525         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
15526         data and event probes on the same pad.
15527         (test_buffer_probe_once): Test that removing probes from within
15528         the probe functions works.
15529
15530 2005-09-21  Andy Wingo  <wingo@pobox.com>
15531
15532         * check/gst/gstutils.c: New file.
15533         (test_buffer_probe_n_times): A simple buffer probe test. More to
15534         come, foolios.
15535
15536         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
15537         have-data::buffer, not have-data.
15538         (gst_pad_add_event_probe): Likewise for have-data::event.
15539         (gst_pad_add_data_probe): More docs. The part about 'resolving the
15540         peer' isn't quite right yet though.
15541         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
15542         (gst_pad_remove_data_probe): Change to take the guint handler_id
15543         as their arg, not the function+data, which is more glib-like.
15544
15545         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
15546         the signal emission to indicate if the data is a buffer or an
15547         event.
15548         (gst_pad_get_type): Initialize buffer and event quarks.
15549         (gst_pad_class_init): have-data is now a detailed signal, yes it
15550         is.
15551
15552 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
15553
15554         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
15555         * gst/gstutils.c: (gst_util_set_value_from_string),
15556         (gst_util_set_object_arg):
15557           Don't put functional code in g_return_if_fail() or
15558           g_return_val_if_fail() statements, otherwise things will 
15559           break when G_DISABLE_CHECKS is defined during compilation.
15560
15561 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
15562
15563         * docs/gst/tmpl/.cvsignore:
15564         * docs/gst/tmpl/gstvalue.sgml:
15565         * gst/gstvalue.c:
15566         * gst/gstvalue.h:
15567           inlied another one and added  some obvious docs
15568
15569 2005-09-21  Wim Taymans  <wim@fluendo.com>
15570
15571         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
15572         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
15573         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
15574         (gst_fdsrc_get_property), (gst_fdsrc_create):
15575         * gst/elements/gstfdsrc.h:
15576         Properly implement fdsrc. Removed signal and timeout,
15577         better implemented somewhere else.
15578
15579 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
15580
15581         * docs/gst/tmpl/.cvsignore:
15582         * docs/gst/tmpl/gstimplementsinterface.sgml:
15583         * gst/gstinterface.c:
15584           inlined more docs
15585
15586 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
15587
15588         * docs/gst/gstreamer-sections.txt:
15589         * docs/gst/tmpl/.cvsignore:
15590         * docs/gst/tmpl/gstenumtypes.sgml:
15591           remove obsolete doc file
15592
15593 2005-09-21  David Schleef  <ds@schleef.org>
15594
15595         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
15596         little beer, fix a little leak.
15597
15598 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
15599
15600         * docs/gst/gstreamer-docs.sgml:
15601         * docs/gst/gstreamer-sections.txt:
15602         * docs/gst/tmpl/.cvsignore:
15603         * gst/Makefile.am:
15604         * gst/gst.h:
15605         * gst/gstbin.c:
15606         * gst/gstelement.h:
15607         * gst/gstindex.c: (gst_index_class_init):
15608         * gst/gstindex.h:
15609         * gst/gstindexfactory.c: (gst_index_factory_get_type),
15610         (gst_index_factory_class_init), (gst_index_factory_init),
15611         (gst_index_factory_finalize), (gst_index_factory_new),
15612         (gst_index_factory_destroy), (gst_index_factory_find),
15613         (gst_index_factory_create), (gst_index_factory_make):
15614         * gst/gstindexfactory.h:
15615         * gst/gstpluginfeature.c:
15616         * gst/gstpluginfeature.h:
15617         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
15618           more docs inlined, splitted gstindex.{c,h}
15619
15620 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
15621
15622         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
15623           fix a leak
15624
15625 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
15626
15627         * gst/elements/gstfilesink.c: (gst_file_sink_init):
15628           Set sync to FALSE by default.
15629
15630 2005-09-20  Wim Taymans  <wim@fluendo.com>
15631
15632         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
15633         (gst_base_sink_init):
15634         Make sync property settable from subclass.
15635
15636         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
15637         (gst_fake_sink_change_state):
15638         Set sync to FALSE by default.
15639
15640 2005-09-20  Wim Taymans  <wim@fluendo.com>
15641
15642         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
15643         * tools/gst-launch.c: (main):
15644         The timeout handler should have lower priority than the source
15645         so we don't timeout before popping a message with 0 timeout.
15646         Dump error messages after failed state change.
15647
15648 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
15649
15650         * tools/gst-inspect.c: (print_element_properties_info):
15651           Fix two typos.
15652
15653 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
15654
15655         * check/gst/gstevent.c:
15656         * gst/elements/gstfakesink.c:
15657         * gst/elements/gstfakesink.h:
15658           remove the sync property from fakesink.
15659           has the side effect of setting sync TRUE
15660           for fakesink, which is a change.  Anyone who knows how
15661           to fix this nicely in a GObject-y way, feel free.
15662
15663 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
15664
15665         * docs/gst/gstreamer-docs.sgml:
15666           remove probe refsection
15667
15668 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
15669
15670         * check/Makefile.am:
15671           disable valgrinding the controller test again
15672         * docs/gst/gstreamer-sections.txt:
15673           update for api-changes
15674
15675 2005-09-20  Wim Taymans  <wim@fluendo.com>
15676
15677         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
15678         (gst_base_sink_set_property), (gst_base_sink_get_property),
15679         (gst_base_sink_do_sync):
15680         * gst/base/gstbasesink.h:
15681         Added sync property to basesink to disable clock sync.
15682
15683 2005-09-20  Andy Wingo  <wingo@pobox.com>
15684
15685         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
15686         eating the caller's refcount.
15687
15688         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
15689         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
15690         refcount.
15691
15692         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
15693         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
15694         of GLib 2.8 public, so we can know which refcount to check in
15695         tests.
15696
15697         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
15698         (gst_object_init): Only set the gst refcount if we're going ahead
15699         with the refcount hack.
15700
15701 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
15702
15703         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
15704         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
15705           more leaks plumbed, added more debug-logging
15706         * gst/gstmacros.h:
15707           whitespace fix
15708
15709 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
15710
15711         * gst/gstmessage.c:
15712           remove include of gstmemchunk.h
15713
15714 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
15715
15716         * gst/gstclock.c: (_gst_clock_id_free):
15717           Commit from the Political Party For More Atomic CVS Commits,
15718           so that people don't waste too much of their day fishing
15719           out obvious leaks out of massive commits.
15720           Oh, and fix a pretty damn obvious leak in the memchunk
15721           removal code.
15722
15723 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
15724
15725         * check/Makefile.am:
15726         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
15727           plug mem-leak, re-add to valgrindable tests
15728
15729 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
15730
15731         * gst/gstplugin.h:
15732           unbreak the build for those who have chronic arthritis
15733           and typing "make check" is just too taxing on the hands
15734
15735 2005-09-20  Andy Wingo  <wingo@pobox.com>
15736
15737         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
15738         really want it out, you should fix plugins at the same time.
15739
15740 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
15741
15742         * configure.ac:
15743         * docs/gst/gstreamer-sections.txt:
15744         * gst/gstobject.c:
15745           added missing symbols to api docs
15746           disable ref-count hack if we have glib >= 2.8
15747
15748 2005-09-19  David Schleef  <ds@schleef.org>
15749
15750         * docs/gst/Makefile.am: Ignore a few more internal headers
15751         * docs/gst/gstreamer-docs.sgml: Remove old sections
15752         * docs/gst/gstreamer-sections.txt: Remove old sections
15753         * docs/gst/tmpl/gstobject.sgml: update
15754         * docs/gst/tmpl/gstplugin.sgml: update
15755         * docs/gst/tmpl/gstpluginfeature.sgml: update
15756         * docs/random/ds/0.9-suggested-changes: update.
15757         * gst/Makefile.am: remove memchunk and trashstack, since they're
15758           not used.
15759         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
15760         * gst/gst.h: don't include some headers
15761         * gst/gstchildproxy.c: add gstmarshal.h
15762         * gst/gstclock.c: Don't use memchunks
15763         * gst/gstminiobject.c: Add some docs
15764         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
15765         * gst/gstobject.h: same
15766         * gst/gstplugin.c: include gstmacros.h
15767         * gst/gstplugin.h: don't include gstmacros.h, since it's private
15768         * gst/gstquery.c: don't use memchunks
15769         * gst/gstregistry.c: rename gst_registry_deinit()
15770         * gst/gstregistry.h: same
15771
15772 2005-09-19  David Schleef  <ds@schleef.org>
15773
15774         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
15775         * docs/libs/gstreamer-libs-sections.txt:
15776         * docs/libs/tmpl/gstgetbits.sgml:
15777         * docs/libs/tmpl/gstputbits.sgml:
15778
15779 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
15780
15781         * win32/gstenumtypes.c:
15782         * win32/gstenumtypes.h:
15783           Update.
15784
15785 2005-09-19  Wim Taymans  <wim@fluendo.com>
15786
15787         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
15788         Automatically PAUSE and RESUME a pipeline when a flushing seek
15789         is performed.
15790
15791 2005-09-19  Andy Wingo  <wingo@pobox.com>
15792
15793         * gst/gstregistry.h: Spacing fixen.
15794
15795 2005-09-19  Wim Taymans  <wim@fluendo.com>
15796
15797         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
15798         Handle state change failure more correctly.
15799
15800 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15801
15802         * check/Makefile.am:
15803         * check/pipelines/cleanup.c: (run_pipeline):
15804         * check/pipelines/simple_launch_lines.c: (run_pipeline),
15805         (GST_START_TEST):
15806           enable cleanup again after fixing the leak
15807         * docs/README:
15808           some more info on docs
15809
15810 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15811
15812         * check/Makefile.am:
15813           re-enable tests now that leaks are plugged
15814         * check/gst/gst.c:
15815         * check/gst/gstbin.c:
15816         * check/gst/gstpipeline.c:
15817           add some more tests while fixing leaks
15818         * common/check.mak:
15819           make sure binaries are uptodate when valgrinding/gdbing
15820         * gst/gst.c:
15821         * gst/gstelementfactory.c:
15822           remove a ref too many, and add a FIXME for when we get
15823           round to disposing of classes
15824         * gst/gstplugin.c:
15825           fix the refcounting when loading a plugin from a file and
15826           the code pretends that the pointer is the same even though
15827           of course it can change
15828         * gst/gstpluginfeature.c:
15829           unref plugins marked cached (a bit confusing as a name)
15830           as the docs state should be done
15831           various doc additions to explain refcounting
15832         * gst/gstregistry.c:
15833         * gst/gstregistryxml.c:
15834           debugging
15835
15836 2005-09-19  Wim Taymans  <wim@fluendo.com>
15837
15838         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
15839         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
15840         (send_messages), (GST_START_TEST), (gstbus_suite):
15841         * check/gst/gstpipeline.c: (GST_START_TEST):
15842         * check/pipelines/cleanup.c: (run_pipeline):
15843         * check/pipelines/simple_launch_lines.c: (run_pipeline),
15844         (GST_START_TEST):
15845         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
15846         (gst_bus_source_check), (gst_bus_source_dispatch),
15847         (gst_bus_create_watch), (gst_bus_add_watch_full),
15848         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
15849         * gst/gstbus.h:
15850         * tools/gst-launch.c: (event_loop):
15851         * tools/gst-md5sum.c: (event_loop):
15852         GstBusHandler -> GstBusFunc, return value has the same meaning as
15853         any other GSource (FALSE == remove source).
15854         _add_watch() and _add_watch_full() now take a MessageType mask to
15855         only handle specific types of messages.
15856         _poll() returns the GstMessage instead of the message type to avoid
15857         race conditions.
15858         _have_pending() takes a MessageType mask now too.
15859         Added testsuite for multiple bus watches.
15860         Fix testsuites and applications for new bus API.
15861
15862 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15863
15864         * check/Makefile.am:
15865           mark a bunch of the tests as to fix until we fix them
15866
15867 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
15868
15869         * common/check.mak:
15870           use GST_PLUGIN settings for valgrind tests as well, so we're
15871           valgrinding the correct thing
15872         * gst/gst.c: (init_post):
15873           plug another leak
15874
15875 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
15876
15877         * gst/gst.c: (init_post), (gst_deinit):
15878         * gst/gstelementfactory.c: (gst_element_factory_class_init),
15879         (gst_element_factory_finalize), (gst_element_factory_cleanup):
15880         * gst/gstindex.c: (gst_index_factory_class_init),
15881         (gst_index_factory_finalize):
15882         * gst/gstobject.c: (gst_object_dispose):
15883         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
15884         (gst_plugin_load_file), (gst_plugin_desc_free):
15885         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
15886         (gst_plugin_feature_finalize):
15887         * gst/gstregistry.c: (gst_registry_class_init),
15888         (gst_registry_init), (gst_registry_finalize),
15889         (gst_registry_get_default), (gst_registry_deinit):
15890         * gst/gstregistry.h:
15891         * gst/gstregistryxml.c: (load_feature), (load_plugin):
15892           various cleanups and memleak plugging.  make valgrind is happy now.
15893
15894 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
15895
15896         * common/check.mak:
15897           add a check-valgrind target
15898
15899 2005-09-18  David Schleef  <ds@schleef.org>
15900
15901         * tools/gst-inspect.c: Revert the GOption code.
15902
15903 2005-09-17  David Schleef  <ds@schleef.org>
15904
15905         * check/Makefile.am: Fix environment variables.
15906         * check/gst/gstplugin.c: Fix for API changes.
15907         * tools/gst-inspect.c: Fix for API changes.
15908         * tools/gst-xmlinspect.c: Fix for API changes.
15909         * gst/gstelementfactory.c:
15910         * gst/gstplugin.c:
15911         * gst/gstplugin.h:
15912         * gst/gstpluginfeature.c:
15913         * gst/gstpluginfeature.h:
15914         * gst/gstregistry.c:
15915         * gst/gstregistry.h:
15916         * gst/gstregistryxml.c:
15917         * gst/gsttypefind.c:
15918         * gst/gsttypefindfactory.c:
15919         * gst/indexers/gstfileindex.c:
15920         * gst/indexers/gstmemindex.c:
15921         * gst/schedulers/Makefile.am:
15922           Change registry to keep track of both plugins and features,
15923           removing the feature tracking from plugins themselves.
15924
15925 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15926
15927         * check/Makefile.am:
15928         * tools/gst-register.1.in:
15929           remove gst-register
15930
15931 2005-09-15  David Schleef  <ds@schleef.org>
15932
15933         * check/gst/gstplugin.c:
15934         * gst/gstelementfactory.c:
15935         * gst/gstplugin.c:
15936         * gst/gstpluginfeature.c:
15937         * gst/gstregistry.c:
15938           Getting tired of debugging.  Disabled all the unreffing of
15939           plugins and features, which fixes the segfaults, but of
15940           course leaks like crazy.  At least playbin works.
15941
15942 2005-09-15  David Schleef  <ds@schleef.org>
15943
15944         * check/gst/gstplugin.c: (register_check_elements),
15945         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
15946         More testing
15947         * gst/elements/gsttypefindelement.c: Fix refcounting.
15948         * gst/gsttypefind.c:
15949         * gst/gsttypefindfactory.c:
15950         * gst/gsttypefindfactory.h:
15951
15952 2005-09-15  David Schleef  <ds@schleef.org>
15953
15954         * gst/gstindex.c: get refcounting correct.
15955         * gst/gstregistry.c: Handle the case where a feature/plugin is
15956           not found.
15957
15958 2005-09-15  David Schleef  <ds@schleef.org>
15959
15960         * check/Makefile.am:
15961         * check/gst/gstplugin.c: Add test
15962         * gst/gstplugin.c: Fix problems noticed by testsuite
15963         * gst/gstplugin.h:
15964         * gst/gstregistry.c: 
15965         * gst/gstregistry.h:
15966
15967 2005-09-15  David Schleef  <ds@schleef.org>
15968
15969         * gst/gstplugin.c: Implement semi-decent recounting and locking
15970           in plugins and plugin features.
15971         * gst/gstplugin.h:
15972         * gst/gstpluginfeature.c:
15973         * gst/gstpluginfeature.h:
15974         * gst/gstregistry.c:
15975
15976 2005-09-15  Michael Smith <msmith@fluendo.com>
15977
15978         * gst/gstregistry.c: (gst_registry_get_feature_list):
15979           Implement this. Makes oggdemux work; decodebin still broken.
15980
15981 2005-09-14  David Schleef  <ds@schleef.org>
15982
15983         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
15984           #316076)
15985         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
15986         * gst/check/Makefile.am:
15987         * libs/gst/controller/Makefile.am:
15988         * libs/gst/dataprotocol/Makefile.am:
15989
15990 2005-09-14  David Schleef  <ds@schleef.org>
15991
15992         * configure.ac: Remove getbits library.  Nothing uses it, and
15993           it should be in something like liboil if someone did want
15994           to use it.
15995         * libs/gst/Makefile.am:
15996         * libs/gst/getbits/Makefile.am:
15997         * libs/gst/getbits/gbtest.c:
15998         * libs/gst/getbits/getbits.c:
15999         * libs/gst/getbits/getbits.h:
16000         * libs/gst/getbits/gstgetbits_generic.c:
16001         * libs/gst/getbits/gstgetbits_i386.s:
16002         * libs/gst/getbits/gstgetbits_inl.h:
16003
16004 2005-09-14  David Schleef  <ds@schleef.org>
16005
16006         * gst/Makefile.am: Dist glib-compat.h
16007
16008 2005-09-14  David Schleef  <ds@schleef.org>
16009
16010         * configure.ac: Remove gst/registries, since it's no longer used.
16011         * gst/registries/Makefile.am:
16012         * gst/registries/gstlibxmlregistry.c:
16013         * gst/registries/gstlibxmlregistry.h:
16014         * gst/registries/gstxmlregistry.c:
16015         * gst/registries/gstxmlregistry.h:
16016         * gst/registries/registrytest.c:
16017
16018 2005-09-14  David Schleef  <ds@schleef.org>
16019
16020         * gst/glib-compat.h:
16021         * gst/gstregistryxml.c:
16022           Convergence is near.  Seriously.
16023
16024 2005-09-14  David Schleef  <ds@schleef.org>
16025
16026         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
16027         * gst/glib-compat.h:
16028           Attempt #4 to appease the buildbots.
16029
16030 2005-09-14  David Schleef  <ds@schleef.org>
16031
16032         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
16033           Attempt #3.
16034
16035 2005-09-14  David Schleef  <ds@schleef.org>
16036
16037         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
16038         Attempt #2.
16039
16040 2005-09-14  David Schleef  <ds@schleef.org>
16041
16042         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
16043           the new functions.
16044
16045 2005-09-14  David Schleef  <ds@schleef.org>
16046
16047         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
16048         * gst/glib-compat.h: Add some functions that are in newer versions
16049           of glib than we care to require.
16050         * gst/gstregistryxml.c: Use them.
16051
16052 2005-09-14  David Schleef  <ds@schleef.org>
16053
16054         * po/POTFILES.in: remove gst-register.c
16055
16056 2005-09-14  David Schleef  <ds@schleef.org>
16057
16058         * docs/gst/gstreamer-docs.sgml:
16059         * docs/gst/gstreamer-sections.txt:
16060         * docs/gst/gstreamer.types:
16061         * docs/gst/tmpl/gstelement.sgml:
16062         * docs/gst/tmpl/gstplugin.sgml:
16063         * docs/gst/tmpl/gstpluginfeature.sgml:
16064           Documentation updates for registry changes.
16065
16066 2005-09-14  David Schleef  <ds@schleef.org>
16067
16068         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
16069           because we don't require glib-2.8.
16070
16071 2005-09-14  David Schleef  <ds@schleef.org>
16072
16073         * gst/gstregistryxml.c: Added.  Essentially moved out of the
16074           registries directory.
16075
16076 2005-09-14  David Schleef  <ds@schleef.org>
16077
16078         * check/Makefile.am:
16079         * check/generic/states.c:
16080         * gst/Makefile.am:
16081         * gst/gst.c:
16082         * gst/gst.h:
16083         * gst/gst_private.h:
16084         * gst/gstelementfactory.c:
16085         * gst/gstindex.c:
16086         * gst/gstinfo.c:
16087         * gst/gstplugin.c:
16088         * gst/gstplugin.h:
16089         * gst/gstpluginfeature.c:
16090         * gst/gstpluginfeature.h:
16091         * gst/gstregistry.c:
16092         * gst/gstregistry.h:
16093         * gst/gstregistrypool.c: remove
16094         * gst/gstregistrypool.h: remove
16095         * gst/gsttypefind.c:
16096         * gst/gsttypefindfactory.c:
16097         * gst/gsturi.c:
16098         * tools/Makefile.am:
16099         * tools/gst-compprep.c:
16100         * tools/gst-inspect.c:
16101         * tools/gst-register.c: remove
16102         * tools/gst-xmlinspect.c:
16103           Registry rewrite.  Changes registry from being a file created
16104           by a tool into a simple cache file created automatically by 
16105           libgstreamer.  Removed gst-register (because it's no longer
16106           needed).  Remove registry pools, because we only have one
16107           registry implementation (XML).  Fix up other subsystems as
16108           necessary.
16109
16110 2005-09-13  Michael Smith <msmith@fluendo.com>
16111
16112         * gst/gstconfig.h.in:
16113           Don't Use windows linking attributes for MinGW. Fixes #316157
16114
16115 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
16116
16117         * gst/gstutils.c: (set_state_async_thread_func),
16118         (gst_element_set_state_async):
16119           Apparently people think it's better if this function doesn't
16120           try to set the state to whatever state was asked for on the first
16121           call to this function for any object.  Seriously.
16122
16123 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16124
16125         * check/gst/gstpipeline.c: (GST_START_TEST):
16126         * docs/gst/gstreamer-sections.txt:
16127         * gst/gstutils.c: (set_state_async_thread_func),
16128         (gst_element_set_state_async):
16129         * gst/gstutils.h:
16130           add a "gst_element_set_state_async" method that
16131           sets the state and starts a thread to make sure the state
16132           change completes as best as it can
16133
16134 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16135
16136         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
16137           codify design+behaviour in testsuite after discussion
16138
16139 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16140
16141         * docs/gst/tmpl/gstelement.sgml:
16142         * docs/manual/appendix-quotes.xml:
16143           add a quote
16144         * gst/gstelement.c: (gst_element_set_state):
16145           add some debug
16146
16147 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
16148
16149         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
16150         (gst_base_transform_prepare_output_buf),
16151         (gst_base_transform_handle_buffer):
16152         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
16153         (gst_capsfilter_prepare_buf):
16154           Remove the requirement for sub-classes to call the parent
16155           implementation of prepare_output_buffer with a wrapper function.
16156           
16157         * gst/gsttaglist.h:
16158         * gst/gsttagsetter.h:
16159           Fix #define wrapper
16160
16161 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
16162
16163         * docs/gst/gstreamer-sections.txt:
16164           more doc cleanups
16165
16166 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16167
16168         * docs/gst/gstreamer-sections.txt:
16169         * docs/gst/tmpl/gstelement.sgml:
16170         * docs/gst/tmpl/gstplugin.sgml:
16171         * gst/gstminiobject.c:
16172         * gst/gstvalue.h:
16173           docs now stop throwing warnings
16174
16175 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16176
16177         * docs/gst/gstreamer-sections.txt:
16178         * docs/gst/gstreamer.types:
16179         * docs/gst/tmpl/gstpad.sgml:
16180         * docs/gst/tmpl/gsttypes.sgml:
16181         * gst/base/gstadapter.h:
16182         * gst/base/gstbasesink.h:
16183         * gst/base/gstbasesrc.h:
16184         * gst/gstbin.h:
16185         * gst/gstbuffer.h:
16186         * gst/gstbus.h:
16187         * gst/gstcaps.h:
16188         * gst/gstclock.h:
16189         * gst/gstelement.h:
16190         * gst/gstevent.h:
16191         * gst/gstmessage.h:
16192         * gst/gstpad.h:
16193         * gst/gststructure.c:
16194         * gst/registries/gstlibxmlregistry.h:
16195           various documentation fixes
16196
16197 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16198
16199         * docs/gst/gstreamer-sections.txt:
16200         * docs/gst/tmpl/gstvalue.sgml:
16201           rearrange gstvalue section
16202         * gst/gstutils.c: (gst_element_state_get_name):
16203           NONE -> VOID
16204         * gst/gstvalue.c: (_gst_value_initialize):
16205         * gst/gstvalue.h:
16206           doc updates
16207
16208 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
16209
16210         * check/gst-libs/controller.c:
16211           Header include fix.
16212         * gst/base/gstbasetransform.c:
16213         (gst_base_transform_default_prepare_buf),
16214         (gst_base_transform_handle_buffer):
16215         * gst/base/gstbasetransform.h:
16216           Some more basetransform changes and fixes to enable sub-classes
16217           that modify buffer metadata only.
16218         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
16219         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
16220         (gst_capsfilter_prepare_buf):
16221           If the output pad has fixed allowed caps and input buffers 
16222           don't have any, set the fixed caps on outgoing buffers.
16223
16224 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
16225         * check/elements/identity.c: (GST_START_TEST):
16226           Make the error a little clearer when the test fails because
16227           identity made a copy of the buffer.
16228         * docs/gst/gstreamer-sections.txt:
16229           New symbols in gstbasetransform.h
16230         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
16231         (gst_base_transform_init), (gst_base_transform_transform_size),
16232         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
16233         (gst_base_transform_default_prepare_buf),
16234         (gst_base_transform_get_unit_size),
16235         (gst_base_transform_buffer_alloc),
16236         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
16237         (gst_base_transform_change_state),
16238         (gst_base_transform_set_passthrough),
16239         (gst_base_transform_set_in_place),
16240         (gst_base_transform_is_in_place):
16241         * gst/base/gstbasetransform.h:
16242           Change BaseTransform to separate in_place operate from same_caps
16243           output. in_place implies that the element can perform the transform
16244           on incoming buffers in-place, even if the caps on the output are
16245           different.
16246           Sub-class elements can now implement special buffer allocation
16247           methods for outgoing buffers if they wish to.
16248           Big documentation addition.
16249         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
16250         * gst/elements/gstelements.c:
16251           Changes for basetransform modifications.
16252         * gst/elements/Makefile.am:
16253         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
16254           Compile fix. Extra debug output.
16255
16256 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16257
16258         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
16259         (gst_pad_suite):
16260           add tests for valid pad naming
16261         * gst/check/gstcheck.c: (gst_check_log_message_func),
16262         (gst_check_log_critical_func):
16263           add ASSERT_WARNING
16264           remove printing of code, it is fragile when the code contains
16265           % and the line number is enough info
16266         * gst/check/gstcheck.h:
16267         * gst/gstpad.c: (gst_pad_template_new):
16268           fix memleaks
16269
16270 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16271
16272         * configure.ac:
16273           say what CHECK flags we use
16274         * docs/libs/gstreamer-libs.types:
16275         * libs/gst/controller/Makefile.am:
16276         * libs/gst/controller/gst-controller.c:
16277         * libs/gst/controller/gst-controller.h:
16278         * libs/gst/controller/gst-helper.c:
16279         * libs/gst/controller/gst-interpolation.c:
16280         * libs/gst/controller/gstcontroller.c:
16281         * libs/gst/controller/gsthelper.c:
16282         * libs/gst/controller/gstinterpolation.c:
16283         * tools/gst-inspect.c: (print_plugin_info):
16284           we don't use dashes in header names
16285
16286 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16287
16288         * check/Makefile.am:
16289         * check/gst/.cvsignore:
16290         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
16291         (gst_pipeline_suite), (main):
16292           adding a test for pipelines and state changes
16293         * gst/gstutils.c: (get_state_func):
16294           add some debugging
16295         * gstreamer.spec.in:
16296           fix up spec file
16297
16298 2005-09-08  Michael Smith <msmith@fluendo.com>
16299
16300         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
16301         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
16302         (gst_file_src_is_seekable), (gst_file_src_get_size),
16303         (gst_file_src_start):
16304         * gst/elements/gstfilesrc.h:
16305           Various fixes for unseekable, unmmapable, and non-normal files, so
16306           that fallback to read() rather than mmap() works.
16307         * gst/gstevent.c: (gst_event_new_newsegment):
16308           Allow newsegment events with segment_start == segment_end, as will
16309           correctly happen if you use filesrc on a zero-size file, for
16310           example.
16311
16312 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
16313
16314         * gst/gstplugin.c: (gst_plugin_load_file):
16315           Call g_module_close when we don't load the module
16316
16317         * gst/registries/gstlibxmlregistry.c:
16318         (gst_xml_registry_get_property):
16319           Port leak fix from 0.8
16320
16321 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
16322
16323         * docs/gst/gstreamer-docs.sgml:
16324         * docs/gst/tmpl/.cvsignore:
16325         * docs/gst/tmpl/gsttrace.sgml:
16326         * docs/gst/tmpl/gsttrashstack.sgml:
16327         * gst/Makefile.am:
16328         * gst/gst.h:
16329         * gst/gstelement.h:
16330         * gst/gstevent.h:
16331         * gst/gstmessage.c:
16332         * gst/gstmessage.h:
16333         * gst/gsttag.c:
16334         * gst/gsttag.h:
16335         * gst/gsttaginterface.c:
16336         * gst/gsttaginterface.h:
16337         * gst/gsttaglist.c:
16338         * gst/gsttaglist.h:
16339         * gst/gsttagsetter.c:
16340         * gst/gsttagsetter.h:
16341         * gst/gsttrace.c:
16342         * gst/gsttrace.h:
16343         * gst/gsttrashstack.c:
16344           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
16345           inlined docs for gsttrace, gsttrashstack
16346
16347 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
16348
16349         * gst/Makefile.am:
16350         * gst/elements/gstbufferstore.h:
16351         * gst/elements/gsttypefindelement.c:
16352         * gst/elements/gsttypefindelement.h:
16353         * gst/gst.h:
16354         * gst/gsttypefind.c:
16355         * gst/gsttypefind.h:
16356         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
16357         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
16358         (gst_type_find_factory_dispose),
16359         (gst_type_find_factory_unload_thyself),
16360         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
16361         (gst_type_find_factory_get_caps),
16362         (gst_type_find_factory_get_extensions),
16363         (gst_type_find_factory_call_function):
16364         * gst/gsttypefindfactory.h:
16365         * gst/registries/gstlibxmlregistry.c:
16366         * gst/registries/gstxmlregistry.c:
16367           splitted gsttypefind into gsttypefind, gsttypefindfactory
16368
16369 2005-09-07  Andy Wingo  <wingo@pobox.com>
16370
16371         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
16372         condition whereby the pad's task function is entered before the
16373         pad_mode variable was set.
16374
16375 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
16376
16377         * gst/gstpad.c: (gst_pad_alloc_buffer):
16378           Catch misbehaving pad_alloc functions that don't
16379           set up caps and do it for them.
16380
16381 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
16382
16383         * check/pipelines/simple_launch_lines.c: (run_pipeline):
16384           test for pipe!=NULL
16385         * docs/gst/tmpl/.cvsignore:
16386         * docs/gst/tmpl/gstmemchunk.sgml:
16387         * docs/gst/tmpl/gstparse.sgml:
16388         * docs/gst/tmpl/gsttaglist.sgml:
16389         * docs/gst/tmpl/gsttagsetter.sgml:
16390         * docs/gst/tmpl/gsttypefind.sgml:
16391         * docs/gst/tmpl/gsttypefindfactory.sgml:
16392         * gst/gstmemchunk.c:
16393         * gst/gstparse.c:
16394         * gst/gsttag.c:
16395         * gst/gsttaginterface.c:
16396         * gst/gsttypefind.c:
16397         * gst/gsttypefind.h:
16398           inlined more docs
16399
16400 === release 0.9.2 ===
16401
16402 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
16403
16404         * NEWS:
16405         * RELEASE:
16406         * configure.ac:
16407           releasing 0.9.2, "South"
16408
16409 2005-09-05  Andy Wingo  <wingo@pobox.com>
16410
16411         * gst/registries/gstxmlregistry.h:
16412         * gst/registries/gstxmlregistry.c: Um... resurrect...
16413         
16414         * gst/registries/gstxmlregistry.h:
16415         * gst/registries/gstxmlregistry.c: and update to newer API.
16416         Incidentally they should be a bit faster now that they don't have
16417         to parse the caps.
16418         
16419 2005-09-05  Andy Wingo  <wingo@pobox.com>
16420
16421         * gst/registries/gstxmlregistry.h:
16422         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
16423         replaced by the libxml registry a while back
16424
16425 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
16426
16427         * docs/gst/tmpl/gstplugin.sgml:
16428         * gst/elements/gstelements.c:
16429         * gst/gst.c:
16430         * gst/gstplugin.c: (gst_plugin_register_func),
16431         (gst_plugin_desc_copy), (gst_plugin_desc_free),
16432         (gst_plugin_get_source):
16433         * gst/gstplugin.h:
16434         * gst/registries/gstlibxmlregistry.c: (load_plugin),
16435         (gst_xml_registry_save_plugin):
16436         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
16437         (gst_xml_registry_save_plugin):
16438         * tools/gst-inspect.c: (print_plugin_info):
16439           add a "source" plugin description field, to represent the source
16440           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
16441           will set it to PACKAGE, which is automake's idea of the name of
16442           the source project.
16443
16444 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
16445
16446         * Makefile.am:
16447         * autogen.sh:
16448         * configure.ac:
16449         * docs/Makefile.am:
16450         * docs/faq/Makefile.am:
16451         * docs/gst/tmpl/gstelement.sgml:
16452         * docs/gst/tmpl/gsttypes.sgml:
16453         * docs/htmlinstall.mak:
16454         * docs/manual/Makefile.am:
16455         * docs/pwg/Makefile.am:
16456           reorganize doc build a little
16457           split out docbook and gtk-doc stuff
16458           have two separate --enable's and enable them through autogen
16459           but disable by default in configure (to be similar to other
16460           projects)
16461         * gstreamer.spec.in:
16462           clean up docs install
16463         * po/af.po:
16464         * po/az.po:
16465         * po/ca.po:
16466         * po/cs.po:
16467         * po/de.po:
16468         * po/en_GB.po:
16469         * po/fr.po:
16470         * po/it.po:
16471         * po/nb.po:
16472         * po/nl.po:
16473         * po/ru.po:
16474         * po/sq.po:
16475         * po/sr.po:
16476         * po/sv.po:
16477         * po/tr.po:
16478         * po/uk.po:
16479         * po/vi.po:
16480           translation updates
16481
16482 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
16483
16484         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
16485           Add comment.
16486           
16487         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
16488         (gst_fake_sink_change_state):
16489           Make state change function thread-safe.
16490           
16491         * gst/gstpad.c: (gst_pad_alloc_buffer):
16492           Set offset on generic buffer allocated by fallback.
16493
16494 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
16495
16496         * docs/gst/gstreamer-sections.txt:
16497         * docs/gst/tmpl/gstelement.sgml:
16498         * gst/gstpad.c:
16499         * libs/gst/controller/gst-controller.c:
16500         (gst_controlled_property_set_interpolation_mode),
16501         (gst_controlled_property_new),
16502         (gst_controller_find_controlled_property):
16503          run the wingo-magic script against the docs
16504
16505 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
16506
16507         * docs/gst/gstreamer-docs.sgml:
16508         * docs/gst/gstreamer-sections.txt:
16509         * docs/gst/tmpl/.cvsignore:
16510         * docs/gst/tmpl/gstelementdetails.sgml:
16511         * docs/gst/tmpl/gstelementfactory.sgml:
16512         * gst/gst.c:
16513         * gst/gstbus.c:
16514         * gst/gstelementfactory.c:
16515         * gst/gstelementfactory.h:
16516           merged elementdetails docs into elementfactory docs
16517           inlined both
16518
16519 2005-09-02  Andy Wingo  <wingo@pobox.com>
16520
16521         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
16522         consider this enum an enum and not a flags.
16523
16524 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
16525
16526         * docs/gst/gstreamer-docs.sgml:
16527         * docs/gst/tmpl/.cvsignore:
16528         * docs/gst/tmpl/gstghostpad.sgml:
16529         * docs/gst/tmpl/gstiterator.sgml:
16530         * docs/gst/tmpl/gstmacros.sgml:
16531         * docs/gst/tmpl/gstrealpad.sgml:
16532         * docs/gst/tmpl/gstregistry.sgml:
16533         * docs/gst/tmpl/gstregistrypool.sgml:
16534         * docs/gst/tmpl/gststructure.sgml:
16535         * docs/gst/tmpl/gstsystemclock.sgml:
16536         * docs/gst/tmpl/gsttrace.sgml:
16537         * gst/gstghostpad.c:
16538         * gst/gstmacros.h:
16539         * gst/gstmemchunk.c:
16540         * gst/gstmemchunk.h:
16541         * gst/gstqueue.c:
16542         * gst/gstregistry.c:
16543         * gst/gstregistrypool.c:
16544         * gst/gststructure.c:
16545         * gst/gstsystemclock.c:
16546           more docs inlined
16547
16548 2005-09-02  Andy Wingo  <wingo@pobox.com>
16549
16550         * gst/gstelement.h (GstState): Renamed from GstElementState,
16551         changed to be a normal enum instead of flags.
16552         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
16553         munged to be GST_STATE_CHANGE_*.
16554         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
16555         work with the new state representation.
16556         (GstStateChange): New enumeration of possible state transitions.
16557         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
16558         (GstElementClass::change_state): Pass the GstStateChange along as
16559         an argument. Helps language bindings, so they don't have to use
16560         tricky lock-needing macros like GST_STATE_CHANGE ().
16561
16562         * scripts/update-states (file): New script. Run it on a file to
16563         update it for state naming and API changes. Updates files in
16564         place.
16565
16566         * All files updated for the new API.
16567
16568 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16569
16570         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
16571         * gst/gstutils.c: (gst_util_set_value_from_string),
16572         (gst_util_set_object_arg):
16573           fix a bunch of unchecked return values
16574         * tools/gst-complete.c: (main):
16575         * gstreamer.spec.in:
16576           clean up a little
16577
16578 2005-09-01  Wim Taymans  <wim@fluendo.com>
16579
16580         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16581         (gst_base_sink_event), (gst_base_sink_do_sync),
16582         (gst_base_sink_handle_event):
16583         * gst/base/gstbasesink.h:
16584         Handle newsegments more correctly.
16585
16586         * gst/gstbus.c:
16587         Fix docs.
16588
16589         * gst/gstevent.c: (gst_event_new_newsegment):
16590         A newsegment cannot have a start_time of -1
16591
16592 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
16593
16594         * win32/gstenumtypes.c:
16595         * win32/gstenumtypes.h:
16596           Update
16597
16598 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
16599
16600         * libs/gst/controller/gst-controller.c:
16601         (gst_controlled_property_set_interpolation_mode),
16602         (gst_controlled_property_new):
16603          fixed boolean again
16604
16605 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
16606
16607         * docs/faq/gst-uninstalled:
16608           add -good
16609         * gst/gstevent.c:
16610         * gst/gstevent.h:
16611           remove wrong docs
16612         * gst/gstutils.c: (gst_element_link_filtered):
16613         * gst/gstutils.h:
16614           add gst_element_link_filtered
16615
16616 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
16617
16618         * docs/gst/gstreamer-docs.sgml:
16619         * docs/gst/gstreamer-sections.txt:
16620         * docs/gst/tmpl/.cvsignore:
16621         * docs/gst/tmpl/gsterror.sgml:
16622         * docs/gst/tmpl/gstfilter.sgml:
16623         * docs/gst/tmpl/gsturihandler.sgml:
16624         * docs/gst/tmpl/gsturitype.sgml:
16625         * docs/gst/tmpl/gstutils.sgml:
16626         * docs/gst/tmpl/gstxml.sgml:
16627         * gst/gsterror.c:
16628         * gst/gsterror.h:
16629         * gst/gstfilter.c:
16630         * gst/gsturi.c:
16631         * gst/gsturitype.c:
16632         * gst/gstutils.c:
16633         * gst/gstxml.c:
16634           inlined more docs, fixed double id-ref
16635
16636 2005-08-31  Wim Taymans  <wim@fluendo.com>
16637
16638         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
16639         (gst_base_transform_handle_buffer):
16640         Passthrough elements don't need the caps as they don't care.
16641
16642 2005-08-31  Wim Taymans  <wim@fluendo.com>
16643
16644         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
16645         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
16646         Don't leak refcounts on buffers.
16647
16648 2005-08-31  Wim Taymans  <wim@fluendo.com>
16649
16650         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
16651         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
16652         (gst_base_transform_chain), (gst_base_transform_change_state):
16653         * gst/base/gstbasetransform.h:
16654         Handle the case where we are not negotiated more gracefully.
16655
16656 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
16657
16658         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
16659         (gst_file_src_map_region):
16660           Set READONLY flag on mmap'ed buffers, otherwise
16661           gst_buffer_make_writable() won't work properly (#314708).
16662
16663 2005-08-31  Wim Taymans  <wim@fluendo.com>
16664
16665         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
16666         passthrough elements can even do inplace on non writable
16667         buffers (as they don't touch them).
16668
16669 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
16670
16671         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
16672         (gst_test_mono_source_set_property),
16673         (gst_test_mono_source_class_init), (GST_START_TEST),
16674         (gst_controller_suite):
16675           more tests (hehe I have the most)
16676         * gst/gstbus.c:
16677           describe popping messages whenusing mulltiple sources
16678         * libs/gst/controller/gst-controller.c:
16679         (gst_controlled_property_set_interpolation_mode),
16680         (gst_controlled_property_new):
16681         * libs/gst/controller/gst-controller.h:
16682         * libs/gst/controller/gst-interpolation.c:
16683           implement boolean properties
16684
16685 2005-08-31  Wim Taymans  <wim@fluendo.com>
16686
16687         * gst/gstminiobject.c: (gst_mini_object_ref):
16688         Cannot assert that the refcount has to be positive
16689         since a disposed object can be resurrected.
16690
16691 2005-08-31  Wim Taymans  <wim@fluendo.com>
16692
16693         * gst/gstpad.c: (gst_pad_init):
16694         Revert change, need to first fix badly behaving 
16695         apps.
16696
16697 2005-08-30  Wim Taymans  <wim@fluendo.com>
16698
16699         * check/elements/fakesrc.c: (setup_fakesrc):
16700         * check/elements/identity.c: (setup_identity):
16701         Activate pads before using them.
16702
16703 2005-08-30  Wim Taymans  <wim@fluendo.com>
16704
16705         * gst/base/gstadapter.c: (gst_adapter_flush):
16706         Flushing out 0 bytes is ok for this function.
16707
16708         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16709         no newsegment gives a warning and sets the start/stop to 
16710         invalid.
16711
16712         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
16713         (gst_base_transform_set_passthrough):
16714         Some debug info.
16715
16716         * gst/gstminiobject.c: (gst_mini_object_ref):
16717         Check refcount here too.
16718
16719         * gst/gstpad.c: (gst_pad_init):
16720         Pads are initially flushing and refusing data.
16721
16722         * gst/gstutils.c: (gst_element_link_pads_filtered):
16723         When adding a capsfilter element make sure it has the
16724         same state as the parent bin.
16725
16726 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
16727
16728         * docs/gst/tmpl/.cvsignore:
16729         * docs/gst/tmpl/gstformat.sgml:
16730         * docs/gst/tmpl/gstversion.sgml:
16731         * gst/gstbus.h:
16732         * gst/gstformat.c:
16733         * gst/gstformat.h:
16734         * gst/gstversion.h.in:
16735           more docs and two more inlined
16736
16737 2005-08-30  Wim Taymans  <wim@fluendo.com>
16738
16739         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
16740         Don't sync to clock.
16741
16742 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
16743
16744         * docs/gst/gstreamer-sections.txt:
16745           ultral33t func10ns deserve to appear in the docs actually
16746         * docs/gst/tmpl/.cvsignore:
16747         * docs/gst/tmpl/gstcompat.sgml:
16748         * docs/gst/tmpl/gstconfig.sgml:
16749         * gst/check/gstcheck.c:
16750         * gst/gstcompat.h:
16751         * gst/gstconfig.h.in:
16752           inlined more docs
16753
16754 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
16755
16756         * docs/gst/tmpl/.cvsignore:
16757         * docs/gst/tmpl/gstquery.sgml:
16758         * docs/gst/tmpl/gstutils.sgml:
16759         * gst/gstquery.c:
16760         * gst/gstquery.h:
16761           inlined and extended docs
16762
16763 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
16764
16765         * check/gst-libs/controller.c: (GST_START_TEST),
16766         (gst_controller_suite):
16767           more tests
16768         * docs/gst/tmpl/gstutils.sgml:
16769         * docs/libs/gstreamer-libs-sections.txt:
16770         * docs/libs/tmpl/gstdataprotocol.sgml:
16771           include path fixes
16772         * examples/controller/audio-example.c: (main):
16773           controller example works now
16774         * gst/gstclock.h:
16775           doc fixes
16776         * tools/gst-inspect.c: (print_element_properties_info):
16777           show param spec flags
16778
16779 2005-08-29  Andy Wingo  <wingo@pobox.com>
16780
16781         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
16782
16783 2005-08-28  Andy Wingo  <wingo@pobox.com>
16784
16785         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
16786         as having two arguments instead of just one. Allows superclasses
16787         to access information on subclasses -- see the terrible for() loop
16788         in gtype.c:g_type_create_instance for the reason why. All callers
16789         changed.
16790
16791 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
16792
16793         * docs/design/part-messages.txt:
16794           update info
16795         * docs/gst/tmpl/.cvsignore:
16796         * docs/gst/tmpl/gstcaps.sgml:
16797         * docs/gst/tmpl/gstclock.sgml:
16798         * gst/gstbus.c:
16799         * gst/gstcaps.c:
16800         * gst/gstcaps.h:
16801         * gst/gstclock.c:
16802         * gst/gstclock.h:
16803         * gst/gstmessage.c:
16804           added descriptions for bus and message
16805           inline caps and clock docs
16806
16807 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
16808
16809         * gst/gstmessage.c:
16810         * gst/gstmessage.h:
16811           doc fixes
16812
16813 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
16814
16815         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
16816           fix div-by-zero
16817
16818 2005-08-26  Andy Wingo  <wingo@pobox.com>
16819
16820         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
16821         element_set_state's return val.
16822         (test_2_elements): Add test that's been disabled for months.
16823
16824         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
16825         can-activate-pull properties.
16826
16827         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
16828         can-activate-pull properties. Implement is_seekable so fakesrc can
16829         operate in pull mode.
16830
16831         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
16832         properties.
16833         (gst_base_sink_activate, gst_base_sink_activate_pull)
16834         (gst_base_sink_activate_push): Make activation mode choosing work.
16835         Cleanups.
16836         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
16837         is right. Make pull mode work. Post an eos before pausing in pull
16838         mode.
16839         (gst_base_sink_change_state): Pay attention to the core's
16840         change_state() return val.
16841         
16842         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
16843         has-getrange properties. Cleanups.
16844         
16845         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
16846         has_getrange and replace with can_activate_pull and
16847         can_activate_push.
16848
16849         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
16850         locking comments. Remove has_loop, has_chain and replace with
16851         can_activate_pull and can_activate_push.
16852
16853 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
16854
16855         * configure.ac:
16856         * examples/Makefile.am:
16857         * examples/metadata/Makefile.am:
16858         * examples/metadata/read-metadata.c: (message_loop),
16859         (have_pad_handler), (make_pipeline), (print_tag), (main):
16860           Add metadata reading example that loops over a list of filenames,
16861           dumping any tags found.
16862
16863         * gst/gstbus.c: (gst_bus_dispose):
16864         * gst/gstelement.c: (gst_element_dispose):
16865           Release a few potentially-held references in dispose.
16866
16867 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
16868
16869         * docs/gst/tmpl/gstminiobject.sgml:
16870           do *not* add tmpl/*.sgml files to CVS!
16871
16872 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
16873
16874         * libs/gst/bytestream/.cvsignore:
16875         * libs/gst/bytestream/Makefile.am:
16876         * libs/gst/bytestream/adapter.c:
16877         * libs/gst/bytestream/adapter.h:
16878         * libs/gst/bytestream/bytestream.c:
16879         * libs/gst/bytestream/bytestream.h:
16880         * libs/gst/bytestream/filepad.c:
16881         * libs/gst/bytestream/filepad.h:
16882           removing obsolete files
16883
16884 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
16885
16886         * docs/gst/gstreamer-docs.sgml:
16887         * docs/libs/gstreamer-libs-docs.sgml:
16888           disabed additional index entries again, as this makes docs-gen just
16889           slow and they aren't useful yet
16890         * docs/libs/gstreamer-libs-sections.txt:
16891           little -section.txt cleanup for libs
16892
16893 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
16894
16895         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16896         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
16897           fix up some debugging
16898         (gst_base_transform_get_unit_size),
16899         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
16900         (gst_base_transform_handle_buffer):
16901         * gst/base/gstbasetransform.h:
16902           handle and store timed NEWSEGMENT events so that subclasses that
16903           calculate time by counting samples have a segment_start time they
16904           need to add to their timestamps - see audioresample
16905
16906 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
16907
16908         * gst/gstbin.h:
16909           removed ';' from the end of macro defs
16910         * docs/gst/gstreamer-docs.sgml:
16911         * docs/gst/gstreamer-sections.txt:
16912         * docs/gst/tmpl/.cvsignore:
16913         * gst/gstbus.h:
16914         * gst/gstelement.c: (gst_element_class_init),
16915         (gst_element_set_state), (activate_pads),
16916         (gst_element_save_thyself):
16917         * gst/gstevent.c: (gst_event_new_newsegment):
16918         * gst/gstevent.h:
16919         * gst/gstiterator.c:
16920         * gst/gstiterator.h:
16921         * gst/gstpad.c:
16922         * gst/gstprobe.h:
16923         * gst/gstutils.c: (gst_pad_query_convert):
16924         * gst/gstutils.h:
16925           fixed parameter name mismatches between source, header and docs
16926           added some more docs, resolved the last batch of unused elements in
16927           docs (now someone needs to doc them)
16928
16929 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
16930
16931         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
16932         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
16933           don't walk through the plugins backwards.  Where is all this
16934           reversed logic coming from ?
16935
16936 2005-08-25  Wim Taymans  <wim@fluendo.com>
16937
16938         * gst/base/gstbasetransform.c: (gst_base_transform_init),
16939         (gst_base_transform_transform_size),
16940         (gst_base_transform_configure_caps),
16941         (gst_base_transform_get_unit_size),
16942         (gst_base_transform_buffer_alloc),
16943         (gst_base_transform_change_state):
16944         * gst/base/gstbasetransform.h:
16945         Cache caps unit_size.
16946         Make sure we cannot negotiate up and downstream at the
16947         same time.
16948
16949 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
16950
16951         * gst/gst.c: (init_pre), (init_post):
16952           register the installed plugin path after the env var
16953         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
16954         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
16955           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
16956           directories, so the tests can prefer uninstalled over installed
16957
16958 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
16959
16960         * gst/base/gstbasetransform.h:
16961           comment
16962         * gst/gstpad.c:
16963           add to docs
16964
16965 2005-08-25  Wim Taymans  <wim@fluendo.com>
16966
16967         * gst/gstbin.c: (bin_bus_handler):
16968         Be a bit more conservative about the posted message.
16969         
16970         * gst/gstbus.c: (gst_bus_post):
16971         Some cleanups, warn wrong return values.
16972
16973 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
16974
16975         * check/gst/gstbin.c: (GST_START_TEST):
16976         * gst/gstbin.c: (bin_bus_handler):
16977         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
16978         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
16979         (gst_message_new_warning), (gst_message_new_tag),
16980         (gst_message_new_state_changed), (gst_message_new_segment_start),
16981         (gst_message_new_segment_done), (gst_message_new_custom):
16982         * gst/gstmessage.h:
16983         * tools/gst-launch.c: (event_loop):
16984         * tools/gst-md5sum.c: (event_loop):
16985           Revert unpopular change for GST_MESSAGE_SRC to GObject.
16986
16987 2005-08-25  Wim Taymans  <wim@fluendo.com>
16988
16989         * check/generic/states.c: (GST_START_TEST):
16990         Cleanup can be done at the end.
16991
16992         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
16993         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
16994         (gst_task_get_state), (gst_task_start), (gst_task_pause):
16995         Oh boy.. Thanks for finding this, Thomas. 
16996
16997 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
16998
16999         * docs/gst/gstreamer.types:
17000           added missing types
17001
17002 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
17003
17004         * docs/gst/gstreamer-docs.sgml:
17005         * docs/gst/gstreamer-sections.txt:
17006         * docs/gst/tmpl/.cvsignore:
17007         * gst/gstbin.c:
17008         * gst/gstiterator.c:
17009         * gst/gstutils.c:
17010         * gst/registries/gstxmlregistry.h:
17011           added missing classes and symbols (123 more to go)
17012           removed removed symbols from section file
17013           fixed many doc-comments
17014
17015 2005-08-24  Wim Taymans  <wim@fluendo.com>
17016
17017         * check/generic/states.c: (GST_START_TEST):
17018         Make sure all tasks are stopped.
17019
17020         * check/gst/gstbin.c: (GST_START_TEST):
17021         Unref after usage for proper valgrinding.
17022
17023         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
17024         Really wait for the task to stop before destroying the
17025         mutex.
17026
17027         * gst/gstqueue.c: (gst_queue_sink_activate_push),
17028         (gst_queue_src_activate_push):
17029         Small cleanups. Don't stop the task when we did not start
17030         it.
17031
17032         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
17033         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
17034         (gst_task_get_state), (gst_task_start), (gst_task_pause),
17035         (gst_task_join):
17036         * gst/gsttask.h:
17037         Protect the stream lock with the object lock.
17038         Disallow setting the stream lock when running.
17039         Add cleanup_all to wait for the threadpool to finish.
17040         Remove code to autoallocate a mutex if none was provided.
17041         Add _join() to wait for a task to stop.
17042         Protect the thread pool with a global lock.
17043
17044 2005-08-24  Wim Taymans  <wim@fluendo.com>
17045
17046         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17047         (gst_base_sink_get_times), (gst_base_sink_do_sync),
17048         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
17049         * gst/base/gstbasesink.h:
17050         Handle newsegment events correctly.
17051         Drop buffers out of the segment range.
17052
17053 2005-08-22  Andy Wingo  <wingo@pobox.com>
17054
17055         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
17056         macro, implements an interface and gstimplementsinterface for a
17057         new type.
17058
17059 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
17060
17061         * check/Makefile.am:
17062         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
17063           add a test that does a bunch of state changes on elements
17064           needs some fixing for valgrind
17065         * check/states/sinks.c: (gst_object_suite):
17066           whitespace
17067         * gst/gstcaps.h:
17068           add prototype for gst_caps_is_equal_fixed
17069         * gst/gstplugin.c:
17070         * gst/gstregistrypool.c:
17071           doc fixes
17072
17073 2005-08-24  Andy Wingo  <wingo@pobox.com>
17074
17075         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
17076         convert a negative value. Doesn't make much sense. Mostly this is
17077         here to force callers to ensure -1 maps to -1.
17078
17079 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
17080
17081         * docs/pwg/advanced-types.xml:
17082           Well done to Michael for catching my deliberate introduction
17083           of this spelling mistake. 
17084         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
17085         * gst/gstelement.h:
17086           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
17087           unlink pads before removing the element from the bin.
17088
17089 2005-08-24  Andy Wingo  <wingo@pobox.com>
17090
17091         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
17092         the same thing as GST_DEBUG=*:4.
17093         (parse_debug_level, parse_debug_category): New helper parsers.
17094
17095 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
17096
17097         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
17098         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
17099         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
17100         (gst_base_transform_buffer_alloc),
17101         (gst_base_transform_handle_buffer):
17102           use gboolean return values and pointers to size so we can use the
17103           full GST_BUFFER_SIZE range (guint) for buffer sizes
17104           use GstPadDirection for transform_caps
17105         * gst/base/gstbasetransform.h:
17106           rename get_size to get_unit_size since that's what it is
17107         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
17108           use GstPadDirection for transform_caps
17109         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
17110         * gst/gstutils.h:
17111           cleanup and debugging
17112
17113 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
17114
17115         * gst/gstelement.c: (gst_element_class_init),
17116         (gst_element_set_state), (activate_pads),
17117         (gst_element_save_thyself):
17118         * tools/gst-compprep.c: (main):
17119         * tools/gst-inspect.c: (print_element_properties_info):
17120         * tools/gst-xmlinspect.c: (print_element_properties):
17121           Fixed long standing mem-leak
17122
17123 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
17124
17125         * check/gst/gstbin.c: (GST_START_TEST):
17126         * gst/gstbin.c: (bin_bus_handler):
17127         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
17128         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
17129         (gst_message_new_warning), (gst_message_new_tag),
17130         (gst_message_new_state_changed), (gst_message_new_segment_start),
17131         (gst_message_new_segment_done), (gst_message_new_custom):
17132         * gst/gstmessage.h:
17133         * tools/gst-launch.c: (event_loop):
17134         * tools/gst-md5sum.c: (event_loop):
17135           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
17136           that applications can sensibly post custom messages with references
17137           to their own objects.
17138
17139 2005-08-24  Andy Wingo  <wingo@pobox.com>
17140
17141         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
17142         already.
17143
17144 2005-08-24  Wim Taymans  <wim@fluendo.com>
17145
17146         * gst/base/gstbasetransform.c: (gst_base_transform_init),
17147         (gst_base_transform_transform_caps),
17148         (gst_base_transform_transform_size),
17149         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
17150         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
17151         (gst_base_transform_handle_buffer):
17152         * gst/base/gstbasetransform.h:
17153         Many fixes and new features added by Thomas. Can now also do
17154         transforms with variable sizes and a custom fixate_caps function.
17155
17156 2005-08-24  Wim Taymans  <wim@fluendo.com>
17157
17158         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
17159         Some debugging.
17160
17161         * gst/gstclock.h:
17162         Cast to ClockTime before formatting to time.
17163
17164         * gst/gstutils.h:
17165         Cleanups.
17166
17167 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
17168
17169         * check/gst-libs/controller.c: (GST_START_TEST),
17170         (gst_controller_suite):
17171         * docs/gst/tmpl/gstcaps.sgml:
17172         * docs/gst/tmpl/gstghostpad.sgml:
17173         * docs/gst/tmpl/gstquery.sgml:
17174         * docs/gst/tmpl/gstutils.sgml:
17175         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
17176         (gst_object_sink_values), (gst_object_get_value_arrays),
17177         (gst_object_get_value_array):
17178           gracefully handle helper method calls to objects that are not beeing
17179           controlled, added test case for that          
17180
17181 2005-08-23  Wim Taymans  <wim@fluendo.com>
17182
17183         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
17184         (gst_event_new_newsegment), (gst_event_parse_newsegment),
17185         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
17186         (gst_event_parse_qos), (gst_event_new_seek),
17187         (gst_event_parse_seek):
17188         * gst/gstevent.h:
17189         Some more debugging output and doc cleanups.
17190
17191         * gst/gstqueue.c: (gst_queue_handle_sink_event):
17192         Fix possible deadlock.
17193
17194 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
17195
17196         * docs/gst/gstreamer-docs.sgml:
17197         * docs/gst/gstreamer-sections.txt:
17198         * docs/gst/gstreamer.types:
17199         * docs/gst/tmpl/.cvsignore:
17200         * gst/gstbin.h:
17201         * gst/gstbus.c:
17202         * gst/gstelement.c:
17203         * gst/gstevent.h:
17204           added 100 symbols from gstreamer-unused.txt to the right sections
17205           fixed more broken comments
17206           added GstBus to docs
17207
17208 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
17209
17210         * docs/gst/gstreamer-sections.txt:
17211         * docs/gst/tmpl/.cvsignore:
17212         * docs/gst/tmpl/gstbin.sgml:
17213         * docs/gst/tmpl/gstbuffer.sgml:
17214         * gst/base/gstbasesrc.c:
17215         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
17216         * gst/gstbuffer.c:
17217         * gst/gstbuffer.h:
17218         * tools/gst-launch.1.in:
17219           inlined more doc comments, added missing comments and fixed comments
17220           fixed typos
17221
17222 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
17223
17224         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
17225           some debugging
17226         * gst/gstcaps.h:
17227           whitespace fixes
17228         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
17229           more debugging
17230         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
17231         * gst/gststructure.h:
17232           add a fixate function for booleans; add a FIXME that these func
17233           names should probably be gst_structure_fixate_*
17234
17235 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
17236
17237         * docs/gst/gstreamer-docs.sgml:
17238         * docs/gst/gstreamer-sections.txt:
17239         * gst/Makefile.am:
17240         * gst/gstbin.c: (gst_bin_get_type),
17241         (gst_bin_child_proxy_get_child_by_index),
17242         (gst_bin_child_proxy_get_children_count),
17243         (gst_bin_child_proxy_init):
17244         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
17245         (gst_child_proxy_get_child_by_index),
17246         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
17247         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
17248         (gst_child_proxy_get), (gst_child_proxy_set_property),
17249         (gst_child_proxy_set_valist), (gst_child_proxy_set),
17250         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
17251         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
17252         * gst/gstchildproxy.h:
17253         * gst/parse/grammar.y:
17254         * tools/gst-inspect.c: (print_interfaces),
17255         (print_element_properties_info), (print_element_info):
17256           ported gstchildproxy over from 0.8
17257           ported gst-inspect fixes and enhancements over from 0.8
17258
17259 2005-08-22  Wim Taymans  <wim@fluendo.com>
17260
17261         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
17262         (gst_base_transform_handle_buffer):
17263         Also call the transform function if we have ANY caps.
17264
17265         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
17266         Fix debug info.
17267
17268 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
17269
17270         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
17271           Don't pretend to handle seek events if the source is not seekable
17272
17273 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
17274
17275         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17276           Remove extra parameter to debug output
17277
17278         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
17279         (gst_base_src_do_seek), (gst_base_src_activate_push):
17280           Fix seek event handling.
17281
17282         * gst/gstpipeline.c: (gst_pipeline_change_state):
17283         * gst/gstqueue.c: (gst_queue_handle_sink_event),
17284         (gst_queue_src_activate_push):
17285           Don't start the src pad task on FLUSH_STOP if the pad
17286           isn't linked.
17287           Debug changes.
17288
17289 2005-08-22  Wim Taymans  <wim@fluendo.com>
17290
17291         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
17292         Added check for gst_static_caps_get() refcounting.
17293
17294 2005-08-22  Wim Taymans  <wim@fluendo.com>
17295
17296         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
17297         Make _static_caps_get() refcounting sane.
17298         
17299         * gst/gstelement.c: (gst_element_set_state):
17300         Add g_return_val_if_fail() to protect against segfaults.
17301
17302 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
17303
17304         * docs/gst/tmpl/gstevent.sgml:
17305         * gst/gstevent.c:
17306         * gst/gstevent.h:
17307           inlined remaining docs, added missing doc comments
17308
17309 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
17310
17311         * check/gst/gstbin.c: (GST_START_TEST):
17312           since we don't know when preroll is done, use refcount range
17313           check for the sink
17314         * gst/check/gstcheck.h:
17315           add macro for checking refcount range
17316
17317 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
17318
17319         * check/Makefile.am:
17320           clean up environment for when registry gets built versus
17321           when actual tests are run; valgrind seems to not report
17322           leaks if GST_PLUGIN_PATH is set to some specific values
17323         * check/gst/gstbin.c: (GST_START_TEST):
17324           add more refcounting checks; maybe this exposes a
17325           preroll lock bug ?
17326         * common/check.mak:
17327         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17328         * gst/check/gstcheck.h:
17329         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
17330         (gst_bin_change_state):
17331         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
17332           add/fix debugging/whitespace
17333
17334 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
17335
17336         * check/gst/gstevent.c: (event_probe), (test_event),
17337         (GST_START_TEST):
17338          Er, don't call gst_bin_watch_for_state_change you idiot.
17339
17340 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
17341
17342         * check/Makefile.am:
17343           Use CHECK_CFLAGS and CHECK_LIBS
17344         * check/gst/gstevent.c: (event_probe), (test_event),
17345         (GST_START_TEST):
17346           Don't leak events.
17347         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
17348         (gst_base_src_start), (gst_base_src_stop),
17349         (gst_base_src_activate_push), (gst_base_src_activate_pull),
17350         (gst_base_src_change_state):
17351           Sprinkle gst_base_src_stop liberally around error paths to fix
17352           problems reusing a source after failed state changes.
17353         * gst/base/gsttypefindhelper.c: (helper_find_peek),
17354         (helper_find_suggest), (gst_type_find_helper):
17355           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
17356         * gst/gstevent.h:
17357         * docs/gst/tmpl/gstevent.sgml:
17358           Migrate part of the docs from the SGML file. Wait for ensonic to
17359           tell me how I did it wrong ;)
17360         * tools/gst-typefind.c: (main):
17361           Extra robustness to state changes between files.
17362
17363 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
17364
17365         * check/Makefile.am:
17366           don't valgrind the controller test - it's leaking - Stefan, HELP
17367         * gst/check/gstcheck.c: (gst_check_message_error),
17368         (gst_check_chain_func), (gst_check_setup_element),
17369         (gst_check_teardown_element), (gst_check_setup_src_pad),
17370         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
17371         (gst_check_teardown_sink_pad):
17372         * gst/check/gstcheck.h:
17373           add a bunch of methods to set up elements, and src and sink pads
17374         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
17375         * check/elements/identity.c: (setup_identity), (cleanup_identity),
17376         (GST_START_TEST):
17377           use them
17378         * gst/gstmessage.c:
17379         * gst/gsttag.h:
17380           whitespace/doc fixes
17381
17382 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17383
17384         * gst/gstelement.h:
17385           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
17386           be handled by the application and not always printed as well
17387
17388 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17389
17390         * check/Makefile.am:
17391           set GST_TOOLS_DIR
17392         * gst/check/gstcheck.c: (gst_check_message_error):
17393         * gst/check/gstcheck.h:
17394           add a fail_unless_equals_int
17395           add fail_unless for error messages
17396
17397 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17398
17399         * check/Makefile.am:
17400         * check/gst.supp:
17401         * common/Makefile.am:
17402         * common/check.mak:
17403         * common/gst.supp:
17404           factor out some of the common stuff so we can use it
17405
17406 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17407
17408         * check/Makefile.am:
17409         * check/gst/gstiterator.c: (GST_START_TEST):
17410         * check/gst/gstsystemclock.c: (GST_START_TEST),
17411         (gst_systemclock_suite):
17412         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
17413         * gst/gstclock.c:
17414           valgrind more tests
17415
17416 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17417
17418         * check/elements/.cvsignore:
17419         * check/elements/gstfakesrc.c:
17420           rename to name of element
17421         * check/elements/identity.c: (chain_func), (event_func),
17422         (setup_identity), (cleanup_identity), (GST_START_TEST),
17423         (identity_suite), (main):
17424           add a test for identity
17425         * check/Makefile.am:
17426         * pkgconfig/Makefile.am:
17427         * pkgconfig/gstreamer-check.pc.in:
17428         * pkgconfig/gstreamer-check-uninstalled.pc.in:
17429         * gst/check:
17430         * gst/Makefile.am:
17431         * configure.ac:
17432           move the check stuff to a library that gets installed
17433         * check/gst-libs/controller.c: (GST_START_TEST):
17434         * check/gst-libs/gdp.c:
17435         * check/gst/gst.c: (GST_START_TEST):
17436         * check/gst/gstbin.c:
17437         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
17438         * check/gst/gstbus.c:
17439         * check/gst/gstcaps.c: (GST_START_TEST):
17440         * check/gst/gstelement.c:
17441         * check/gst/gstghostpad.c:
17442         * check/gst/gstiterator.c:
17443         * check/gst/gstmessage.c:
17444         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
17445         * check/gst/gstobject.c:
17446         * check/gst/gstpad.c: (GST_START_TEST):
17447         * check/gst/gststructure.c: (GST_START_TEST):
17448         * check/gst/gstsystemclock.c: (GST_START_TEST),
17449         (gst_systemclock_suite):
17450         * check/gst/gsttag.c: (gst_tag_suite):
17451         * check/gst/gstvalue.c:
17452         * check/pipelines/cleanup.c:
17453         * check/pipelines/simple_launch_lines.c:
17454         * check/states/sinks.c:
17455           change include statement
17456
17457         * docs/gst/gstreamer-sections.txt:
17458         * docs/gst/tmpl/gstpad.sgml:
17459           document more pad stuff
17460         * gst/gstminiobject.c: (gst_mini_object_ref),
17461         (gst_mini_object_unref):
17462           debug refcounting
17463
17464 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
17465
17466         * docs/gst/tmpl/gst.sgml:
17467         * gst/gst.c:
17468           eliminate another tmpl file, fix spelling in the long-description
17469
17470 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
17471
17472         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
17473         (test_event), (timediff), (gstevents_suite):
17474           Should fix build on 64-bit arch's
17475
17476 2005-08-18  Andy Wingo  <wingo@pobox.com>
17477
17478         Make sure that when a pipeline goes to PLAYING, that data has
17479         actually hit the sink.
17480
17481         * check/states/sinks.c (test_sink): A sink that doesn't get any
17482         data shouldn't return SUCCESS for going to either PLAYING or
17483         PAUSED. Test also the return values on the way back down.
17484
17485         * gst/gstelement.c (gst_element_set_state): When changing the
17486         state of an element currently changing state asynchronously, go to
17487         lost-state after commiting the pending state. Makes future calls
17488         to get_state continue to return ASYNC.
17489
17490         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
17491         ASYNC when going to PLAYING if we still don't have preroll, as can
17492         happen with live sources.
17493
17494 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
17495
17496         * docs/pwg/advanced-types.xml:
17497           Hack long paragraph into 2 chunks as a workaround for buggy
17498           jadetex version in sid and breezy that loops infinitely and
17499           eats all RAM.
17500
17501 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
17502
17503         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
17504         (test_event), (timediff), (gstevents_suite):
17505           Provide more error margin in clock measurements to allow for 
17506           g_get_current_time inaccuracies.
17507
17508 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
17509
17510         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
17511         (test_event), (timediff), (gstevents_suite):
17512            Fix error message output so I might be able to tell why the
17513            test works here but fails on the build farm.
17514
17515 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
17516
17517         * check/Makefile.am:
17518         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
17519         (test_event), (timediff), (gstevents_suite), (main):
17520           I wrote a test!
17521
17522         * docs/design/part-seeking.txt:
17523           Spelling correction
17524
17525         * docs/gst/tmpl/gstevent.sgml:
17526         * docs/gst/tmpl/gstfakesrc.sgml:
17527           Docs updates.
17528
17529         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17530           Treat a buffer-without-newsegment the same as a receiving 
17531           a newsegment not in time format, and disable syncing to the clock
17532           with a warning.
17533
17534         * gst/gstbus.c: (gst_bus_set_sync_handler):
17535           Assert if anyone tries to replace the existing sync_handler for bus, 
17536           as only the owner should be setting it.
17537
17538         * gst/gstevent.h:
17539           Have a fixed set of custom event enums with events identified by
17540           their structure name (as in 0.8), rather than a free-for-all
17541           allowing collisions between enum values from different plugins.
17542
17543         * gst/gstpad.c: (gst_pad_class_init):
17544           Docs change.
17545           
17546         * gst/gstqueue.c: (gst_queue_handle_sink_event):
17547           Handle out-of-band downstream events from the sending thread.
17548
17549 2005-08-17  Andy Wingo  <wingo@pobox.com>
17550
17551         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
17552         play-timeout==0 to mean no timeout at all. In that case, don't
17553         bother with a get_state or a warning, just return directly, even
17554         if it's ASYNC.
17555
17556         * gst/base/gstbasetransform.c: Debug changes.
17557
17558         * gst/gstutils.h:
17559         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
17560         ensure bins post state change messages. A bit of a hack but I can't
17561         think of a way to avoid it.
17562
17563         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
17564
17565 2005-08-16  Andy Wingo  <wingo@pobox.com>
17566
17567         * gst/base/gstadapter.h:
17568         * gst/base/gstadapter.c (gst_adapter_take): New function, like
17569         peek() but you own the data. Not terribly efficient atm.
17570
17571 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17572
17573         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
17574         (gst_element_found_tags):
17575         * gst/gstutils.h:
17576           Add two utility functions for tag handling.
17577
17578 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17579
17580         * docs/manual/advanced-dataaccess.xml:
17581         * docs/manual/basics-helloworld.xml:
17582           Fix docs to use _bin_add() before _link(), which fixes the examples
17583           with recent core versions (reported by Madhan Raj M
17584           <raj_madan@rediffmail.com>, #313199).
17585
17586 2005-08-16  Wim Taymans  <wim@fluendo.com>
17587
17588         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
17589         Added subtract checks.
17590
17591         * docs/design/part-events.txt:
17592         Some more docs about newsegment
17593
17594         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
17595         Fix FIXME
17596
17597         * gst/gstcaps.c: (gst_caps_to_string):
17598         Add comments, cleanups.
17599         
17600         * gst/gstelement.c: (gst_element_save_thyself):
17601         cleanups
17602         
17603         * gst/gstvalue.c: (gst_value_collect_int_range),
17604         (gst_string_unwrap), (gst_value_union_int_int_range),
17605         (gst_value_union_int_range_int_range),
17606         (gst_value_intersect_int_int_range),
17607         (gst_value_intersect_int_range_int_range),
17608         (gst_value_intersect_double_double_range),
17609         (gst_value_intersect_double_range_double_range),
17610         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
17611         (gst_value_subtract_int_range_int),
17612         (gst_value_subtract_double_range_double),
17613         (gst_value_subtract_double_range_double_range),
17614         (gst_value_subtract_from_list), (gst_value_subtract_list),
17615         (gst_value_can_compare), (gst_value_compare_fraction):
17616         Cleanups, add comments, remove unneeded asserts.
17617
17618 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
17619
17620         * tools/gst-launch.c: (event_loop):
17621           don't convert NULL structures to strings
17622
17623 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
17624
17625         * docs/gst/gstreamer-sections.txt:
17626           made some defines private
17627         * docs/gst/tmpl/gstconfig.sgml:
17628         * docs/gst/tmpl/gstqueue.sgml:
17629         * docs/gst/tmpl/gsttaglist.sgml:
17630         * docs/gst/tmpl/gsttypes.sgml:
17631         * docs/gst/tmpl/gstutils.sgml:
17632         * docs/pwg/appendix-porting.xml:
17633         * gst/base/gstbasesink.h:
17634         * gst/base/gstbasesrc.c:
17635         * gst/base/gstbasesrc.h:
17636         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
17637         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
17638         * gst/gstelement.c: (gst_element_class_init):
17639         * gst/gstpad.c: (gst_pad_class_init):
17640         * gst/gstqueue.c: (gst_queue_class_init):
17641         * gst/gstxml.c: (gst_xml_class_init):
17642           documented all undocumented signal inline
17643         * libs/gst/controller/gst-controller.h:
17644           added padding
17645
17646 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17647
17648         * docs/pwg/appendix-porting.xml:
17649           Document _set_link_function -> _set_setcaps_function.
17650
17651 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
17652
17653         * check/Makefile.am:
17654           add a .check target for running the check
17655         * check/gst-libs/controller.c: (GST_START_TEST):
17656           cosmetic fixups
17657         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
17658           complete checks for gstbuffer; would be nice if I could get the
17659           gcov stuff to work so I can see if I actually completed gstbuffer.c
17660         * check/gstcheck.h:
17661           add ASSERT_BUFFER_REFCOUNT
17662
17663 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
17664
17665         * docs/gst/gstreamer-sections.txt:
17666         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
17667         * gst/gsttag.h:
17668           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
17669           spew out a warning if a tag that is already registered
17670           is re-registered, unless it is re-registered with a 
17671           different type (#308438).
17672
17673 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
17674
17675         * docs/pwg/appendix-porting.xml:
17676         * docs/pwg/building-state.xml:
17677           Add some paragraphs about state changes in 0.9 to the PWG
17678           and the porting guide, in particular about the new meaning
17679           of GST_STATE_PAUSED and how to write state change functions
17680           with concurrent access by multiple threads in mind.
17681
17682 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
17683
17684         * docs/gst/gstreamer-docs.sgml:
17685         * docs/libs/gstreamer-libs-docs.sgml:
17686           added deprecation and since indexes
17687         * libs/gst/controller/gst-controller.c:
17688         * libs/gst/controller/gst-helper.c:
17689           added since tags
17690
17691
17692 2005-08-11  Wim Taymans  <wim@fluendo.com>
17693
17694         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
17695         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
17696         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
17697         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
17698         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
17699         (gst_ghost_pad_set_target):
17700         Actually implement (re)setting the target on a ghostpad
17701         as described in the docs.
17702
17703 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
17704
17705         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
17706           Check whether GST_DEBUG_NO_COLOR environment variable is
17707           set and disable coloured debug output if that is the case.
17708
17709 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
17710
17711         * gst/base/gsttypefindhelper.c: (helper_find_peek),
17712         (gst_type_find_helper):
17713           The memory returned by gst_type_find_peek() needs to
17714           stay valid until the end of a typefind function, and
17715           typefind functions may keep results from different 
17716           offsets around, so we can't just unref the buffer from
17717           the previous _peek(), but have to save all buffers 
17718           returned by _peek() until typefinding is done and only
17719           free them then.
17720
17721 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
17722
17723         * docs/gst/gstreamer-sections.txt:
17724         * gst/gstutils.h:
17725           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
17726
17727 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17728
17729         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
17730           Fix a pretty good memleak.
17731
17732 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
17733
17734         * gst/gstiterator.h:
17735           Fix wrong include and 'make distcheck'.
17736
17737 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17738
17739         * gst/gstbin.c: (bin_bus_handler):
17740           Use gst_element_post_message() instead.
17741
17742 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
17743
17744         * gst/base/gstadapter.h:
17745         * gst/base/gstbasesink.h:
17746         * gst/base/gstbasesrc.h:
17747         * gst/base/gstbasetransform.h:
17748         * gst/base/gstcollectpads.h:
17749         * gst/base/gstpushsrc.h:
17750         * gst/gstiterator.h:
17751           Add padding to our base elements' class and instance structs and
17752           to GstIterator (you will need to rebuild all plugins and apps!)
17753
17754 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17755
17756         * gst/gstbin.c: (bin_bus_handler):
17757           Make default message forwarding from child->bus to bin->bus
17758           threadsafe and make it not emit warnings if the parent has no bus.
17759
17760 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17761
17762         * gst/gstelement.c: (activate_pads):
17763           On paused->ready, set pad->caps to NULL, as is the documented
17764           behaviour in this state change. Fixes playback of series of
17765           media files when visualization is enabled in Totem.
17766
17767 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17768
17769         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
17770           Allow NULL as filter-caps (which means "any").
17771
17772 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
17773
17774         * docs/libs/gstreamer-libs-sections.txt:
17775         * libs/gst/controller/gst-controller.c:
17776         * libs/gst/controller/gst-controller.h:
17777         * libs/gst/controller/gst-helper.c:
17778           adding more entries to the docs and fix small doc-bugs
17779
17780 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
17781
17782         * docs/gst/gstreamer-docs.sgml:
17783         * docs/gst/gstreamer-sections.txt:
17784         * docs/gst/gstreamer.types:
17785         * docs/gst/tmpl/gstbasesink.sgml:
17786         * docs/gst/tmpl/gstbasesrc.sgml:
17787         * docs/gst/tmpl/gstbasetransform.sgml:
17788         * docs/gst/tmpl/gstfakesrc.sgml:
17789         * gst/base/gstcollectpads.c:
17790         * gst/base/gstcollectpads.h:
17791         * libs/gst/controller/gst-controller.c:
17792         * libs/gst/controller/gst-controller.h:
17793         * libs/gst/controller/gst-helper.c:
17794         * libs/gst/controller/gst-interpolation.c:
17795         * libs/gst/controller/lib.c:
17796           added long/short desc for controller docs
17797           added collectpads base class docs
17798           added correct includes to base-class docs
17799
17800 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
17801
17802         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
17803         (gst_test_mono_source_set_property),
17804         (gst_test_mono_source_class_init), (GST_START_TEST),
17805         (gst_controller_suite):
17806         * docs/gst/gstreamer-docs.sgml:
17807         * docs/gst/gstreamer-sections.txt:
17808         * docs/gst/gstreamer.types:
17809         * docs/libs/gstreamer-libs-docs.sgml:
17810         * docs/libs/gstreamer-libs-sections.txt:
17811         * gst/base/gstadapter.c:
17812         * libs/gst/controller/gst-controller.c:
17813         (gst_controlled_property_new), (gst_controlled_property_free),
17814         (gst_controller_new_valist),
17815         (gst_controller_remove_properties_valist),
17816         (gst_controller_sink_values), (_gst_controller_finalize):
17817         * libs/gst/controller/gst-controller.h:
17818         * libs/gst/controller/gst-helper.c:
17819         (gst_object_control_properties), (gst_object_uncontrol_properties),
17820         (gst_object_get_controller), (gst_object_set_controller),
17821         (gst_object_sink_values), (gst_object_get_value_arrays),
17822         (gst_object_get_value_array):
17823           more tests (and fixes) for the controller
17824           more docs for the controller
17825           integrated companies docs for the adapter 
17826
17827 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
17828
17829         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
17830         (GST_START_TEST), (fakesrc_suite):
17831           add tests for sizetype
17832
17833 2005-08-04  Andy Wingo  <wingo@pobox.com>
17834
17835         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
17836         fixes buffer_alloc proxying among other things.
17837
17838         * gst/base/gstbasetransform.c:
17839         * gst/base/gstbasetransform.h:
17840         Revert patch to gstbasetransform from 7-28 removing
17841         delay_configure.
17842
17843         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
17844         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
17845         Semantics changed, should return not the size of the output buffer
17846         but the byte size of a buffer with a given caps.
17847
17848         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
17849         debug object.
17850         (gst_base_transform_configure_caps): Don't set out_size here: (in,
17851         out) are not the pad caps until setcaps finishes.
17852         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
17853         not-in-place case as well. Deal with changing from in-place to
17854         not-in-place within calling pad_alloc_buffer. Still a bit
17855         concerned about the overhead here...
17856
17857 2005-08-03  Andy Wingo  <wingo@pobox.com>
17858
17859         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
17860         fixating is an error.
17861
17862 2005-08-04  Edward Hervey  <edward@fluendo.com>
17863
17864         * gst/base/gstadapter.h: 
17865         Added gst_adapter_get_type() to the header
17866
17867 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
17868
17869         * check/Makefile.am:
17870         * check/gst-libs/controller.c:
17871         * libs/gst/controller/gst-controller.c:
17872         (gst_controller_new_valist):
17873           added check test suite for the controller
17874         * gst/base/gstpushsrc.c:
17875           fixed a doc typo
17876
17877 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
17878
17879         * docs/gst/Makefile.am:
17880         * docs/gst/gstreamer-docs.sgml:
17881         * docs/gst/gstreamer-sections.txt:
17882         * docs/gst/gstreamer.types:
17883         * docs/gst/tmpl/gstfakesrc.sgml:
17884         * gst/base/README:
17885         * gst/base/gstbasesink.c:
17886         * gst/base/gstbasesink.h:
17887         * gst/base/gstbasesrc.c:
17888         * gst/base/gstbasesrc.h:
17889         * gst/base/gstbasetransform.c:
17890         * gst/base/gstpushsrc.c:
17891         * gst/base/gstpushsrc.h:
17892           add short/long description docs to base classes
17893           add pushsrc to the docs
17894           remove consolidated doc fragments
17895
17896 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
17897
17898         * configure.ac:
17899         * docs/libs/Makefile.am:
17900         * docs/libs/gstreamer-libs-docs.sgml:
17901         * docs/libs/gstreamer-libs-sections.txt:
17902         * docs/libs/gstreamer-libs.types:
17903         * examples/Makefile.am:
17904         * examples/controller/.cvsignore:
17905         * examples/controller/Makefile.am:
17906         * examples/controller/audio-example.c: (main):
17907         * libs/gst/Makefile.am:
17908         * libs/gst/controller/.cvsignore:
17909         * libs/gst/controller/Makefile.am:
17910         * libs/gst/controller/gst-controller.c:
17911         (on_object_controlled_property_changed), (gst_timed_value_compare),
17912         (gst_timed_value_find),
17913         (gst_controlled_property_set_interpolation_mode),
17914         (gst_controlled_property_new), (gst_controlled_property_free),
17915         (gst_controller_find_controlled_property),
17916         (gst_controller_new_valist), (gst_controller_new),
17917         (gst_controller_remove_properties_valist),
17918         (gst_controller_remove_properties), (gst_controller_set),
17919         (gst_controller_set_from_list), (gst_controller_unset),
17920         (gst_controller_get), (gst_controller_get_all),
17921         (gst_controller_sink_values), (gst_controller_get_value_arrays),
17922         (gst_controller_get_value_array),
17923         (gst_controller_set_interpolation_mode),
17924         (_gst_controller_finalize), (_gst_controller_init),
17925         (_gst_controller_class_init), (gst_controller_get_type):
17926         * libs/gst/controller/gst-controller.h:
17927         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
17928         (g_object_uncontrol_properties), (g_object_get_controller),
17929         (g_object_set_controller), (g_object_sink_values),
17930         (g_object_get_value_arrays), (g_object_get_value_array):
17931         * libs/gst/controller/gst-interpolation.c:
17932         (gst_controlled_property_find_timed_value_node),
17933         (interpolate_none_get), (interpolate_trigger_get),
17934         (interpolate_trigger_get_value_array):
17935         * libs/gst/controller/lib.c: (gst_controller_init):
17936         * pkgconfig/Makefile.am:
17937         * pkgconfig/gstreamer-control-uninstalled.pc.in:
17938         * pkgconfig/gstreamer-control.pc.in:
17939         * testsuite/Makefile.am:
17940         * testsuite/controller/.cvsignore:
17941         * testsuite/controller/Makefile.am:
17942         * testsuite/controller/interpolator.c: (main):
17943           added controller code
17944           removed dparam pc files
17945
17946 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
17947         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
17948         (gst_collectpads_stop):
17949           Broadcast the condition when shutting down, to make sure we wake all
17950           threads up. Shut down pads on finalize, for safety.
17951
17952 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
17953         * gst/base/gstbasetransform.c: (gst_base_transform_init),
17954         (gst_base_transform_handle_buffer),
17955         (gst_base_transform_change_state):
17956           Handle PAUSED->READY->PAUSED transition after negotiation
17957           occurred already.
17958         * gst/gstmessage.c: (gst_message_init):
17959           Extra piece of debug for new messages.
17960
17961 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
17962
17963         * configure.ac:
17964         * docs/gst/tmpl/gstbasesrc.sgml:
17965         * docs/gst/tmpl/gstelement.sgml:
17966         * docs/gst/tmpl/gstevent.sgml:
17967         * docs/gst/tmpl/gstfakesrc.sgml:
17968         * docs/gst/tmpl/gstformat.sgml:
17969         * docs/gst/tmpl/gstghostpad.sgml:
17970         * docs/gst/tmpl/gstpad.sgml:
17971         * docs/gst/tmpl/gstquery.sgml:
17972         * docs/gst/tmpl/gststructure.sgml:
17973         * docs/gst/tmpl/gsttaglist.sgml:
17974         * docs/gst/tmpl/gstvalue.sgml:
17975         * docs/libs/gstreamer-libs-docs.sgml:
17976         * docs/libs/gstreamer-libs-sections.txt:
17977         * docs/libs/gstreamer-libs.types:
17978         * libs/gst/Makefile.am:
17979         * libs/gst/control/.cvsignore:
17980         * libs/gst/control/Makefile.am:
17981         * libs/gst/control/control.c:
17982         * libs/gst/control/control.h:
17983         * libs/gst/control/dparam.c:
17984         * libs/gst/control/dparam.h:
17985         * libs/gst/control/dparam_smooth.c:
17986         * libs/gst/control/dparam_smooth.h:
17987         * libs/gst/control/dparamcommon.h:
17988         * libs/gst/control/dparammanager.c:
17989         * libs/gst/control/dparammanager.h:
17990         * libs/gst/control/dplinearinterp.c:
17991         * libs/gst/control/dplinearinterp.h:
17992         * libs/gst/control/unitconvert.c:
17993         * libs/gst/control/unitconvert.h:
17994         * testsuite/Makefile.am:
17995         * testsuite/dynparams/.cvsignore:
17996         * testsuite/dynparams/Makefile.am:
17997         * testsuite/dynparams/dparamstest.c:
17998         * tools/Makefile.am:
17999         * tools/gst-inspect.c: (print_element_info), (main):
18000         * tools/gst-xmlinspect.c: (print_element_info), (main):
18001           deactivate and remove dparams (libgstcontrol)
18002
18003 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
18004
18005         * gst/elements/gsttypefindelement.c:
18006         (gst_type_find_element_have_type), (gst_type_find_element_init),
18007         (stop_typefinding), (gst_type_find_element_handle_event),
18008         (gst_type_find_element_chain), (gst_type_find_element_getrange):
18009         * gst/elements/gsttypefindelement.h:
18010           Set caps on all outgoing buffers, not just the first one.
18011
18012 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
18013
18014         * gst/elements/gsttypefindelement.c:
18015         (gst_type_find_element_have_type),
18016         (gst_type_find_element_check_set_buffer_caps),
18017         (gst_type_find_element_init), (stop_typefinding),
18018         (gst_type_find_element_handle_event),
18019         (gst_type_find_element_chain), (gst_type_find_element_getrange):
18020         * gst/elements/gsttypefindelement.h:
18021           Set caps on first outgoing buffer when we've found the type.
18022
18023 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
18024
18025         * docs/gst/gstreamer-docs.sgml:
18026         * docs/gst/gstreamer-sections.txt:
18027         * docs/gst/tmpl/gstscheduler.sgml:
18028         * docs/gst/tmpl/gstschedulerfactory.sgml:
18029           Remove some old cruft from docs.
18030
18031 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
18032
18033         * gst/gstpad.h:
18034           Fix inline docs for GstPadLinkReturn.
18035           
18036         * gst/gststructure.c: (gst_structure_has_name):
18037         * gst/gststructure.h:
18038         * docs/gst/gstreamer-sections.txt:
18039           New API: gst_structure_has_name().
18040
18041 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
18042
18043         * configure.ac:
18044           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
18045           and _LARGEFILE_SOURCE in config.h as required. Do not 
18046           export those flags in our .pc files any longer (#142209).
18047
18048           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
18049
18050         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
18051         (gst_file_sink_do_seek), (gst_file_sink_event),
18052         (gst_file_sink_get_current_offset), (gst_file_sink_render):
18053           Redo seek/tell calls with large file support in mind; add some
18054           debugging messages; add log message that tells us when large
18055           file support is unavailable or not enabled for some reason.
18056
18057         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
18058           Add log message that tells us when large file support 
18059           is unavailable or not enabled for some reason.
18060
18061 2005-07-29  Wim Taymans  <wim@fluendo.com>
18062
18063         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
18064         Added test for removing an element with ghostpad from a bin.
18065         Fixed test as current implementation does the right thing.
18066
18067         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
18068         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
18069         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
18070         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
18071         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
18072         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
18073         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
18074         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
18075         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
18076         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
18077         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
18078         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
18079         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
18080         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
18081         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
18082         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
18083         * gst/gstghostpad.h:
18084         Clean up ghostpads, remove properties for internal stuff.
18085         Make threadsafe.
18086         Fix refcounting.
18087         Prepare for switching targets, not all use cases work yet.
18088
18089 2005-07-29  Wim Taymans  <wim@fluendo.com>
18090
18091         * docs/design/part-gstghostpad.txt:
18092         Small update.
18093
18094         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
18095         (gst_bin_remove_func):
18096         Unlinking pads while holding the bin LOCK is not a good
18097         idea.
18098
18099         * gst/gstpad.c: (gst_pad_class_init),
18100         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
18101         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
18102         No prob setting template after creating the pad.
18103
18104 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
18105
18106         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
18107         (gst_bus_peek), (gst_bus_source_dispatch),
18108         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
18109         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
18110           gst_bus_poll may be called from other threads. Handle
18111           this nicely by not making poll_data disappear off the
18112           stack once gst_bus_poll returns.
18113           gst_bus_peek now increments the refcount on the returned
18114           message.
18115
18116 2005-07-29  Wim Taymans  <wim@fluendo.com>
18117
18118         * docs/design/part-gstghostpad.txt:
18119         Overview of current GhostPad datastructures and use
18120         cases for changing the target.
18121
18122 2005-07-28  Wim Taymans  <wim@fluendo.com>
18123
18124         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
18125         Added checks for hierarchy consistency whan adding linked
18126         elements to bins.
18127
18128         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
18129         Added check to test element scheduling without bin/pipeline.
18130
18131         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
18132         First add elements to bin, then link.
18133         
18134         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
18135         (gst_bin_remove_func):
18136         Unlink pads from elements added/removed from bin to maintain
18137         hierarchy consistency.
18138
18139 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18140
18141         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
18142         (gst_base_transform_handle_buffer):
18143         * gst/base/gstbasetransform.h:
18144           Remove broken delay_configure (fixes renegotiation of software
18145           scaling pipelines); remove some leftover printf()s.
18146
18147 2005-07-28  Wim Taymans  <wim@fluendo.com>
18148
18149         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
18150         Added some more tests for wrong hierarchy
18151
18152         * docs/design/part-overview.txt:
18153         Some updates.
18154
18155         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
18156         Cleanups.
18157
18158         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
18159         (gst_element_dispose):
18160         Some more cleanups.
18161
18162         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
18163         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
18164         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
18165         (gst_pad_set_caps), (gst_pad_send_event):
18166         Check for correct hierarchy when linking pads. Moving to
18167         strict requirement for ghostpads when linking elements in
18168         different bins.
18169
18170         * gst/gstpad.h:
18171         Clean ups. Added WRONG_HIERARCHY return value.
18172
18173 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18174
18175         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
18176           Better debug if no transform is possible.
18177
18178 2005-07-27  Wim Taymans  <wim@fluendo.com>
18179
18180         * docs/random/wtay/network-transp:
18181         Some old doc I had.
18182
18183 2005-07-27  Wim Taymans  <wim@fluendo.com>
18184
18185         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
18186         (gst_dp_event_from_packet):
18187         Fix serialization of seek events.
18188
18189 2005-07-27  Wim Taymans  <wim@fluendo.com>
18190
18191         * check/gst-libs/gdp.c: (GST_START_TEST):
18192         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
18193         Fix compilation and fix event serialization.
18194
18195 2005-07-27  Wim Taymans  <wim@fluendo.com>
18196
18197         * CHANGES-0.9:
18198         * docs/design/part-TODO.txt:
18199         * docs/design/part-events.txt:
18200         Some docs updates
18201
18202         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18203         (gst_base_sink_event), (gst_base_sink_do_sync),
18204         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
18205         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
18206         (gst_base_src_do_seek), (gst_base_src_event_handler),
18207         (gst_base_src_loop):
18208         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
18209         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
18210         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
18211         (gst_base_transform_event), (gst_base_transform_handle_buffer),
18212         (gst_base_transform_set_passthrough),
18213         (gst_base_transform_is_passthrough):
18214         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
18215         * gst/elements/gstfilesink.c: (gst_file_sink_event):
18216         Event updates.
18217
18218         * gst/gstbuffer.h:
18219         Use faster casts.
18220
18221         * gst/gstelement.c: (gst_element_seek):
18222         * gst/gstelement.h:
18223         Update gst_element_seek.
18224
18225         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
18226         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
18227         (gst_event_new_flush_start), (gst_event_new_flush_stop),
18228         (gst_event_new_eos), (gst_event_new_newsegment),
18229         (gst_event_parse_newsegment), (gst_event_new_tag),
18230         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
18231         (gst_event_parse_qos), (gst_event_new_seek),
18232         (gst_event_parse_seek), (gst_event_new_navigation):
18233         * gst/gstevent.h:
18234         Make GstEvent use GstStructure. Add parsing code, make sure the
18235         API is sufficiently generic.
18236         Mark possible directions of events and serialization.
18237
18238         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
18239         (_gst_message_copy), (gst_message_new_segment_start),
18240         (gst_message_new_segment_done), (gst_message_new_custom),
18241         (gst_message_parse_segment_start),
18242         (gst_message_parse_segment_done):
18243         Small cleanups.
18244
18245         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
18246         (gst_pad_set_caps), (gst_pad_send_event):
18247         Update for new events. 
18248         Catch events sent in wrong directions.
18249
18250         * gst/gstqueue.c: (gst_queue_link_src),
18251         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
18252         (gst_queue_handle_src_query):
18253         Event updates.
18254
18255         * gst/gsttag.c:
18256         * gst/gsttag.h:
18257         Remove event code from this file.
18258
18259         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
18260         (gst_dp_event_from_packet):
18261         Event updates.
18262
18263 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18264
18265         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
18266         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
18267         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
18268           Make debugging actually useful.
18269
18270 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18271
18272         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
18273         (gst_pad_fixate_caps):
18274           Implement default fixation once again, so that gst_pad_fixate()
18275           actually does anything at all. This probably needs to be some
18276           sort of a last resort, and use profile-based fixation first, but
18277           since that doesn't exist yet, this is the best we have. Fixes
18278           visualization in Totem.
18279
18280 2005-07-22  Wim Taymans  <wim@fluendo.com>
18281
18282         * docs/design/part-events.txt:
18283         Small update.
18284
18285         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18286         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
18287         (gst_base_sink_activate_pull):
18288         Some more comments.
18289
18290         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
18291         (gst_fake_src_create):
18292         Fix handoff marshall.
18293
18294         * gst/elements/gstidentity.c: (gst_identity_class_init),
18295         (gst_identity_transform_ip):
18296         We're a real inplace element.
18297
18298         * gst/gstbus.c: (gst_bus_post):
18299         Added some comments.
18300
18301         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
18302         * tests/muxing/case1.c: (main):
18303         * tests/sched/dynamic-pipeline.c: (main):
18304         * tests/sched/interrupt1.c: (main):
18305         * tests/sched/interrupt2.c: (main):
18306         * tests/sched/interrupt3.c: (main):
18307         * tests/sched/runxml.c: (main):
18308         * tests/sched/sched-stress.c: (main):
18309         * tests/seeking/seeking1.c: (event_received), (main):
18310         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
18311         (main):
18312         * tests/threadstate/threadstate3.c: (main):
18313         * tests/threadstate/threadstate4.c: (main):
18314         * tests/threadstate/threadstate5.c: (main):
18315         Fix the tests.
18316
18317 2005-07-21  Wim Taymans  <wim@fluendo.com>
18318
18319         * docs/design/part-seeking.txt:
18320         Some small additions.
18321
18322         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18323         (gst_base_sink_get_times), (gst_base_sink_do_sync),
18324         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
18325         * gst/base/gstbasesink.h:
18326         discont values are gint64, handle the math correctly.
18327
18328         * gst/base/gstbasesrc.c: (gst_base_src_loop):
18329         Make the basesrc report error if the source pad is not linked.
18330
18331         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
18332         (gst_queue_loop), (gst_queue_handle_src_query),
18333         (gst_queue_src_activate_push):
18334         Make queue collect data even if the srcpad is not linked.
18335         Start pushing out data as soon as it is linked.
18336
18337         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
18338         * gst/gstutils.h:
18339         Added gst_flow_get_name() to ease error reporting.
18340
18341 2005-07-20  Wim Taymans  <wim@fluendo.com>
18342
18343         * gst/gstmessage.c: (gst_message_new_segment_start),
18344         (gst_message_new_segment_done), (gst_message_parse_segment_start),
18345         (gst_message_parse_segment_done):
18346         * gst/gstmessage.h:
18347         Added a bunch of messages for advanced seeking.
18348
18349         * gst/parse/grammar.y:
18350         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
18351         (gst_dpman_state_changed):
18352         Fix some new-pad -> pad-added signals
18353
18354 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18355
18356         * docs/manual/appendix-porting.xml:
18357         * docs/pwg/appendix-porting.xml:
18358           Document new-pad/state-change signal renames and the FixedList
18359           type rename.
18360
18361 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18362
18363         * docs/manual/advanced-autoplugging.xml:
18364         * docs/manual/basics-helloworld.xml:
18365         * docs/manual/basics-pads.xml:
18366         * docs/random/ds/0.9-suggested-changes:
18367         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
18368         * gst/gstelement.h:
18369         * gst/gstevent.h:
18370         * gst/gstformat.h:
18371         * gst/gstquery.h:
18372         * gst/gststructure.c: (gst_structure_value_get_generic_type),
18373         (gst_structure_parse_array), (gst_structure_parse_value):
18374         * gst/gstvalue.c: (gst_type_is_fixed),
18375         (gst_value_list_prepend_value), (gst_value_list_append_value),
18376         (gst_value_list_get_size), (gst_value_list_get_value),
18377         (gst_value_transform_array_string), (gst_value_serialize_array),
18378         (gst_value_deserialize_array), (gst_value_intersect_array),
18379         (gst_value_is_fixed), (_gst_value_initialize):
18380         * gst/gstvalue.h:
18381           GstElement::new-pad -> pad-added, GstElement::state-change ->
18382           state-changed, GstValueFixedList -> GstValueArray, add format and
18383           flags as their own arguments in gst_element_seek() (should improve
18384           "bindeability"), remove function generators since they don't work
18385           under a whole bunch of compilers (they were deprecated already
18386           anyway).
18387
18388 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18389
18390         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
18391         (_gst_debug_register_funcptr):
18392         * gst/gstinfo.h:
18393           Fix illegal cast on some platforms (#309253).
18394
18395 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18396
18397         * gst/gstmessage.c: (gst_message_new_custom):
18398         * gst/gstmessage.h:
18399           Add _new_custom, make _new_application a macro to _new_custom.
18400
18401 2005-07-20  Wim Taymans  <wim@fluendo.com>
18402
18403         * gst/base/gstbasesrc.c: (gst_base_src_init),
18404         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
18405         * gst/base/gstbasesrc.h:
18406         Add a gboolean to decide when to push out a discont.
18407
18408         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
18409         (gst_queue_loop), (gst_queue_handle_src_query),
18410         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
18411         (gst_queue_set_property), (gst_queue_get_property):
18412         Some cleanups.
18413
18414         * tests/threadstate/threadstate1.c: (main):
18415         Make a thread test compile and run... very silly..
18416
18417
18418 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18419
18420         * docs/manual/appendix-porting.xml:
18421           Mention removal of libgstgconf-0.9.la and existence of gconf
18422           elements.
18423
18424 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18425
18426         * docs/pwg/advanced-clock.xml:
18427         * docs/pwg/appendix-porting.xml:
18428         * docs/pwg/intro-preface.xml:
18429         * docs/pwg/other-base.xml:
18430         * docs/pwg/other-manager.xml:
18431         * docs/pwg/other-nton.xml:
18432         * docs/pwg/other-ntoone.xml:
18433         * docs/pwg/other-oneton.xml:
18434         * docs/pwg/pwg.xml:
18435           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
18436           demuxer), remove n-to-n (was never written), fix some code examples
18437           and links and update the porting section to include all this.
18438
18439 2005-07-19  Wim Taymans  <wim@fluendo.com>
18440
18441         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
18442         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
18443         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
18444         (gst_queue_src_activate_push), (gst_queue_change_state),
18445         (gst_queue_get_property):
18446         * gst/gstqueue.h:
18447         Propagate GstFlowReturn more intelligently upstream and output
18448         an ERROR/EOS when streaming stopped due to fatal error.
18449
18450 2005-07-19  Wim Taymans  <wim@fluendo.com>
18451
18452         * tools/gst-launch.c: (check_intr), (event_loop), (main):
18453         Don't block forever for the state change to complete, the
18454         pipeline already did with a sensible timeout.
18455
18456 2005-07-19  Wim Taymans  <wim@fluendo.com>
18457
18458         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
18459         Make sure we never call the create function is we
18460         got deactivated.
18461
18462 2005-07-19  Andy Wingo  <wingo@pobox.com>
18463
18464         * gst/parse/parse.l: Attempt to solve bug #172815.
18465
18466 2005-07-19  Wim Taymans  <wim@fluendo.com>
18467
18468         * docs/design/part-clocks.txt:
18469         * docs/design/part-events.txt:
18470         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
18471         Small docs updates.
18472         Only update the seeking values when we are not
18473         busy streaming.
18474
18475 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
18476
18477         * gst/base/gstbasesrc.c: (gst_base_src_loop):
18478           Oops, ignore the result of gst_pad_push_event here.
18479
18480 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
18481
18482         * gst/base/gstbasesrc.c: (gst_base_src_loop),
18483         (gst_base_src_activate_push):
18484           Send discont event from the loop function, as pads
18485           aren't activated yet in the activate_push handler.
18486
18487         * gst/gstbin.c: (bin_bus_handler):
18488           Don't leak element name.
18489
18490 2005-07-18  Andy Wingo  <wingo@pobox.com>
18491
18492         * configure.ac: Use AS_LIBTOOL_TAGS.
18493
18494 2005-07-18  Wim Taymans  <wim@fluendo.com>
18495
18496         * docs/gst/gstreamer.types:
18497         Remove deleted types.
18498
18499 2005-07-18  Wim Taymans  <wim@fluendo.com>
18500
18501         * check/elements/gstfakesrc.c: (GST_START_TEST):
18502         * configure.ac:
18503         * gst/Makefile.am:
18504         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
18505         (init_popt_callback):
18506         * gst/gst.h:
18507         * gst/gst_private.h:
18508         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
18509         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
18510         * gst/gstbin.h:
18511         * gst/gstbus.h:
18512         * gst/gstconfig.h.in:
18513         * gst/gstelement.c: (gst_element_class_init),
18514         (gst_element_set_base_time), (gst_element_get_base_time),
18515         (iterator_fold_with_resync), (gst_element_change_state),
18516         (gst_element_dispose), (gst_element_get_bus):
18517         * gst/gstelement.h:
18518         * gst/gstelementfactory.h:
18519         * gst/gsterror.c: (_gst_core_errors_init):
18520         * gst/gsterror.h:
18521         * gst/gstevent.h:
18522         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
18523         * gst/gstindex.c:
18524         * gst/gstinfo.c: (_gst_debug_init):
18525         * gst/gstmessage.c: (_gst_message_copy):
18526         * gst/gstmessage.h:
18527         * gst/gstminiobject.h:
18528         * gst/gstobject.c:
18529         * gst/gstobject.h:
18530         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
18531         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
18532         * gst/gstpad.h:
18533         * gst/gstparse.h:
18534         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
18535         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
18536         (gst_pipeline_get_last_stream_time):
18537         * gst/gstpipeline.h:
18538         * gst/gstpluginfeature.h:
18539         * gst/gstquery.h:
18540         * gst/gstscheduler.c:
18541         * gst/gstscheduler.h:
18542         * gst/gststructure.h:
18543         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
18544         (gst_task_finalize), (gst_task_func), (gst_task_create),
18545         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
18546         (gst_task_stop), (gst_task_pause):
18547         * gst/gsttask.h:
18548         * gst/gsttypefind.h:
18549         * gst/gsttypes.h:
18550         * gst/registries/gstlibxmlregistry.c: (load_feature),
18551         (gst_xml_registry_load), (gst_xml_registry_save_feature):
18552         * gst/registries/gstxmlregistry.c:
18553         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
18554         * gst/schedulers/threadscheduler.c:
18555         * libs/gst/control/dparammanager.h:
18556         * tools/gst-inspect.c: (print_element_list),
18557         (print_plugin_features), (print_element_features):
18558         * tools/gst-xmlinspect.c: (print_element_list),
18559         (print_plugin_info), (main):
18560         Removed plugable schedulers.
18561         Removed Scheduler/Manager from elements.
18562         Removed gsttypes.h, rearranged includes.
18563         Removed dependency pad<->element, element<>pipeline, and
18564         various others,  fix includes.
18565         implement gst_pad_get_parent() with gst_object_get_parent()
18566         Make GstTask sefcontained.
18567         Fix _get_state() on GstBin, it did not return ASYNC with a 0
18568         timeout.
18569         Fix endless loop in iterator_fold_with_resync.
18570
18571
18572 2005-07-18  Wim Taymans  <wim@fluendo.com>
18573
18574         * gst/Makefile.am:
18575         * gst/gstarch.h:
18576         Remove old file.
18577
18578 2005-07-18  Wim Taymans  <wim@fluendo.com>
18579
18580         * gst/Makefile.am:
18581         No more cothreads.h
18582
18583 2005-07-18  Wim Taymans  <wim@fluendo.com>
18584
18585         * gst/cothreads.c:
18586         * gst/cothreads.h:
18587         Let's remove these.
18588
18589 2005-07-18  Wim Taymans  <wim@fluendo.com>
18590
18591         * docs/design/part-dynamic.txt:
18592         * docs/design/part-events.txt:
18593         * docs/design/part-seeking.txt:
18594         Some more docs in the works.
18595
18596         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
18597         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
18598         (gst_base_transform_setcaps), (gst_base_transform_get_size),
18599         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
18600         (gst_base_transform_handle_buffer),
18601         (gst_base_transform_sink_activate_push),
18602         (gst_base_transform_src_activate_pull),
18603         (gst_base_transform_set_passthrough),
18604         (gst_base_transform_is_passthrough):
18605         Refcounting fixes.
18606
18607         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
18608         Cleanups.
18609
18610         * gst/gstevent.c: (gst_event_finalize):
18611         Set SRC to NULL.
18612
18613         * gst/gstutils.c: (gst_element_unlink),
18614         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
18615         (gst_pad_proxy_setcaps):
18616         * gst/gstutils.h:
18617         Add _get_parent_element() to get a pads parent as an element.
18618
18619 2005-07-18  Wim Taymans  <wim@fluendo.com>
18620
18621         * check/gst/gstbin.c: (GST_START_TEST):
18622         Remove bogus test.
18623
18624 2005-07-18  Wim Taymans  <wim@fluendo.com>
18625
18626         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
18627         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
18628         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
18629         (gst_base_sink_event), (gst_base_sink_do_sync),
18630         (gst_base_sink_chain), (gst_base_sink_loop),
18631         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
18632         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
18633         Refcounting fixes.
18634         Fix logic for returning ASYNC when not prerolled.
18635
18636 2005-07-18  Wim Taymans  <wim@fluendo.com>
18637
18638         * gst/gstqueue.c: (gst_queue_handle_sink_event):
18639         Fix nasty refcount bug.
18640
18641 2005-07-16 Philippe Khalaf <burger@speedy.org>
18642
18643         * gst/elements/gstfdsrc.c:
18644         * gst/elements/gstfdsrc.h:
18645         * gst/elements/gstelements.c:
18646         * gst/elements/Makefile.am:
18647         Ported fdsrc to 0.9.
18648
18649 2005-07-16  Wim Taymans  <wim@fluendo.com>
18650
18651         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18652         (gst_base_sink_do_sync):
18653         Fix compile error.
18654
18655 2005-07-16  Wim Taymans  <wim@fluendo.com>
18656
18657         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18658         (gst_base_sink_event), (gst_base_sink_get_times),
18659         (gst_base_sink_do_sync), (gst_base_sink_change_state):
18660         * gst/base/gstbasesink.h:
18661         Store and use discont values when syncing buffers as described
18662         in design docs.
18663         
18664         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
18665         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
18666         (gst_base_src_activate_push):
18667         Push discont event when starting.
18668
18669         * gst/elements/gstidentity.c: (gst_identity_transform):
18670         Small cleanups.
18671
18672         * gst/gstbin.c: (gst_bin_change_state):
18673         Small cleanups in base_time  distribution.
18674
18675         * gst/gstelement.c: (gst_element_set_base_time),
18676         (gst_element_get_base_time), (gst_element_change_state):
18677         * gst/gstelement.h:
18678         Added methods for the base_time of the element.
18679         Some MT fixes.
18680
18681         * gst/gstpipeline.c: (gst_pipeline_send_event),
18682         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
18683         (gst_pipeline_get_last_stream_time):
18684         * gst/gstpipeline.h:
18685         MT fixes.
18686         Handle seeking as described in design doc, remove stream_time
18687         hack.
18688         Cleanups clock and stream_time selection code. Added accessors
18689         for the stream_time.
18690         
18691
18692 2005-07-16  Andy Wingo  <wingo@pobox.com>
18693
18694         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
18695         (#305291).
18696
18697 2005-07-16  Wim Taymans  <wim@fluendo.com>
18698
18699         * check/gst/gstbin.c: (GST_START_TEST):
18700         Make elements silent as the deep_notify refs the
18701         parent, which might make the test fail.
18702
18703         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
18704         Don't hold the lock for too long.
18705
18706 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
18707
18708         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
18709           Don't unref the caps we passed to gst_caps_make_writable() after
18710           passing them. gst_caps_make_writable() will do that for us.
18711
18712 2005-07-15  Andy Wingo  <wingo@pobox.com>
18713
18714         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
18715         (#157311).
18716
18717         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
18718         own marshalling function for the handoff signal. Properly type the
18719         buffer as a buffer. Fixes some warnings. Should do a more general
18720         solution.
18721         (gst_identity_class_init): Plug into the right marshaller.
18722
18723 2005-07-15  Wim Taymans  <wim@fluendo.com>
18724
18725         * docs/design/part-TODO.txt:
18726         * docs/design/part-clocks.txt:
18727         * docs/design/part-element-sink.txt:
18728         * docs/design/part-events.txt:
18729         * docs/design/part-gstpipeline.txt:
18730         Updated docs, mostly DISCONT related.
18731
18732 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
18733
18734         * docs/pwg/building-pads.xml:
18735           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
18736
18737 2005-07-15  Andy Wingo  <wingo@pobox.com>
18738
18739         * tools/gst-typefind.c: Update, add copyright block.
18740
18741         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
18742         Normalize and truncate caps before fixation.
18743
18744         * gst/gstcaps.h:
18745         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
18746         discards all but the first structure from its argument.
18747
18748 2005-07-15  Wim Taymans  <wim@fluendo.com>
18749
18750         * gst/base/gstbasetransform.c: (gst_base_transform_init),
18751         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
18752         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
18753         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
18754         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
18755         (gst_base_transform_chain), (gst_base_transform_change_state),
18756         (gst_base_transform_set_passthrough),
18757         (gst_base_transform_is_passthrough):
18758         * gst/base/gstbasetransform.h:
18759         Make passthrough work using the bufferpools.
18760         Changed API a bit, subclasses have to write into a buffer
18761         provided by the base class.
18762         More debug info in nego functions.
18763         
18764         * gst/elements/gstidentity.c: (gst_identity_init),
18765         (gst_identity_transform):
18766         Port to new base class.
18767
18768 2005-07-15  Wim Taymans  <wim@fluendo.com>
18769
18770         * gst/gstmessage.c: (gst_message_new_state_changed):
18771         * tools/gst-launch.c: (event_loop), (main):
18772         Totally dump messages in -launch with the -m option.
18773         Fix message name for State messages,
18774
18775 2005-07-14  Wim Taymans  <wim@fluendo.com>
18776
18777         * gst/base/gstbasesrc.c: (gst_base_src_loop):
18778         Post error messages on errors.
18779
18780 2005-07-14  Wim Taymans  <wim@fluendo.com>
18781
18782         * gst/gstcaps.c: (gst_caps_do_simplify):
18783         Remove debug info.
18784
18785         * gst/gsterror.h:
18786         Define error for stream stopped.
18787
18788         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
18789         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
18790         Do proper return values.
18791
18792         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
18793         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
18794         (gst_pad_get_range):
18795         Better return values.
18796
18797         * gst/gstpad.h:
18798         Reorganise return values, add macro to check for fatal errors.
18799
18800         * gst/gstqueue.c: (gst_queue_chain):
18801         Return proper GstFlowReturn values,
18802
18803 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
18804
18805         * docs/gst/gstreamer-sections.txt:
18806         * docs/gst/gstreamer.types:
18807         * docs/gst/tmpl/gst.sgml:
18808         * docs/gst/tmpl/gstbasesink.sgml:
18809         * docs/gst/tmpl/gstbasesrc.sgml:
18810         * docs/gst/tmpl/gstbasetransform.sgml:
18811         * docs/gst/tmpl/gstbin.sgml:
18812         * docs/gst/tmpl/gstbuffer.sgml:
18813         * docs/gst/tmpl/gstcaps.sgml:
18814         * docs/gst/tmpl/gstclock.sgml:
18815         * docs/gst/tmpl/gstcompat.sgml:
18816         * docs/gst/tmpl/gstconfig.sgml:
18817         * docs/gst/tmpl/gstelement.sgml:
18818         * docs/gst/tmpl/gstelementdetails.sgml:
18819         * docs/gst/tmpl/gstelementfactory.sgml:
18820         * docs/gst/tmpl/gstenumtypes.sgml:
18821         * docs/gst/tmpl/gsterror.sgml:
18822         * docs/gst/tmpl/gstevent.sgml:
18823         * docs/gst/tmpl/gstfakesink.sgml:
18824         * docs/gst/tmpl/gstfakesrc.sgml:
18825         * docs/gst/tmpl/gstfilesink.sgml:
18826         * docs/gst/tmpl/gstfilesrc.sgml:
18827         * docs/gst/tmpl/gstfilter.sgml:
18828         * docs/gst/tmpl/gstformat.sgml:
18829         * docs/gst/tmpl/gstghostpad.sgml:
18830         * docs/gst/tmpl/gstimplementsinterface.sgml:
18831         * docs/gst/tmpl/gstindex.sgml:
18832         * docs/gst/tmpl/gstindexfactory.sgml:
18833         * docs/gst/tmpl/gstinfo.sgml:
18834         * docs/gst/tmpl/gstiterator.sgml:
18835         * docs/gst/tmpl/gstmacros.sgml:
18836         * docs/gst/tmpl/gstmemchunk.sgml:
18837         * docs/gst/tmpl/gstminiobject.sgml:
18838         * docs/gst/tmpl/gstobject.sgml:
18839         * docs/gst/tmpl/gstpad.sgml:
18840         * docs/gst/tmpl/gstpadtemplate.sgml:
18841         * docs/gst/tmpl/gstparse.sgml:
18842         * docs/gst/tmpl/gstpipeline.sgml:
18843         * docs/gst/tmpl/gstplugin.sgml:
18844         * docs/gst/tmpl/gstpluginfeature.sgml:
18845         * docs/gst/tmpl/gstquery.sgml:
18846         * docs/gst/tmpl/gstqueue.sgml:
18847         * docs/gst/tmpl/gstregistry.sgml:
18848         * docs/gst/tmpl/gstregistrypool.sgml:
18849         * docs/gst/tmpl/gstscheduler.sgml:
18850         * docs/gst/tmpl/gstschedulerfactory.sgml:
18851         * docs/gst/tmpl/gststructure.sgml:
18852         * docs/gst/tmpl/gstsystemclock.sgml:
18853         * docs/gst/tmpl/gsttaglist.sgml:
18854         * docs/gst/tmpl/gsttagsetter.sgml:
18855         * docs/gst/tmpl/gsttrace.sgml:
18856         * docs/gst/tmpl/gsttrashstack.sgml:
18857         * docs/gst/tmpl/gsttypefind.sgml:
18858         * docs/gst/tmpl/gsttypefindfactory.sgml:
18859         * docs/gst/tmpl/gsttypes.sgml:
18860         * docs/gst/tmpl/gsturihandler.sgml:
18861         * docs/gst/tmpl/gsturitype.sgml:
18862         * docs/gst/tmpl/gstutils.sgml:
18863         * docs/gst/tmpl/gstvalue.sgml:
18864         * docs/gst/tmpl/gstversion.sgml:
18865         * docs/gst/tmpl/gstxml.sgml:
18866         * docs/libs/tmpl/gstcontrol.sgml:
18867         * docs/libs/tmpl/gstdataprotocol.sgml:
18868         * docs/libs/tmpl/gstdparam.sgml:
18869         * docs/libs/tmpl/gstdplinint.sgml:
18870         * docs/libs/tmpl/gstdpman.sgml:
18871         * docs/libs/tmpl/gstdpsmooth.sgml:
18872         * docs/libs/tmpl/gstgetbits.sgml:
18873         * docs/libs/tmpl/gstunitconvert.sgml:
18874         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
18875         (gst_push_src_base_init), (gst_push_src_class_init),
18876         (gst_push_src_init), (gst_push_src_create):
18877         * gst/base/gstpushsrc.h:
18878         * gst/elements/gstelements.c:
18879         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
18880         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
18881         (gst_fake_sink_init), (gst_fake_sink_set_property),
18882         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
18883         (gst_fake_sink_event), (gst_fake_sink_preroll),
18884         (gst_fake_sink_render), (gst_fake_sink_change_state):
18885         * gst/elements/gstfakesink.h:
18886         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
18887         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
18888         (gst_fake_src_base_init), (gst_fake_src_class_init),
18889         (gst_fake_src_init), (gst_fake_src_event_handler),
18890         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
18891         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
18892         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
18893         (gst_fake_src_create_buffer), (gst_fake_src_create),
18894         (gst_fake_src_start), (gst_fake_src_stop):
18895         * gst/elements/gstfakesrc.h:
18896         * gst/elements/gstfilesink.c: (_do_init),
18897         (gst_file_sink_base_init), (gst_file_sink_class_init),
18898         (gst_file_sink_init), (gst_file_sink_dispose),
18899         (gst_file_sink_set_location), (gst_file_sink_set_property),
18900         (gst_file_sink_get_property), (gst_file_sink_open_file),
18901         (gst_file_sink_close_file), (gst_file_sink_query),
18902         (gst_file_sink_event), (gst_file_sink_render),
18903         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
18904         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
18905         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
18906         * gst/elements/gstfilesink.h:
18907         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
18908         (gst_file_src_class_init), (gst_file_src_init),
18909         (gst_file_src_finalize), (gst_file_src_set_location),
18910         (gst_file_src_set_property), (gst_file_src_get_property),
18911         (gst_file_src_map_region), (gst_file_src_map_small_region),
18912         (gst_file_src_create_mmap), (gst_file_src_create_read),
18913         (gst_file_src_create), (gst_file_src_is_seekable),
18914         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
18915         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
18916         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
18917         (gst_file_src_uri_handler_init):
18918         * gst/elements/gstfilesrc.h:
18919           more autistic cleanliness in functions/names/defines
18920
18921 2005-07-13  Andy Wingo  <wingo@pobox.com>
18922
18923         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
18924         source couldn't negotiate.
18925
18926         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
18927         connections again.
18928
18929         * gst/gstutils.h:
18930         * gst/gstutils.c (gst_element_link_pads_filtered): New old
18931         function. I am channeling Hades. Put your boots on suckers!!!
18932
18933 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
18934
18935         * testsuite/caps/Makefile.am:
18936         * testsuite/caps/value_compare.c:
18937         * testsuite/caps/value_intersect.c:
18938         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
18939           move two testsuite apps over to the check dir
18940
18941 2005-07-12  Wim Taymans  <wim@fluendo.com>
18942
18943         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
18944         Added more debug info in the negotiate process.
18945
18946         * gst/gstmessage.h:
18947         Prepare for segment playback.
18948
18949         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
18950         Better debugging.
18951
18952         * gst/gstutils.c:
18953         Some more docs.
18954
18955         * tools/gst-launch.c: (main):
18956         NULL pipeline on errors.
18957
18958 2005-07-12  Andy Wingo  <wingo@pobox.com>
18959
18960         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
18961         not it comes from a malloc region. Make sure our copy gets freed.
18962
18963 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18964
18965         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
18966         * check/gst/gstmessage.c: (GST_START_TEST):
18967         * check/gst/gststructure.c: (GST_START_TEST),
18968         (gst_structure_suite), (main):
18969           more testing
18970         * gst/gstelement.c: (gst_element_message_full):
18971           clean up GError and debug string now that they get copied
18972         * gst/gstmessage.c: (gst_message_new_error),
18973         (gst_message_new_warning), (gst_message_parse_error),
18974         (gst_message_parse_warning):
18975           use GST_TYPE_G_ERROR for structure_new, and take copies of
18976           arguments, so that we don't mess up refcounting
18977
18978 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18979
18980         * check/Makefile.am:
18981           add per-test valgrind targets
18982         * check/gst-libs/gdp.c: (GST_START_TEST),
18983         (gst_data_protocol_suite), (main):
18984           clean up
18985
18986 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18987
18988         * check/Makefile.am:
18989           instate more valgrindable tests
18990         * check/elements/gstfakesrc.c: (chain_func), (event_func),
18991         (GST_START_TEST), (fakesrc_suite):
18992         * check/gst/gstpad.c: (GST_START_TEST):
18993         * check/gst/gststructure.c: (GST_START_TEST):
18994           fix test leaks
18995         * docs/gst/tmpl/gstminiobject.sgml:
18996         * gst/gstpad.c: (gst_pad_finalize):
18997           fix the static mutex leak
18998
18999 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19000
19001         * check/Makefile.am:
19002           add two more tests for valgrinding
19003         * check/gst/gstvalue.c: (GST_START_TEST):
19004           test refcount of deserialized buffer, found a leak
19005         * docs/gst/gstreamer-docs.sgml:
19006         * docs/gst/gstreamer-sections.txt:
19007         * docs/gst/gstreamer.types:
19008         * docs/gst/tmpl/gstminiobject.sgml:
19009           add miniobject to docs
19010         * gst/gstminiobject.c:
19011           add some docs
19012         * gst/gstvalue.c: (gst_value_deserialize_buffer),
19013         (gst_string_unwrap):
19014           fix a hard-to-find invalid write for one of the tests
19015           fix a leak for deserialized buffers
19016
19017 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19018
19019         * docs/pwg/advanced-events.xml:
19020         * docs/pwg/advanced-request.xml:
19021         * docs/pwg/advanced-scheduling.xml:
19022         * docs/pwg/appendix-porting.xml:
19023         * docs/pwg/building-boiler.xml:
19024         * docs/pwg/intro-preface.xml:
19025         * docs/pwg/other-ntoone.xml:
19026           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
19027           of example code and explanation for pad activation, loop() and
19028           getrange() functions and a bit more. Remove old comments pointing
19029           to loop-functions.
19030         * examples/pwg/Makefile.am:
19031           Add loop/getrange examples.
19032
19033 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19034
19035         * configure.ac:
19036           check for valgrind binary + some fixes
19037         * check/gst.supp:
19038           valgrind suppressions for the tests
19039         * check/Makefile.am:
19040           add a valgrind: target that valgrinds the unit tests
19041         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
19042         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
19043         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
19044         * check/gst/gstghostpad.c:
19045           added some cleanup
19046         * check/gst/gstdata.c:
19047           removed
19048         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
19049         (thread_unref), (gst_mini_object_suite), (main):
19050           added
19051         * gst/gst.c: (gst_deinit):
19052         * gst/gst.h:
19053           add a method to clean up.
19054         * gst/gstsystemclock.c: (gst_system_clock_dispose),
19055         (gst_system_clock_obtain):
19056           allow for disposing the system clock.
19057         * tools/gst-launch.c: (main):
19058           deinit
19059
19060 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19061
19062         * docs/gst/tmpl/gstbasesrc.sgml:
19063         * docs/gst/tmpl/gstfakesrc.sgml:
19064         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
19065         (gst_base_src_init), (gst_base_src_set_property),
19066         (gst_base_src_get_property), (gst_base_src_get_range),
19067         (gst_base_src_start):
19068         * gst/base/gstbasesrc.h:
19069           add num-buffers property
19070         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
19071         (gst_fakesrc_init), (gst_fakesrc_set_property),
19072         (gst_fakesrc_get_property), (gst_fakesrc_create),
19073         (gst_fakesrc_start):
19074           remove num-buffers property
19075
19076 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19077
19078         * docs/gst/gstreamer-sections.txt:
19079         * docs/gst/tmpl/gstbasesink.sgml:
19080         * docs/gst/tmpl/gstbasesrc.sgml:
19081         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
19082         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
19083         (gst_base_sink_finalize), (gst_base_sink_set_clock),
19084         (gst_base_sink_set_property), (gst_base_sink_get_property),
19085         (gst_base_sink_handle_object), (gst_base_sink_event),
19086         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
19087         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
19088         (gst_base_sink_loop), (gst_base_sink_deactivate),
19089         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
19090         (gst_base_sink_change_state):
19091         * gst/base/gstbasesink.h:
19092         * gst/base/gstbasesrc.h:
19093         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
19094         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
19095         (gst_filesink_init):
19096           more macro splitting
19097
19098 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19099
19100         * gst/gstelement.c: (gst_element_get_bus):
19101           add debug
19102         * tools/gst-launch.c: (check_intr), (event_loop):
19103           fix bus leaks
19104
19105 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19106
19107         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
19108           fix a caps leak
19109
19110 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19111
19112         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
19113         (gst_base_src_finalize):
19114           add finalize method and clean up properly
19115         * gst/gstpipeline.c: (gst_pipeline_dispose):
19116           add debug
19117
19118 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
19119
19120         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
19121         (gst_bin_suite):
19122           add more things to check
19123         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
19124         * gst/gstelement.c:
19125           more debug
19126
19127 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
19128
19129         * check/elements/gstfakesrc.c: (chain_func), (event_func),
19130         (GST_START_TEST), (fakesrc_suite):
19131         * check/gst-libs/gdp.c: (GST_START_TEST):
19132         * check/gst/gst.c: (GST_START_TEST):
19133         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
19134         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
19135         * check/gst/gstbus.c: (GST_START_TEST):
19136         * check/gst/gstcaps.c: (GST_START_TEST):
19137         * check/gst/gstdata.c: (GST_START_TEST):
19138         * check/gst/gstelement.c: (GST_START_TEST):
19139         * check/gst/gstghostpad.c: (GST_START_TEST):
19140         * check/gst/gstiterator.c: (GST_START_TEST):
19141         * check/gst/gstmessage.c: (GST_START_TEST):
19142         * check/gst/gstobject.c: (GST_START_TEST):
19143         * check/gst/gstpad.c: (GST_START_TEST):
19144         * check/gst/gststructure.c: (GST_START_TEST):
19145         * check/gst/gstsystemclock.c: (GST_START_TEST),
19146         (gst_systemclock_suite):
19147         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
19148         * check/gst/gstvalue.c: (GST_START_TEST):
19149         * check/pipelines/cleanup.c: (GST_START_TEST):
19150         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
19151         * check/states/sinks.c: (GST_START_TEST):
19152         * check/gstcheck.c: (gst_check_init):
19153         * check/gstcheck.h:
19154           add debugging category
19155           use GST_START_TEST now, so we add a debug line
19156
19157 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
19158
19159         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
19160           add test for state change message on a bin
19161         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
19162           add another test
19163         * gst/gstbin.c: (gst_bin_init):
19164         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
19165         * gst/gstelement.c: (gst_element_post_message),
19166         (gst_element_set_state):
19167         * gst/gstelementfactory.c: (gst_element_factory_create):
19168         * gst/gstmessage.c: (gst_message_new):
19169         * gst/gstscheduler.c:
19170           various debugging additions and cleanups
19171
19172 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19173
19174         * check/Makefile.am:
19175         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
19176         (main):
19177           adding tests for elements
19178         * gst/gstelement.c: (gst_element_dispose):
19179
19180 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19181
19182         * gst/registries/gstlibxmlregistry.c: (load_feature):
19183           plug more leaks.  A simple gst_init() now is leakfree, yay.
19184
19185 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19186
19187         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
19188         (gst_xml_registry_load):
19189           plug another memleak
19190
19191 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19192
19193         * configure.ac:
19194           use GST_SET_ERROR_CFLAGS
19195         * docs/faq/cvs.xml:
19196           change to ERROR_CFLAGS
19197
19198 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19199
19200         * configure.ac:
19201           make GST_ERROR_CFLAGS overridable and re-enable Werror
19202         * docs/faq/cvs.xml:
19203           add a note about error CFLAGS
19204         * docs/gst/tmpl/gstfakesrc.sgml:
19205         * gst/elements/gstfakesrc.c:
19206           comment out some unused code
19207         * gst/gst.c: (split_and_iterate):
19208         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
19209         (load_feature):
19210           plug some memleaks
19211
19212 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
19213
19214         * common/Makefile.am:
19215         * common/gtk-doc.mak:
19216         * docs/gst/Makefile.am:
19217           factor out gtk-doc.mak
19218
19219 2005-07-07  Wim Taymans  <wim@fluendo.com>
19220
19221         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
19222         (gst_thread_scheduler_dispose):
19223         Unlock the STREAM_LOCK completely.
19224
19225 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
19226
19227         * check/Makefile.am:
19228         * check/elements/.cvsignore:
19229         * check/elements/gstfakesrc.c: (chain_func), (event_func),
19230         (START_TEST), (fakesrc_suite), (main):
19231         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
19232         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
19233         (gst_fakesrc_create), (gst_fakesrc_start):
19234         * gst/elements/gstfakesrc.h:
19235           adding a first element test
19236
19237 2005-07-07  Andy Wingo  <wingo@pobox.com>
19238
19239         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
19240         debug message.
19241
19242 2005-07-07  Wim Taymans  <wim@fluendo.com>
19243
19244         * gst/gstquery.c:
19245         * gst/gstquery.h:
19246         Remove old types
19247
19248 2005-07-07  Wim Taymans  <wim@fluendo.com>
19249
19250         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
19251         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
19252         Allow subclasses to implement their own negotiation.
19253
19254 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
19255
19256         * docs/design/part-gstbin.txt:
19257         * docs/design/part-gstpipeline.txt:
19258           Update design notes to reflect the movement of
19259           responsibility for bus handling from GstPipeline to
19260           GstBin
19261
19262 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
19263
19264         * configure.ac:
19265           Remove unnecessary queue2/3/4 examples.
19266
19267 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
19268
19269         * examples/Makefile.am:
19270         * examples/helloworld/helloworld.c: (event_loop), (main):
19271         * examples/queue/queue.c: (event_loop), (main):
19272         * examples/queue2/queue2.c: (main):
19273           Update a couple of the examples to work again.
19274
19275         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
19276         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
19277          Spelling corrections and extra debug.
19278         
19279         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
19280         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
19281         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
19282         * gst/gstbin.h:
19283         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
19284         (gst_pipeline_change_state):
19285         * gst/gstpipeline.h:
19286           Move the bus handler for children to the GstBin, and create a
19287           separate bus for receiving messages from children to the one the
19288           bus sends 'upwards' on.
19289
19290 2005-07-06  Wim Taymans  <wim@fluendo.com>
19291
19292         * gst/base/README:
19293         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
19294         (gst_base_sink_handle_object), (gst_base_sink_loop),
19295         (gst_base_sink_change_state):
19296         * gst/base/gstbasesink.h:
19297         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
19298         (gst_base_src_init), (gst_base_src_setcaps),
19299         (gst_base_src_getcaps), (gst_base_src_loop),
19300         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
19301         (gst_base_src_start), (gst_base_src_change_state):
19302         * gst/base/gstbasesrc.h:
19303         Make basesrc negotiate.
19304         Handle the case where preroll fails in basesink.
19305         Update README.
19306
19307 2005-07-06  Wim Taymans  <wim@fluendo.com>
19308
19309         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
19310         Implement the fixate function.
19311         Clean up acceptcaps.
19312
19313 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19314
19315         * docs/pwg/building-filterfactory.xml:
19316         * docs/pwg/pwg.xml:
19317           Remove never-written filter-factory chapter; I'll add the various
19318           base classes to part 4 ("other element types") later on.
19319
19320 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19321
19322         * docs/pwg/advanced-negotiation.xml:
19323         * docs/pwg/building-boiler.xml:
19324         * docs/pwg/building-pads.xml:
19325         * docs/pwg/pwg.xml:
19326         * examples/pwg/Makefile.am:
19327           Add a chapter on caps negotiation, simplify the original code
19328           samples a bit w.r.t. caps negotiation, add link to the advanced
19329           section. Add a bunch of examples showing different use cases of
19330           different types of caps negotiation. Upstream renegotiation isn't
19331           fully documented yet since nobody knows how that works.
19332
19333 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
19334
19335         * check/gst/gstpad.c:
19336         * check/gstcheck.c:
19337         * gst/gstpad.c: (gst_pad_get_internal_links_default):
19338           if pad has no parent, return NULL as list of internal links
19339
19340 2005-07-05  Andy Wingo  <wingo@pobox.com>
19341
19342         * gst/elements/gstfilesrc.c:
19343         * gst/elements/gstfakesrc.c: 
19344         * gst/base/gstpushsrc.c:
19345         * gst/base/gstbasesrc.h: 
19346         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
19347         
19348 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
19349
19350         * Makefile.am:
19351           better report generation target (lcov needs a patch)
19352
19353 2005-07-05  Andy Wingo  <wingo@pobox.com>
19354
19355         * gst/elements, testsuite: Null if we got it...
19356
19357 2005-07-05  Wim Taymans  <wim@fluendo.com>
19358
19359         * configure.ac:
19360         * libs/gst/dataprotocol/Makefile.am:
19361         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
19362         * libs/gst/dataprotocol/dataprotocol.h:
19363         * pkgconfig/Makefile.am:
19364         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
19365         * pkgconfig/gstreamer-dataprotocol.pc.in:
19366         Ported dataprotol to 0.9. 
19367         Added pkgconfig files.
19368
19369 2005-07-05  Andy Wingo  <wingo@pobox.com>
19370
19371         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
19372         Default to returning TRUE for the case when tranform_caps returns
19373         a fixed caps, like for identity or volume.
19374
19375         * check/gst/gstbus.c (pound_bus_with_messages): 
19376         * check/gst/gstmessage.c (START_TEST): 
19377         * check/pipelines/simple_launch_lines.c (got_handoff): Application
19378         message API change.
19379
19380         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
19381         logic weaks here: always run transform_caps, trying passthrough
19382         operation only if the original caps intersects with the transform.
19383
19384         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
19385         source and sink caps.
19386
19387         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
19388         Intersect the peer caps with the pad template before going into
19389         transform_caps.
19390         (gst_base_transform_transform_caps): More debugging.
19391
19392         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
19393         src argument.
19394
19395 2005-07-04  Edward Hervey  <edward@fluendo.com>
19396
19397         * gst/gstutils.c:
19398         * gst/gstutils.h:
19399         (gst_pad_add_*_probe): now returns the signal id for better wrapping
19400         in bindings.
19401
19402 2005-07-04  Andy Wingo  <wingo@pobox.com>
19403
19404         * check/gst/gstpad.c: Only set explicit caps on pads.
19405
19406 2005-07-01  Andy Wingo  <wingo@pobox.com>
19407
19408         * tests/network-clock.scm: Commentary update.
19409
19410         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
19411         Didn't really make sense, not implementable with basetransform,
19412         etc.
19413         (gst_identity_transform): Unref inbuf via make_writable. Feeble
19414         attempt at implementing the sync property, needs an unlock method.
19415
19416         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
19417         New func, by default returns the same caps (the identity
19418         transformation).
19419         (gst_base_transform_getcaps): Uses transform_caps to return
19420         something sensible.
19421         (gst_base_transform_setcaps): Complicated logic to get caps on
19422         both pads, even if they are different, and to call set_caps once
19423         for every time both pads get their caps set.
19424         (gst_base_transform_handle_buffer): Give the ref to the transform
19425         function. Allows in-place modification of the buffer.
19426
19427         * gst/base/gstbasetransform.h (transform_caps): New class method.
19428         Given caps on one side, what can I do on the other.
19429         (set_caps): Take two caps, one for each side of the element.
19430
19431         * gst/gstpad.h:
19432         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
19433         caps in place. This is safe because we can check the mutability of
19434         the caps, and a good idea because fixate functions are just called
19435         as a matter of last resort. (Not actually implemented.)
19436         (gst_pad_set_caps): If the caps we're setting is actually the same
19437         as the existing pad caps, just update the pointer without calling
19438         setcaps. Assert that caps is either NULL or fixed, as per the
19439         docs.
19440
19441         * gst/gstghostpad.c: Update for fixate changes.
19442
19443 2005-07-02  Andy Wingo  <wingo@pobox.com>
19444
19445         * gst/gstcaps.c:
19446         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
19447         two refcounts makes it immutable, which is enough. Doc more.
19448
19449 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
19450
19451         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
19452           Put the mini_object into GValue as a mini_object,
19453           not a gpointer, since that's how we declared
19454           the signal.
19455
19456 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19457
19458         * examples/pwg/Makefile.am:
19459           Fix buildbot again.
19460
19461 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19462
19463         * docs/pwg/building-testapp.xml:
19464           Add extra check.
19465         * examples/pwg/Makefile.am:
19466           Fix buildbot.
19467
19468 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19469
19470         * configure.ac:
19471         * examples/Makefile.am:
19472         * examples/pwg/Makefile.am:
19473         * examples/pwg/extract.pl:
19474           Enable building the PWG examples.
19475         * docs/pwg/advanced-interfaces.xml:
19476           Add URI interface stub.
19477         * docs/pwg/advanced-types.xml:
19478         * docs/pwg/other-autoplugger.xml:
19479         * docs/pwg/appendix-porting.xml:
19480         * docs/pwg/pwg.xml:
19481           Add porting guide (mostly stubs), remove autoplugging (see ADM).
19482         * docs/pwg/building-boiler.xml:
19483         * docs/pwg/building-chainfn.xml:
19484         * docs/pwg/building-pads.xml:
19485         * docs/pwg/building-props.xml:
19486         * docs/pwg/building-state.xml:
19487         * docs/pwg/building-testapp.xml:
19488           Update the building-*.xml parts for 0.9 changes. All examples
19489           code blocks compile in examples/pwg/*.
19490
19491 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19492
19493         * docs/manual/advanced-autoplugging.xml:
19494         * docs/manual/appendix-checklist.xml:
19495         * docs/manual/appendix-integration.xml:
19496         * docs/manual/highlevel-components.xml:
19497           Fix playbin/decodebin examples, update docs a bit, mention bus
19498           instead of signals in various places, mention kmplayer and
19499           kaffeine since they have a working GStreamer backend in the KDE
19500           section.
19501
19502 2005-06-30  Wim Taymans  <wim@fluendo.com>
19503
19504         * CHANGES-0.9:
19505         * docs/design/draft-ghostpads.txt:
19506         * docs/design/draft-push-pull.txt:
19507         * docs/design/draft-query.txt:
19508         * docs/design/part-TODO.txt:
19509         * docs/design/part-query.txt:
19510         Added CHANGES-0.9 doc, updated status of other docs.
19511         
19512         * gst/gstquery.h:
19513         Remove "hmm" macro
19514
19515 2005-06-30  Wim Taymans  <wim@fluendo.com>
19516
19517         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
19518         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
19519         (gst_base_sink_change_state):
19520         * gst/base/gstbasesink.h:
19521         Some tweaks, only EOS and a buffer complete a preroll.
19522
19523 2005-06-30  Andy Wingo  <wingo@pobox.com>
19524
19525         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
19526         activate_push down to the internal pad as well.
19527
19528 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
19529
19530         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19531
19532         * gst/gsttaginterface.c:
19533           Some documentation fixes (#307394 and #307397).
19534
19535 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
19536
19537         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19538
19539         * gst/gstvalue.c: (gst_value_intersect_list):
19540           Fix memleak (#309125).
19541
19542 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19543
19544         * docs/manual/advanced-dataaccess.xml:
19545           Fix fakesrc example to compile; doesn't work, bug somewhere...?
19546         * docs/manual/basics-pads.xml:
19547           Add reference for filtered caps to above chapter.
19548
19549 2005-06-30  Wim Taymans  <wim@fluendo.com>
19550
19551         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
19552         (gst_bin_change_state):
19553         Probes are gone.
19554         Lame attempt at making the state change function a bit
19555         more readable.
19556
19557 2005-06-30  Wim Taymans  <wim@fluendo.com>
19558
19559         * docs/design/part-clocks.txt:
19560         * docs/design/part-element-sink.txt:
19561         * docs/design/part-events.txt:
19562         * docs/design/part-preroll.txt:
19563         * docs/design/part-states.txt:
19564         Some more tweeks and additions to the docs.
19565
19566 2005-06-30  Wim Taymans  <wim@fluendo.com>
19567
19568         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
19569         (default_have_data), (gst_pad_class_init), (gst_pad_init),
19570         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
19571         (gst_pad_check_pull_range), (gst_pad_get_range),
19572         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
19573         * gst/gstpad.h:
19574         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
19575         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
19576         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
19577         (gst_pad_remove_buffer_probe):
19578         Removed atomic operations, use existing LOCK.
19579         Move exception handling out of main code path.
19580
19581 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19582
19583         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
19584         (silly_return_true_function), (gst_pad_class_init),
19585         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
19586         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
19587         (gst_pad_send_event):
19588           Fix accumulator, add default value by using _emitv() instead
19589           of _emit() for signal emission.
19590
19591 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19592
19593         * docs/manual/advanced-dataaccess.xml:
19594         * examples/manual/Makefile.am:
19595           Add probe example.
19596         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
19597           Make work (??).
19598
19599 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
19600
19601         * gst/elements/gstfilesink.c: (gst_filesink_render):
19602           Simplify code so that we don't have to handle short
19603           writes and return GST_FLOW_ERROR if an error occured.
19604
19605 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19606
19607         * docs/gst/gstreamer-docs.sgml:
19608           Remove probes more.
19609
19610 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19611
19612         * docs/gst/gstreamer-sections.txt:
19613         * docs/gst/tmpl/gstpad.sgml:
19614         * docs/gst/tmpl/gstprobe.sgml:
19615         * gst/Makefile.am:
19616         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
19617         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
19618         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
19619         (gst_pad_push_event), (gst_pad_send_event):
19620         * gst/gstpad.h:
19621         * gst/gstutils.c: (gst_pad_add_data_probe),
19622         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
19623         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
19624         (gst_pad_remove_buffer_probe):
19625         * gst/gstutils.h:
19626           Remove old probes, add new g-signal-based probes and some utility
19627           functions.
19628
19629 2005-06-29  Edward Hervey  <edward@fluendo.com>
19630
19631         * gst/gstelementfactory.c:
19632         * gst/gstutils.h:
19633         * gst/gstutils.c:
19634         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
19635         the definition to the header file.
19636
19637 2005-06-29  Andy Wingo  <wingo@pobox.com>
19638
19639         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
19640         plugins from the source directory.
19641
19642 2005-06-29  Wim Taymans  <wim@fluendo.com>
19643
19644         * docs/gst/tmpl/gstbuffer.sgml:
19645         * docs/gst/tmpl/gstclock.sgml:
19646         Some fixings for blantently wrong text.
19647
19648 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19649
19650         * check/Makefile.am:
19651         * gst/gst.c: (add_path_func), (init_pre):
19652         * gst/gstregistry.c: (gst_registry_add_path):
19653           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
19654           only scan the GST_PLUGIN_PATH locations, and not add
19655           system locations
19656
19657 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19658
19659         * docs/gst/gstreamer-sections.txt:
19660         * docs/gst/tmpl/gstbasesrc.sgml:
19661         * gst/gstelement.c:
19662         * gst/gstelement.h:
19663         * gst/gstevent.c:
19664         * gst/gstutils.c:
19665           doc fixes
19666
19667 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19668
19669         * docs/manual/advanced-autoplugging.xml:
19670           Fix autoplugging example.
19671
19672 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19673
19674         * docs/manual/advanced-autoplugging.xml:
19675         * docs/manual/mime-world.fig:
19676           Try to get autoplugging working, fix type detection. Fix text
19677           in hello-world image.
19678
19679 2005-06-29  Wim Taymans  <wim@fluendo.com>
19680
19681         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19682         (gst_base_sink_change_state):
19683         Small debug line.
19684
19685         * gst/gstclock.h:
19686         map SIGNAL and BROADCAST to the right function.
19687
19688         * gst/gstobject.h:
19689         Remove redundant braces.
19690
19691         * gst/gstpad.c: (gst_pad_set_caps):
19692         Don't call setcaps function when reseting caps to NULL.
19693
19694         * gst/gstsystemclock.c: (gst_system_clock_dispose),
19695         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
19696         (gst_system_clock_id_unschedule):
19697         Use BROADCAST as this is what we do.
19698
19699 2005-06-29  Wim Taymans  <wim@fluendo.com>
19700
19701         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19702         We are actually prerolling before commiting the state
19703         change. 
19704
19705 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19706
19707         * docs/manual/advanced-clocks.xml:
19708         * docs/manual/advanced-interfaces.xml:
19709         * docs/manual/advanced-metadata.xml:
19710         * docs/manual/advanced-position.xml:
19711         * docs/manual/advanced-schedulers.xml:
19712         * docs/manual/advanced-threads.xml:
19713         * docs/manual/appendix-porting.xml:
19714         * docs/manual/basics-bins.xml:
19715         * docs/manual/basics-bus.xml:
19716         * docs/manual/basics-elements.xml:
19717         * docs/manual/basics-helloworld.xml:
19718         * docs/manual/basics-pads.xml:
19719         * docs/manual/highlevel-components.xml:
19720         * docs/manual/manual.xml:
19721         * docs/manual/thread.fig:
19722           Update (until threads/scheduling) Application Development Manual;
19723           remove GstThread, add GstBus, add simple porting checklist, add
19724           documentation for tag writing, clocks, make all examples until this
19725           part compile and run.
19726         * examples/manual/Makefile.am:
19727           Update from changes to Application Development Manual; add bus
19728           example, remove thread example.
19729
19730 2005-06-28  Wim Taymans  <wim@fluendo.com>
19731
19732         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
19733         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
19734         (gst_bus_source_dispatch):
19735         Add debugging messages.
19736         Make internal methods static.
19737         Handle the case where the bus is flushed in the handler.
19738         
19739         * gst/gstelement.c: (gst_element_get_bus):
19740         Fix refcount in _get_bus();
19741
19742         * gst/gstpipeline.c: (gst_pipeline_change_state),
19743         (gst_pipeline_get_clock_func):
19744         Clock refcounting fixes.
19745         Handle the case where preroll timed out more gracefully.
19746         
19747         * gst/gstsystemclock.c: (gst_system_clock_dispose):
19748         Clean up the internal thread in dispose. This is needed
19749         for subclasses that actually get disposed.
19750         
19751         * gst/schedulers/threadscheduler.c:
19752         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
19753         (gst_thread_scheduler_dispose):
19754         Free thread pool in dispose.
19755
19756 2005-06-28  Andy Wingo  <wingo@pobox.com>
19757
19758         * tests/network-clock-utils.scm (debug, print-event): New utils.
19759
19760         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
19761         (*packet-loss*): Unified loss probability.
19762         (network-time): Report out-of-band events.
19763
19764         * tests/plot-data: Add support for out-of-band events. Hack it
19765         into this script instead of passing it down the pipe; should fix
19766         this later.
19767
19768 2005-06-28  Wim Taymans  <wim@fluendo.com>
19769
19770         * docs/gst/gstreamer.types:
19771         * docs/gst/tmpl/gstbasesrc.sgml:
19772         * docs/gst/tmpl/gstpad.sgml:
19773         Docs fixes.
19774
19775 2005-06-28  Wim Taymans  <wim@fluendo.com>
19776
19777         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
19778         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
19779         (gst_proxy_pad_do_fixatecaps):
19780         Correctly proxy the check_pull_range function.
19781
19782 2005-06-28  Andy Wingo  <wingo@pobox.com>
19783
19784         * tests/network-clock.scm: Removed need for slib.
19785         
19786 2005-06-28  Wim Taymans  <wim@fluendo.com>
19787
19788         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
19789         (gst_basesink_preroll_queue_flush):
19790         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
19791         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
19792         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
19793         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
19794         (gst_proxy_pad_set_property):
19795         * gst/gstpad.c:
19796         * gst/gstpad.h:
19797         * gst/gstqueue.c: (gst_queue_init):
19798         The deprecated pad loop function is removed now.
19799
19800 2005-06-28  Andy Wingo  <wingo@pobox.com>
19801
19802         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
19803         New parameters, simulate network packet loss.
19804
19805         * tests/network-clock-utils.scm: Initialize the RNG.
19806
19807 2005-06-28  Wim Taymans  <wim@fluendo.com>
19808
19809         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
19810         (gst_basesink_event), (gst_basesink_deactivate):
19811         Flushing the preroll queue always needs to unlock the waiters.
19812
19813 2005-06-28  Edward Hervey  <edward@fluendo.com>
19814
19815         * gst/gstpipeline.c: (gst_pipeline_send_event): 
19816         Wheen a seek was successful on a pipeline, set the stream_time to the
19817         seek offset in order to have a synchronized stream_time.
19818
19819 2005-06-28  Wim Taymans  <wim@fluendo.com>
19820
19821         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
19822         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
19823         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
19824         (gst_proxy_pad_do_fixatecaps):
19825         Call wrapper function instead of just calling the function
19826         pointers. This takes care of any locking and whatmore.
19827
19828 2005-06-28  Wim Taymans  <wim@fluendo.com>
19829
19830         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
19831         (gst_pad_pull_range):
19832         * gst/gstpad.h:
19833         CONNECTED -> LINKED.
19834
19835 2005-06-28  Andy Wingo  <wingo@pobox.com>
19836
19837         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
19838         source-munging commit!!!
19839
19840         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
19841         (gst_object_sink): Take gpointer arguments, not GstObject --
19842         avoids casts. Like GLib.
19843
19844         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
19845         activate.
19846
19847 2005-06-27  Andy Wingo  <wingo@pobox.com>
19848
19849         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
19850         remaining buffer.
19851
19852         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
19853         returns a sorted copy of the trace list.
19854         (gst_alloc_trace_print_live): New API, only prints traces with
19855         live objects. Sort the list.
19856         (gst_alloc_trace_print_all): Sort the list.
19857         (gst_alloc_trace_print): Align columns.
19858
19859         * gst/elements/gstttypefindelement.c:
19860         * gst/elements/gsttee.c:
19861         * gst/base/gstbasesrc.c:
19862         * gst/base/gstbasesink.c:
19863         * gst/base/gstbasetransform.c:
19864         * gst/gstqueue.c: Adapt for pad activation changes.
19865
19866         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
19867         sched.
19868         (gst_pipeline_dispose): Drop ref on sched.
19869
19870         * gst/gstpad.c (gst_pad_init): Set the default activate func.
19871         (gst_pad_activate_default): Push mode by default.
19872         (pre_activate_switch, post_activate_switch): New stubs, things to
19873         do before and after switching activation modes on pads.
19874         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
19875         the pad's activate function to choose which mode to activate.
19876         Shortcut on deactivation and call the right function directly.
19877         (gst_pad_activate_pull): New API, (de)activates a pad in pull
19878         mode.
19879         (gst_pad_activate_push): New API, same for push mode.
19880         (gst_pad_set_activate_function) 
19881         (gst_pad_set_activatepull_function) 
19882         (gst_pad_set_activatepush_function): Setters for new API.
19883
19884         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
19885         Trace all miniobjects.
19886         (gst_mini_object_make_writable): Unref the arg if we copy, like
19887         gst_caps_make_writable.
19888
19889         * gst/gstmessage.c (_gst_message_initialize): No trace init.
19890
19891         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
19892         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
19893         Adapt for new pad API.
19894
19895         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
19896
19897         * gst/gstelement.h:
19898         * gst/gstelement.c (gst_element_iterate_src_pads) 
19899         (gst_element_iterate_sink_pads): New API functions.
19900         
19901         * gst/gstelement.c (iterator_fold_with_resync): New utility,
19902         should fold into gstiterator.c in some form.
19903         (gst_element_pads_activate): Simplified via use of fold and
19904         delegation of decisions to gstpad->activate.
19905
19906         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
19907         help in debugging.
19908
19909         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
19910         class once in init, like gstmessage. Didn't run into this issue
19911         but it seems correct. Don't initialize a trace, gstminiobject does
19912         that.
19913
19914         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
19915         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
19916         to the bus.
19917         (assert_live_count): New util function, uses alloc traces to check
19918         cleanup.
19919
19920         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
19921         To be modified when unlink drops the internal pad.
19922
19923 2005-06-27  Wim Taymans  <wim@fluendo.com>
19924
19925         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
19926         (gst_bin_change_state):
19927         Cleanup the get_state() function a little, make sure it
19928         iterates the same set of elements.
19929         Added stub iterate_state_order().
19930
19931 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
19932
19933         * docs/gst/gstreamer-docs.sgml:
19934         * docs/gst/gstreamer-sections.txt:
19935         * docs/gst/gstreamer.types:
19936         * docs/gst/tmpl/gstbasesink.sgml:
19937         * docs/gst/tmpl/gstbasesrc.sgml:
19938         * docs/gst/tmpl/gstbasetransform.sgml:
19939         * docs/gst/tmpl/gstelement.sgml:
19940         * docs/gst/tmpl/gstiterator.sgml:
19941         * gst/base/gstbasesrc.c:
19942         * gst/base/gstbasesrc.h:
19943         * gst/base/gstbasetransform.h:
19944         * gst/gstelement.c:
19945         * gst/gstiterator.h:
19946           adding basetransform and iterator docs
19947
19948 2005-06-27  Andy Wingo  <wingo@pobox.com>
19949
19950         * docs/design/part-activation.txt: Notes on how activation should
19951         work -- not quite implemented yet.
19952
19953 2005-06-25  Wim Taymans  <wim@fluendo.com>
19954
19955         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
19956         At least get the chain function correct, needs more
19957         fixing.
19958
19959 2005-06-25  Wim Taymans  <wim@fluendo.com>
19960
19961         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
19962         (gst_basesink_handle_object), (gst_basesink_event),
19963         (gst_basesink_do_sync), (gst_basesink_handle_event),
19964         (gst_basesink_change_state):
19965         * gst/gsttask.h:
19966         Right, two problems here: ghostpads don't take locks and
19967         glib _rec_mutex_lock_full() with depth==0 still locks.
19968         Catch illegal locking and g_warn them.
19969
19970 2005-06-25  Wim Taymans  <wim@fluendo.com>
19971
19972         * check/states/sinks.c: (START_TEST), (gst_object_suite):
19973         Have to check for completion now...
19974
19975 2005-06-25  Wim Taymans  <wim@fluendo.com>
19976
19977         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
19978         (gst_basesink_handle_object), (gst_basesink_event),
19979         (gst_basesink_do_sync), (gst_basesink_handle_event),
19980         (gst_basesink_change_state):
19981         * gst/gstpad.h:
19982         Unlock STREAM_LOCK whatever the recursion was.
19983
19984 2005-06-25  Wim Taymans  <wim@fluendo.com>
19985
19986         * gst/base/gstbasesink.c: (gst_basesink_set_property),
19987         (gst_basesink_preroll_queue_empty),
19988         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
19989         (gst_basesink_event), (gst_basesink_do_sync),
19990         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
19991         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
19992         (gst_basesink_change_state):
19993         Reworked the base sink, handle event and buffer serialisation
19994         correctly and removed possible deadlock.
19995         Handle EOS correctly.
19996
19997 2005-06-25  Wim Taymans  <wim@fluendo.com>
19998
19999         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
20000         (gst_pipeline_change_state):
20001         * tools/gst-launch.c: (check_intr), (event_loop), (main):
20002         Allow elements to post EOS in the state change function.
20003         Fix up -launch, make it exit the poll loop when the
20004         pipeline actually changed state.
20005         Fix up warning parsing in -launch.
20006
20007 2005-06-25  Wim Taymans  <wim@fluendo.com>
20008
20009         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
20010         (gst_tee_sink_activate):
20011         Core takes STREAM_LOCK for us now.
20012
20013 2005-06-25  Wim Taymans  <wim@fluendo.com>
20014
20015         * gst/gstelement.c: (gst_element_get_state_func),
20016         (gst_element_set_state):
20017         * gst/gstelement.h:
20018         * gst/gstmessage.c: (gst_message_parse_error),
20019         (gst_message_parse_warning):
20020         Keep track of current target state while performing a state
20021         change so that subclasses can do something interesting.
20022         Fix parsing of warning/error messages when GError is NULL.
20023
20024 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20025
20026         * docs/gst/Makefile.am:
20027         * docs/gst/gstreamer-docs.sgml:
20028         * docs/gst/gstreamer-sections.txt:
20029         * docs/gst/gstreamer.types:
20030         * docs/gst/tmpl/gstbasesink.sgml:
20031         * docs/gst/tmpl/gstbasesrc.sgml:
20032         * docs/gst/tmpl/gstbin.sgml:
20033         * docs/gst/tmpl/gstcompat.sgml:
20034         * docs/gst/tmpl/gstfakesink.sgml:
20035         * docs/gst/tmpl/gstfakesrc.sgml:
20036         * docs/gst/tmpl/gstfilesink.sgml:
20037         * docs/gst/tmpl/gstfilesrc.sgml:
20038         * docs/gst/tmpl/gstindex.sgml:
20039         * docs/manual/appendix-quotes.xml:
20040         * gst/base/gstbasesrc.h:
20041         * gst/elements/gstfakesrc.h:
20042         * gst/gstmessage.h:
20043           start pulling in base classes and elements in our docs
20044
20045 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
20046
20047         * docs/gst/Makefile.am:
20048         * docs/libs/Makefile.am:
20049           fixed make distcheck with gtk-doc 1.3
20050
20051 2005-06-23  Wim Taymans  <wim@fluendo.com>
20052
20053         * gst/gstelement.c: (gst_element_get_state_func),
20054         (gst_element_set_state), (gst_element_change_state):
20055         When the state did not change, also report NO_PREROLL
20056         when it matters.
20057
20058 2005-06-23  Wim Taymans  <wim@fluendo.com>
20059
20060         * gst/gstpad.c: (gst_pad_event_default):
20061         * gst/gstqueue.c: (gst_queue_loop):
20062         No unsafe task pausing please.
20063
20064 2005-06-23  Wim Taymans  <wim@fluendo.com>
20065
20066         * gst/schedulers/threadscheduler.c:
20067         (gst_thread_scheduler_task_start),
20068         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
20069         Ref the task before pushing it on the threadpool. This
20070         makes sure that we have a ref when the threadfunction is
20071         actually called.
20072
20073 2005-06-23  Andy Wingo  <wingo@pobox.com>
20074
20075         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
20076         offset is greater than the file's size.
20077
20078         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
20079         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
20080         * gst/gstobject.c (gst_object_class_init): Make the class lock
20081         recursive. Wim won't let me drop deep_notify. Decodebin works
20082         again, whoopdy doo.
20083
20084         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
20085         internal pad, and hacks accordingly. Doesn't do it on the target
20086         pad because we change its caps. Probably catches all cases of
20087         interest tho.
20088         (gst_ghost_pad_set_property): Connect to notify::caps as
20089         appropritate.
20090
20091         * tests/network-clock.scm (plot-simulation): Pipe data to the
20092         elite python skript.
20093
20094         * tests/network-clock-utils.scm (define-parameter): New macro,
20095         defines a parameter that can be set via the command line.
20096         (set-parameter!, parse-parameter-arguments): Command line args
20097         parser.
20098
20099         * tests/plot-data: Simple matplotlib-based plotter, takes input on
20100         stdin.
20101
20102 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
20103
20104         * gst/elements/gsttypefindelement.c:
20105         (gst_type_find_element_handle_event):
20106           Don't restart typefinding on a discont.
20107         * gst/gstelement.c: (gst_element_set_state):
20108           Debug spelling fix.
20109         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
20110           Allow changing mode of an active pad.
20111           Debug output fixes.
20112         * gst/registries/gstlibxmlregistry.c: (load_feature):
20113           Don't cast a static pad template to a normal pad template.
20114
20115 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20116
20117         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
20118         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
20119           remove gst_strtoll completely, since it didn't actually do
20120           anything more than what g_ascii_strtoull already does.
20121           check for range errors when deserializing
20122           do a cast for the unsigned cases; but further fixing needs
20123           a decision on what the interpretation of "(int)" and
20124           deserialization should be for values that fall outside the
20125           type's boundaries (ie, refuse, or interpret as casting)
20126
20127 2005-06-23  Wim Taymans  <wim@fluendo.com>
20128
20129         * check/Makefile.am:
20130         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
20131         * docs/design/part-live-source.txt:
20132         * docs/design/part-states.txt:
20133         * gst/base/gstbasesrc.c: (gst_basesrc_init),
20134         (gst_basesrc_set_live), (gst_basesrc_is_live),
20135         (gst_basesrc_get_range), (gst_basesrc_activate),
20136         (gst_basesrc_change_state):
20137         * gst/base/gstbasesrc.h:
20138         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
20139         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
20140         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
20141         * gst/gstelement.c: (gst_element_get_state_func),
20142         (gst_element_set_state):
20143         * gst/gstelement.h:
20144         * gst/gsttypes.h:
20145         * tools/gst-launch.c: (event_loop), (main):
20146         Added support for live sources and other elements that
20147         cannot do preroll.
20148         Updated design docs, added live-source design doc.
20149         Implemented live source functionality in basesrc
20150         Fix error condition in _bin_get_state()
20151         Implement live source handling in -launch.
20152         Added check for live sources.
20153         Fixed case in GstBin where elements were changed state
20154         multiple times.
20155
20156
20157 2005-06-23  Andy Wingo  <wingo@pobox.com>
20158
20159         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
20160         borken refcounting.
20161
20162         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
20163         gst_caps_replace takes care of this for us.
20164
20165         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
20166         gst_pad_set_caps on the target, not just its setcaps() function.
20167
20168         * tests/network-clock.scm: 
20169         * tests/network-clock-utils.scm: A network clock simulator.
20170         Something of an algorithmic testbed before doing something in C.
20171
20172 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20173
20174         * check/Makefile.am:
20175         * check/gst/capslist.h:
20176           copy over from 0.8, and add two with bitmasks specified with
20177           (int) 0xFF...
20178         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
20179           add test to parse everything from capslist.h
20180         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
20181         (main):
20182           add test for structure deserialization
20183         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
20184           add tests for deserialization of strings to int types
20185         * gst/gststructure.c: (gst_structure_nth_field_name):
20186         * gst/gststructure.h:
20187           add a way to get the name of a field referenced by index
20188         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
20189           instead of checking if the resulting long long lies between
20190           min and max, we check if the long long would fit into
20191           a number of bytes for the final type.
20192           This fixes cases where a string represents 2^32 - 1, which
20193           when cast to int would be the (valid) -1, but is bigger than
20194           G_MAXINT
20195
20196 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20197
20198         * gst/parse/grammar.y:
20199           add a log line for type deserialization
20200
20201 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20202
20203         * check/gst/gstvalue.c: (START_TEST):
20204         * gst/gstvalue.c: (gst_value_deserialize):
20205           return long long, not int, so gint64 deserialization actually
20206           works.  Is there any flag that makes the compiler check this ?
20207           Fixes #308559
20208
20209 2005-06-22  Wim Taymans  <wim@fluendo.com>
20210
20211         * gst/gstbuffer.h:
20212         Added convenience macros for setting buffers in GValue.
20213
20214 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
20215
20216         * check/gst/.cvsignore:
20217         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
20218           add a test deserializing int64, and comment part out because
20219           it fails, yay !
20220
20221 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
20222
20223         * check/Makefile.am:
20224         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
20225         * testsuite/Makefile.am:
20226         * testsuite/caps/Makefile.am:
20227         * testsuite/caps/value_serialize.c:
20228         * testsuite/test_gst_init.c:
20229           move a value_serialize test over
20230
20231 2005-06-20  Wim Taymans  <wim@fluendo.com>
20232
20233         * gst/gstpad.c:
20234         Small doc updates.
20235         
20236         * gst/gstvalue.c: (gst_value_compare_buffer),
20237         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
20238         (gst_value_compare_flags), (gst_value_serialize_flags),
20239         (gst_value_deserialize_flags), (_gst_value_initialize):
20240         Fix serialisation of buffers, they are not boxed types anymore
20241
20242 2005-06-20  Wim Taymans  <wim@fluendo.com>
20243
20244         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
20245         Testcase to show error in buffer-on-caps serialisation.
20246
20247 2005-06-20  Andy Wingo  <wingo@pobox.com>
20248
20249         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
20250         will be adding to later.
20251
20252         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
20253         if its socks fill with rocks.
20254         (gst_system_clock_obtain): Set the name on object construction.
20255         Avoid double-checked locking.
20256
20257 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
20258
20259         * gst/gsturi.c: (gst_element_make_from_uri):
20260           Fix potential endless loop.
20261
20262 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20263
20264         * check/Makefile.am:
20265           add gsttag
20266         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
20267         (main):
20268           move over from testsuite dir and clean up
20269         * configure.ac:
20270         * gst/gsttag.c:
20271         * testsuite/Makefile.am:
20272         * testsuite/tags/.cvsignore:
20273         * testsuite/tags/Makefile.am:
20274         * testsuite/tags/merge.c:
20275           remove testsuite/tags
20276
20277 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20278
20279         * docs/gst/gstreamer-sections.txt:
20280         * docs/gst/tmpl/gstenumtypes.sgml:
20281         * win32/gstenumtypes.c:
20282           clean up documentation build a little
20283
20284 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20285
20286         * check/gstcheck.h:
20287           add macros for checking refcounts on objects and caps
20288         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
20289           add some more unit tests
20290         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
20291         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
20292           fix leaked refcounts (I hope :)) so unittest works
20293         * gst/gstpad.h:
20294           whitespace removal
20295
20296 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20297
20298         * configure.ac: back to HEAD
20299
20300 === release 0.9.1 ===
20301
20302 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
20303
20304         * NEWS:
20305         * RELEASE:
20306           updated
20307
20308 2005-06-17  Andy Wingo  <wingo@pobox.com>
20309
20310         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
20311         assert; it's always possible that the pad gets deactivated in
20312         between the checks in gstpad.c and the implementation. Rely on
20313         finish_preroll() to return a FLUSHING or similar instead of on the
20314         assert.
20315         
20316         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
20317         clock and post an EOS message if we come out of finish_preroll in
20318         the playing state.
20319
20320 2005-06-16  David Schleef  <ds@schleef.org>
20321
20322         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
20323         (gst_capsfilter_set_property): Allow NULL as possible value
20324         for filter_caps property, indicating GST_CAPS_ANY.
20325
20326 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
20327
20328         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
20329           fix debug output
20330         * gst/schedulers/Makefile.am:
20331           use libgst prefix
20332         * gstreamer.spec.in:
20333           fix spec for it
20334
20335 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
20336
20337         * gstreamer.spec.in:
20338           clean up
20339
20340 2005-06-08  Andy Wingo  <wingo@pobox.com>
20341
20342         * gst/gstutils.c: RPAD fixes all around.
20343         (gst_element_link_pads): Refcounting fixes.
20344
20345         * tools/gst-inspect.c:
20346         * tools/gst-xmlinspect.c:
20347         * parse/grammar.y:
20348         * gst/base/gsttypefindhelper.c:
20349         * gst/base/gstbasesink.c:
20350         * gst/gstqueue.c: RPAD fixes.
20351
20352         * gst/gstghostpad.h:
20353         * gst/gstghostpad.c: New ghost pad implementation as full proxy
20354         pads. The tricky thing is they provide both source and sink
20355         interfaces, since they proxy the internal pad for the external
20356         pad, and vice versa. Implement with lower-level ProxyPad objects,
20357         with the interior proxy pad as a child of the exterior ghost pad.
20358         Should write a doc on this.
20359         
20360         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
20361         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
20362         gst_object API.
20363         
20364         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
20365         pads are real pads. No ghost pads in this file. Not documenting
20366         the myriad s/RPAD/PAD/ and REALIZE fixes.
20367         (gst_pad_class_init): Add properties for "direction" and
20368         "template". Both are construct-only, so they can't change during
20369         the life of the pad. Fixes properly deriving from GstPad.
20370         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
20371         derived objects, just set properties when creating the objects via
20372         g_object_new.
20373         (gst_pad_get_parent): Implement as a function, return NULL if the
20374         parent is not an element.
20375         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
20376         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
20377         
20378         * gst/gstobject.c (gst_object_class_init): Make name a construct
20379         property. Don't set it in the object init.
20380
20381         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
20382         with UNKNOWN direction.
20383         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
20384         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
20385         (gst_element_remove_pad): Remove ghost-pad special cases.
20386         (gst_element_pads_activate): Remove rpad cruft.
20387
20388         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
20389         catch the pad's-parent-not-an-element case.
20390
20391         * gst/gst.h: Include gstghostpad.h.
20392
20393         * gst/gst.c (init_post): No more real, ghost pads.
20394
20395         * gst/Makefile.am: Add gstghostpad.[ch].
20396
20397         * check/Makefile.am:
20398         * check/gst/gstbin.c:
20399         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
20400         into a bin creates ghost pads, and that the refcounts are right.
20401         Partly moved from gstbin.c.
20402
20403 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20404
20405         * check/gst-libs/.cvsignore:
20406         * check/gst/.cvsignore:
20407         * check/pipelines/.cvsignore:
20408           ignore more
20409         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
20410         (START_TEST), (cleanup_suite), (main):
20411           add some tests related to cleanup after running pipelines
20412
20413 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20414
20415         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
20416           add a testsuite for GstBuffer
20417
20418 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20419
20420         * gst/gstminiobject.h:
20421           add defines for accessing the refcount
20422
20423 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
20424
20425         * Makefile.am: added support for html unit test coverage reports
20426
20427 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
20428
20429         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
20430           Free existing caps if the capsfilter changes. Add a FIXME about
20431           setting those caps on the pads.
20432
20433         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
20434           Before adding a ghost pad to a parent bin, check that there isn't
20435           already one for the element on the bin. Prevents infinite recursion
20436           when using decodebin in parse pipelines. Andy says he'll rewrite the
20437           way this works anyway, so ignore the hack.
20438
20439 2005-06-02  Andy Wingo  <wingo@pobox.com>
20440
20441         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
20442         file size, pass it on to the type find helper.
20443
20444         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
20445         segment_start and segment_end properly according to the seek
20446         method. Segment_end is still a bit flaky because offset can be
20447         negative for CUR and END cases, but it takes -1 as an "unset"
20448         value.
20449
20450 2005-06-02  Wim Taymans  <wim@fluendo.com>
20451
20452         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
20453         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
20454         (gst_basesink_activate):
20455         * gst/base/gstbasesink.h:
20456         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
20457         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
20458         (gst_pad_query), (gst_pad_start_task):
20459         * gst/gstpad.h:
20460         * gst/gstqueue.c: (gst_queue_bufferalloc),
20461         (gst_queue_handle_sink_event), (gst_queue_chain):
20462         Bufferalloc: return GstFlowReturn to more accuratly report
20463         why allocation failed.
20464
20465 2005-06-02  Wim Taymans  <wim@fluendo.com>
20466
20467         * gst/gstpipeline.c: (gst_pipeline_send_event):
20468         Take snapshot of state without blocking.
20469
20470 2005-06-02  Wim Taymans  <wim@fluendo.com>
20471
20472         * docs/design/part-TODO.txt:
20473         * docs/design/part-caps.txt:
20474         * docs/design/part-clocks.txt:
20475         * docs/design/part-negotiation.txt:
20476         * docs/design/part-preroll.txt:
20477         Small doc updates 
20478
20479 2005-05-30  Wim Taymans  <wim@fluendo.com>
20480
20481         * gst/elements/gstidentity.c: (gst_identity_event),
20482         (gst_identity_transform), (gst_identity_get_property):
20483         Protect last_message property as it is accessed from
20484         multiple threads.
20485
20486 2005-05-30  Wim Taymans  <wim@fluendo.com>
20487
20488         * gst/gstelement.c: (gst_element_init),
20489         (gst_element_pads_activate), (gst_element_change_state):
20490         Slicker pad activation code.
20491
20492 2005-05-30  Wim Taymans  <wim@fluendo.com>
20493
20494         * gst/Makefile.am:
20495         * gst/gstelement.h:
20496         * gst/gstelementfactory.h:
20497         * gst/gsttypes.h:
20498         Move elementfactory methods to separate .h file.
20499
20500 2005-05-30  Wim Taymans  <wim@fluendo.com>
20501
20502         * docs/design/part-overview.txt:
20503         * gst/gstsystemclock.h:
20504         Small typo fixes, doc updates.
20505
20506 2005-05-30  Wim Taymans  <wim@fluendo.com>
20507
20508         * gst/gst.c: (gst_init_get_popt_table), (init_post),
20509         (init_popt_callback):
20510         Remove cpu-opt flag.
20511
20512 2005-05-30  Wim Taymans  <wim@fluendo.com>
20513
20514         * gst/gstbuffer.c: (gst_subbuffer_finalize),
20515         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
20516         * gst/gstbuffer.h:
20517         Avoid typechecking in places where not needed.
20518         Added accessor for malloc_data.
20519
20520 2005-05-30  Wim Taymans  <wim@fluendo.com>
20521
20522         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
20523         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
20524         (gst_pad_configure_sink), (gst_pad_configure_src),
20525         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
20526         (gst_pad_start_task):
20527         Propagate errors from _set_caps() in configure_src/sink
20528         functions instead of returning TRUE.
20529         FLUSH events can travel up and downstream
20530
20531
20532 2005-05-30  Wim Taymans  <wim@fluendo.com>
20533
20534         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
20535         (gst_basesink_activate):
20536         Handle EOS in preroll.
20537
20538 2005-05-30  Wim Taymans  <wim@fluendo.com>
20539
20540         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
20541         (gst_queue_loop), (gst_queue_handle_src_event):
20542         Remove old pieces of code
20543         Flushing the queue in an upstream event is a very bad idea.
20544
20545 2005-05-26  Andy Wingo  <wingo@pobox.com>
20546
20547         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
20548         gst_value_set_mini_object so as to add a ref on the object (which
20549         will be removed when the value is unset).
20550
20551         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
20552         arg type in ::handoff.
20553
20554         * gst/gstelement.c (gst_element_change_state): Also deactivate
20555         pads in READY->NULL, just in case the element didn't make it to
20556         PAUSED. Wingo tested, Wim approved.
20557
20558 2005-05-26  Wim Taymans  <wim@fluendo.com>
20559
20560         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
20561         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
20562         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
20563         A flushing pad cannot be used to alloc_buffer from.
20564
20565 2005-05-26  Wim Taymans  <wim@fluendo.com>
20566
20567         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
20568         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
20569         (gst_bus_source_dispatch), (gst_bus_source_finalize),
20570         (gst_bus_create_watch), (gst_bus_add_watch_full):
20571         * gst/gstbus.h:
20572         Implement a real GSource and use g_main_context_wakeup() to
20573         signal new messages instead of the socketpair.
20574
20575 2005-05-25  Wim Taymans  <wim@fluendo.com>
20576
20577         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
20578         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
20579         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
20580         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
20581         (gst_pad_send_event), (gst_pad_start_task):
20582         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
20583         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
20584         (gst_queue_sink_activate), (gst_queue_src_activate),
20585         (gst_queue_change_state):
20586         * gst/gstqueue.h:
20587         Fix state changes for non sinks. We now change sinks, then elements
20588         with unconnected srcpads, then the rest.
20589         More efficient queue unlocking in flush and state changes.
20590         Set the pad activate mode even if it does not have an activate
20591         function.
20592
20593 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20594
20595         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
20596           Don't go in pull mode for non-seekable sources.
20597         * gst/elements/gsttypefindelement.h:
20598         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
20599         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
20600         (free_entry), (stop_typefinding),
20601         (gst_type_find_element_handle_event), (find_peek),
20602         (gst_type_find_element_chain), (do_pull_typefind),
20603         (gst_type_find_element_change_state):
20604           Allow typefinding (w/o seeking) in push-mode, simplified version
20605           of what was in 0.8.
20606         * gst/gstutils.c: (gst_buffer_join):
20607         * gst/gstutils.h:
20608           gst_buffer_join() from 0.8.
20609
20610 2005-05-25  Wim Taymans  <wim@fluendo.com>
20611
20612         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
20613         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
20614         (gst_pad_send_event), (gst_pad_start_task):
20615         Disable attempt at mode switching until it is figured out.
20616
20617 2005-05-25  Wim Taymans  <wim@fluendo.com>
20618
20619         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
20620         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
20621         (gst_basesink_finish_preroll), (gst_basesink_chain),
20622         (gst_basesink_loop), (gst_basesink_activate),
20623         (gst_basesink_change_state):
20624         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
20625         (gst_basesrc_get_range), (gst_basesrc_loop),
20626         (gst_basesrc_activate):
20627         * gst/elements/gsttee.c: (gst_tee_sink_activate):
20628         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
20629         (gst_real_pad_init), (gst_real_pad_set_property),
20630         (gst_real_pad_get_property), (gst_pad_set_active),
20631         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
20632         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
20633         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
20634         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
20635         (gst_pad_event_default_dispatch), (gst_pad_event_default),
20636         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
20637         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
20638         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
20639         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
20640         (gst_pad_stop_task):
20641         * gst/gstpad.h:
20642         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
20643         (gst_queue_loop), (gst_queue_src_activate):
20644         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
20645         (gst_task_get_state):
20646         * gst/gsttask.h:
20647         * gst/schedulers/threadscheduler.c:
20648         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
20649         Implement gst_pad_pause/start/stop_task(), take STREAM lock
20650         in task function.
20651         Remove ACTIVE pad flag, use FLUSHING everywhere
20652         Added _pad_chain(), _pad_get_range() to call chain/getrange 
20653         functions.
20654         Add locks around IS_FLUSHING when reading.
20655         Take STREAM lock in chain(), get_range() functions so plugins
20656         don't need to take it anymore.
20657         
20658
20659
20660 2005-05-25  Wim Taymans  <wim@fluendo.com>
20661
20662         * tools/gst-launch.c: (event_loop):
20663         Unref message after using its contents instead of
20664         before.
20665
20666 2005-05-24  Wim Taymans  <wim@fluendo.com>
20667
20668         * docs/design/draft-ghostpads.txt:
20669         * docs/design/draft-push-pull.txt:
20670         * docs/design/draft-query.txt:
20671         * docs/design/part-overview.txt:
20672         Docs updates, added general overview doc.
20673
20674 2005-05-21  David Schleef  <ds@schleef.org>
20675
20676         * docs/gst/tmpl/old/GstBin.sgml:
20677         * docs/gst/tmpl/old/GstBuffer.sgml:
20678         * docs/gst/tmpl/old/GstCaps.sgml:
20679         * docs/gst/tmpl/old/GstClock.sgml:
20680         * docs/gst/tmpl/old/GstCompat.sgml:
20681         * docs/gst/tmpl/old/GstData.sgml:
20682         * docs/gst/tmpl/old/GstElement.sgml:
20683         * docs/gst/tmpl/old/GstEvent.sgml:
20684         * docs/gst/tmpl/old/GstIndex.sgml:
20685         * docs/gst/tmpl/old/GstStructure.sgml:
20686         * docs/gst/tmpl/old/GstTag.sgml:
20687         * docs/gst/tmpl/old/cothreads.sgml:
20688         * docs/gst/tmpl/old/cothreads_compat.sgml:
20689         * docs/gst/tmpl/old/gettext.sgml:
20690         * docs/gst/tmpl/old/gobject2gtk.sgml:
20691         * docs/gst/tmpl/old/grammar.tab.sgml:
20692         * docs/gst/tmpl/old/gst-i18n-app.sgml:
20693         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
20694         * docs/gst/tmpl/old/gst_private.sgml:
20695         * docs/gst/tmpl/old/gstaggregator.sgml:
20696         * docs/gst/tmpl/old/gstarch.sgml:
20697         * docs/gst/tmpl/old/gstatomic_impl.sgml:
20698         * docs/gst/tmpl/old/gstbufferstore.sgml:
20699         * docs/gst/tmpl/old/gstdata_private.sgml:
20700         * docs/gst/tmpl/old/gstdisksink.sgml:
20701         * docs/gst/tmpl/old/gstdisksrc.sgml:
20702         * docs/gst/tmpl/old/gstelementfactory.sgml:
20703         * docs/gst/tmpl/old/gstextratypes.sgml:
20704         * docs/gst/tmpl/old/gstfakesink.sgml:
20705         * docs/gst/tmpl/old/gstfakesrc.sgml:
20706         * docs/gst/tmpl/old/gstfdsink.sgml:
20707         * docs/gst/tmpl/old/gstfdsrc.sgml:
20708         * docs/gst/tmpl/old/gstfilesink.sgml:
20709         * docs/gst/tmpl/old/gstfilesrc.sgml:
20710         * docs/gst/tmpl/old/gsthttpsrc.sgml:
20711         * docs/gst/tmpl/old/gstidentity.sgml:
20712         * docs/gst/tmpl/old/gstindexfactory.sgml:
20713         * docs/gst/tmpl/old/gstmarshal.sgml:
20714         * docs/gst/tmpl/old/gstmd5sink.sgml:
20715         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
20716         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
20717         * docs/gst/tmpl/old/gstpadtemplate.sgml:
20718         * docs/gst/tmpl/old/gstpipefilter.sgml:
20719         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
20720         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
20721         * docs/gst/tmpl/old/gstshaper.sgml:
20722         * docs/gst/tmpl/old/gstspider.sgml:
20723         * docs/gst/tmpl/old/gstspideridentity.sgml:
20724         * docs/gst/tmpl/old/gststatistics.sgml:
20725         * docs/gst/tmpl/old/gsttee.sgml:
20726         * docs/gst/tmpl/old/gsttimecache.sgml:
20727         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
20728         * docs/gst/tmpl/old/gstxmlregistry.sgml:
20729         * docs/gst/tmpl/old/gthread-cothreads.sgml:
20730         * docs/gst/tmpl/old/types.sgml:
20731           I didn't intend to add these or check them in.
20732
20733 2005-05-19  David Schleef  <ds@schleef.org>
20734
20735         * configure.ac: Use -no-common everywhere.  In a sane world, it
20736           would be the default in libtool, because without it, you can't
20737           build DLLs on Windows.
20738         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
20739         * docs/gst/gstreamer-sections.txt:
20740         * docs/gst/tmpl/gstcpu.sgml:
20741         * docs/gst/tmpl/gstdata.sgml:
20742         * docs/gst/tmpl/gstthread.sgml:
20743
20744 2005-05-19  David Schleef  <ds@schleef.org>
20745
20746         * gst/gstminiobject.c: (gst_value_set_mini_object),
20747         (gst_value_take_mini_object), (gst_value_get_mini_object):
20748         * gst/gstminiobject.h: Add GValue set/get functions.
20749
20750 2005-05-19  Wim Taymans  <wim@fluendo.com>
20751
20752         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
20753         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
20754         (gst_subbuffer_init), (gst_buffer_is_span_fast):
20755         * gst/gstbuffer.h:
20756         * gst/gstbus.c: (gst_bus_post):
20757         * gst/gstelement.c: (gst_element_get_random_pad):
20758         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
20759         Make subbufer unref the parent in finalize.
20760         some more debugging info.
20761
20762
20763 2005-05-19  Wim Taymans  <wim@fluendo.com>
20764
20765         * gst/base/gstbasesink.c: (gst_basesink_class_init),
20766         (gst_basesink_init), (gst_basesink_finalize),
20767         (gst_basesink_activate), (gst_basesink_change_state):
20768         Don't free preroll queue too early.
20769
20770 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20771
20772         * gst/Makefile.am:
20773         * gst/ROADMAP:
20774           Hi, I'm outdated. Please shoot me.
20775
20776 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20777
20778         * gst/gstpipeline.c: (gst_pipeline_send_event):
20779           Do not access variables after they have been deleted.
20780
20781 2005-05-19  Wim Taymans  <wim@fluendo.com>
20782
20783         * tools/gst-inspect.c: (print_plugin_features):
20784         A plugin feature does unfortunatly not use the
20785         object name yet...
20786
20787 2005-05-18  Wim Taymans  <wim@fluendo.com>
20788
20789         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
20790         Port _span() functions to new subbuffers.
20791
20792 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20793
20794         * gst/gstbin.c: (gst_bin_add_func):
20795           Fix clock settery in bins when adding kids after the clock has
20796           been selected.
20797
20798 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20799
20800         * gst/elements/gstidentity.c: (gst_identity_class_init):
20801           Workaround until signals support GstMiniObject.
20802
20803 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
20804
20805         * gst/gstbuffer.c:
20806         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
20807
20808 2005-05-18  Wim Taymans  <wim@fluendo.com>
20809
20810         * gst/base/Makefile.am:
20811         * gst/base/gstadapter.c: (gst_adapter_base_init),
20812         (gst_adapter_class_init), (gst_adapter_init),
20813         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
20814         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
20815         (gst_adapter_flush), (gst_adapter_available),
20816         (gst_adapter_available_fast):
20817         * gst/base/gstadapter.h:
20818         Ported and added adapter to the base classes.
20819
20820 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
20821
20822         * gst/gst.c:
20823         * gst/gstmessage.c:
20824           Make sure the class is reffed/unreffed once before threads can be
20825           used.  Fixes #304551.
20826
20827 2005-05-17  Wim Taymans  <wim@fluendo.com>
20828
20829         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
20830         (gst_basesink_chain_unlocked), (gst_basesink_activate):
20831         * gst/gstminiobject.c: (gst_mini_object_get_type),
20832         (gst_mini_object_free):
20833         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
20834         (gst_pad_push), (gst_pad_push_event):
20835         * gst/gstqueue.c: (gst_queue_change_state):
20836         Don't queue buffers in basesink when we are flushing.
20837         Unref buffer when flushing in basesink.
20838         Flush queue when going to READY
20839         Unref buffer when _push() returns an error.
20840         Don't free MiniObject instance when refcount is incremented
20841         in _finalize() so that we can recover objects.
20842
20843 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
20844
20845         * docs/manual/advanced-schedulers.xml:
20846         * docs/manual/appendix-checklist.xml:
20847         * docs/pwg/advanced-clock.xml:
20848         * docs/pwg/advanced-interfaces.xml:
20849         * docs/pwg/advanced-request.xml:
20850         * docs/pwg/advanced-types.xml:
20851         * docs/pwg/intro-preface.xml:
20852         * examples/plugins/example.c: (gst_example_get_type),
20853         (gst_example_class_init), (gst_example_chain),
20854         (gst_example_set_property), (gst_example_get_property),
20855         (gst_example_change_state), (plugin_init):
20856         * examples/plugins/example.h:
20857           small doc fixes
20858
20859 2005-05-17  Wim Taymans  <wim@fluendo.com>
20860
20861         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
20862         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
20863         * gst/gstqueue.c: (gst_queue_change_state):
20864         Clear queue when going to READY.
20865         Remove IN_SETCAPS flag too.
20866
20867 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
20868
20869         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
20870           Remove implicit cast from gboolean to GstElementStateReturn;
20871           make sure we still return failure in paused => ready case if
20872           the parent class fails to change state and our own stop 
20873           vfunc succeeds.
20874
20875 2005-05-17  Wim Taymans  <wim@fluendo.com>
20876
20877         * tools/gst-launch.c: (event_loop):
20878         Message was unreffed too soon.
20879
20880 2005-05-16  Andy Wingo  <wingo@pobox.com>
20881
20882         * gst/gstbin.c (sink_iterator_filter): Err... um...
20883
20884         * check/gst/gstbin.c (test_ghost_pads): New test for the
20885         ghosting-if-elements-not-in-same-bin behavior.
20886
20887 2005-05-16  David Schleef  <ds@schleef.org>
20888
20889         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
20890         accessing refcount directly.
20891
20892 2005-05-15  David Schleef  <ds@schleef.org>
20893
20894         * check/Makefile.am: remove GstData checks
20895         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
20896         * gst/Makefile.am: add miniobject, remove data
20897         * gst/gst.h: add miniobject, remove data
20898         * gst/gstdata.c: remove
20899         * gst/gstdata.h: remove
20900         * gst/gstdata_private.h: remove
20901         * gst/gsttypes.h: remove GstEvent and GstMessage
20902         * gst/gstelement.c: (gst_element_post_message): fix for API changes
20903         * gst/gstmarshal.list: change BOXED -> OBJECT
20904
20905         Implement GstMiniObject.
20906         * gst/gstminiobject.c:
20907         * gst/gstminiobject.h:
20908
20909         Modify to be subclasses of GstMiniObject.
20910         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
20911         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
20912         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
20913         (gst_subbuffer_get_type), (gst_subbuffer_init),
20914         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
20915         (gst_buffer_span):
20916         * gst/gstbuffer.h:
20917         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
20918         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
20919         (_gst_event_copy), (gst_event_new):
20920         * gst/gstevent.h:
20921         * gst/gstmessage.c: (_gst_message_initialize),
20922         (gst_message_get_type), (gst_message_class_init),
20923         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
20924         (gst_message_new), (gst_message_new_error),
20925         (gst_message_new_warning), (gst_message_new_tag),
20926         (gst_message_new_state_changed), (gst_message_new_application):
20927         * gst/gstmessage.h:
20928         * gst/gstprobe.c: (gst_probe_perform),
20929         (gst_probe_dispatcher_dispatch):
20930         * gst/gstprobe.h:
20931         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
20932         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
20933         (_gst_query_copy), (gst_query_new):
20934
20935         Update elements for GstData -> GstMiniObject changes
20936         * gst/gstquery.h:
20937         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
20938         (gst_queue_chain), (gst_queue_loop):
20939         * gst/elements/gstbufferstore.c:
20940         (gst_buffer_store_add_buffer_func),
20941         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
20942         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
20943         (gst_fakesink_render):
20944         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
20945         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
20946         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
20947         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
20948         (gst_filesrc_create_read):
20949         * gst/elements/gstidentity.c: (gst_identity_class_init):
20950         * gst/elements/gsttypefindelement.c:
20951         (gst_type_find_element_src_event), (free_entry_buffers),
20952         (gst_type_find_element_handle_event):
20953         * libs/gst/dataprotocol/dataprotocol.c:
20954         (gst_dp_header_from_buffer):
20955         * libs/gst/dataprotocol/dataprotocol.h:
20956         * libs/gst/dataprotocol/dp-private.h:
20957
20958 2005-05-15  David Schleef  <ds@schleef.org>
20959
20960         * gst/elements/gstelements.c: Don't include headers that were
20961         just removed.
20962
20963 2005-05-15  David Schleef  <ds@schleef.org>
20964
20965         * gst/elements/Makefile.am: Remove some elements that don't
20966         need to be in the core (or even exist at all).
20967         * gst/elements/gstaggregator.c:
20968         * gst/elements/gstaggregator.h:
20969         * gst/elements/gstmd5sink.c:
20970         * gst/elements/gstmd5sink.h:
20971         * gst/elements/gstmultifilesrc.c:
20972         * gst/elements/gstmultifilesrc.h:
20973         * gst/elements/gstpipefilter.c:
20974         * gst/elements/gstpipefilter.h:
20975         * gst/elements/gstshaper.c:
20976         * gst/elements/gstshaper.h:
20977         * gst/elements/gststatistics.c:
20978         * gst/elements/gststatistics.h:
20979         * po/POTFILES.in: Remove above files.
20980
20981 2005-05-14  Andy Wingo  <wingo@pobox.com>
20982
20983         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
20984         so as to get the refs right.
20985         (sink_iterator_filter): New function, wraps bin_element_is_sink,
20986         unreffing objects that don't pass the filter.
20987
20988         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
20989         gst_element_set_bus.
20990         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
20991         normal cases, this will destroy the bus.
20992
20993         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
20994         object.
20995
20996         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
20997         has no sinks.
20998
20999 2005-05-13  Andy Wingo  <wingo@pobox.com>
21000
21001         * gst/gstutils.c (gst_element_link_pads): Instead of calling
21002         gst_pad_link, call pad_link_maybe_ghosting,
21003         (pad_link_maybe_ghosting): Links pads, making sure that the
21004         elements being linked are in the same bin.
21005         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
21006         Helpers for pad_link_maybe_ghosting.
21007
21008 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
21009
21010         * configure.ac:
21011           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
21012
21013 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
21014
21015         * docs/design/part-element-source.txt:
21016           Mention GstPushSrc
21017
21018 2005-05-12  Wim Taymans  <wim@fluendo.com>
21019
21020         * gst/base/gstbasesink.c: (gst_basesink_init),
21021         (gst_basesink_activate):
21022         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
21023         (gst_basesrc_is_seekable):
21024         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
21025         (bin_element_is_sink), (gst_bin_change_state):
21026         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
21027         * gst/gstelement.h:
21028         Identify sinks by their flag to avoid overly complicated
21029         checks (fow now).
21030         Do state changes even for elements not reachable from the
21031         sinks.
21032         BaseSink is a sink now :)
21033         Some more debugging info in the basesrc.
21034
21035
21036 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21037
21038         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
21039           Implement _query on a bin, similar to _send_event.
21040
21041 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
21042
21043         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
21044           Discont event offset format should be GST_FORMAT_BYTES,
21045           not GST_FORMAT_TIME.
21046
21047 2005-05-12  Wim Taymans  <wim@fluendo.com>
21048
21049         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
21050         Same fix as Ronald's but without the signal. 
21051
21052 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21053
21054         * gst/gstutils.c: (gst_element_query_position):
21055           No, an element is not a pad.
21056
21057 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21058
21059         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
21060         (gst_bin_get_state):
21061           If a child is removed from a bin while we remove the child from
21062           the bin and while we're retrieving its state, signal this to the
21063           get_state function so we abort the wait (instead of waiting for
21064           a timeout) and can immediately re-iterate over all other elements.
21065
21066 2005-05-12  Wim Taymans  <wim@fluendo.com>
21067
21068         * gst/base/Makefile.am:
21069         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
21070         (gst_basesrc_start):
21071         * gst/base/gstbasesrc.h:
21072         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
21073         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
21074         (gst_pushsrc_init), (gst_pushsrc_create):
21075         * gst/base/gstpushsrc.h:
21076         Added is_seekable to BaseSrc
21077         Added simple PushSrc.
21078
21079 2005-05-11  Wim Taymans  <wim@fluendo.com>
21080
21081         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
21082         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21083         (gst_element_link_pads), (gst_element_query_position),
21084         (gst_element_query_convert), (intersect_caps_func),
21085         (gst_pad_query_position), (gst_pad_query_convert):
21086         Fix refcounting in utils function.
21087         No point in trying to activate a pad when it's added, it could
21088         be added from the state change function and then we deadlock, the
21089         element has to decide what to do.
21090
21091 2005-05-10  Andy Wingo  <wingo@pobox.com>
21092
21093         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
21094         *all* the arguments.
21095
21096         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
21097         stream lock if it's a FLUSH_DONE; normal flushes don't get the
21098         lock (according to the docs -- if this is wrong change the docs).
21099
21100         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
21101         flush messages in the NULL state.
21102
21103         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
21104         message immediately and return.
21105         (gst_bus_set_flushing): New function. If a bus is flushing, it
21106         flushes out any queued messages and immediately unrefs new
21107         messages. This is so when an element goes to NULL, all of the
21108         unhandled messages coming from it can be freed, and their
21109         references to the element dropped. In other words: message source
21110         ref considered harmful :P
21111
21112         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
21113         we're finished with it.
21114
21115         * gst/gstmessage.c (gst_message_new_state_changed): 
21116
21117 2005-05-10  Wim Taymans  <wim@fluendo.com>
21118
21119         * gst/gstvalue.c: (gst_value_compare_flags),
21120         (gst_value_serialize_flags), (gst_value_deserialize_flags),
21121         (_gst_value_initialize):
21122         Added flags serialize/deserialize/compare code.
21123
21124 2005-05-09  Andy Wingo  <wingo@pobox.com>
21125
21126         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
21127         Intersect the peer's caps with our caps.
21128
21129 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21130
21131         * gst/base/gsttypefindhelper.c: (helper_find_peek):
21132         * gst/elements/gsttypefindelement.c: (find_peek):
21133           Handle negative offsets better. Fixes decodebin.
21134
21135 2005-05-09  Wim Taymans  <wim@fluendo.com>
21136
21137         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
21138         (gst_base_transform_event):
21139         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
21140         Implement accept_caps.
21141         Fix silly lock/unlock mismatch in base class.
21142
21143 2005-05-09  Wim Taymans  <wim@fluendo.com>
21144
21145         * docs/design/draft-push-pull.txt:
21146         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
21147         * gst/elements/gstfilesink.c: (gst_filesink_init),
21148         (gst_filesink_query):
21149         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
21150         (gst_type_find_handle_src_query), (find_element_get_length):
21151         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
21152         * gst/gstelement.h:
21153         * gst/gstmessage.c:
21154         * gst/gstmessage.h:
21155         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
21156         (gst_real_pad_get_caps_unlocked),
21157         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
21158         (gst_pad_event_default_dispatch), (gst_pad_event_default),
21159         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
21160         (gst_real_pad_dispose), (gst_real_pad_finalize),
21161         (gst_pad_load_and_link), (gst_pad_save_thyself),
21162         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
21163         (gst_pad_check_pull_range), (gst_pad_pull_range),
21164         (gst_pad_template_get_type), (gst_pad_template_class_init),
21165         (gst_pad_template_init), (gst_pad_template_dispose),
21166         (name_is_valid), (gst_static_pad_template_get),
21167         (gst_pad_template_new), (gst_static_pad_template_get_caps),
21168         (gst_pad_template_get_caps), (gst_pad_set_element_private),
21169         (gst_pad_get_element_private), (gst_pad_start_task),
21170         (gst_pad_pause_task), (gst_pad_stop_task),
21171         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
21172         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
21173         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
21174         (gst_ghost_pad_new):
21175         * gst/gstpad.h:
21176         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
21177         (gst_query_new_position), (gst_query_set_position),
21178         (gst_query_parse_position), (gst_query_new_convert),
21179         (gst_query_set_convert), (gst_query_parse_convert):
21180         * gst/gstquery.h:
21181         * gst/gstqueryutils.c:
21182         * gst/gstqueryutils.h:
21183         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
21184         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
21185         (gst_queue_handle_src_query):
21186         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21187         (gst_element_query_position), (gst_element_query_convert),
21188         (intersect_caps_func), (gst_pad_query_position),
21189         (gst_pad_query_convert):
21190         * gst/gstutils.h:
21191         * tools/gst-inspect.c: (print_pad_info):
21192         * tools/gst-xmlinspect.c: (print_element_info):
21193         Remove old query functions. Ported old code.
21194         Added position/convert helper functions to gstutils.
21195         Reordered gstpad.c code, grouping relevant things.
21196         Remove gst_message_new(), always need to speficy a specific
21197         message.
21198
21199
21200 2005-05-09  Andy Wingo  <wingo@pobox.com>
21201
21202         * gst/gstiterator.h: Add some includes.
21203
21204         * gst/gstqueryutils.h: Include more headers.
21205
21206         * gst/gstpad.h:
21207         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
21208         some uses of gst_pad_query.
21209
21210         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
21211         NULL out parameters.
21212         (gst_query_new_position): New proc, allocates a new position
21213         query.
21214
21215         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
21216         gstqueryutils.c to the build.
21217
21218         * gst/gststructure.c (gst_structure_set_valist): Implement with
21219         the generic G_VALUE_COLLECT.
21220         
21221 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
21222
21223         * gst/Makefile.am: (gst_headers):
21224         Added gstqueryutils.h to the list of headers to install, that was
21225         a 'nachty' move wingo :)
21226
21227 2005-05-06  Andy Wingo  <wingo@pobox.com>
21228
21229         * gst/gstquery.h
21230         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
21231         GstData, init a memchunk.
21232         (standard_definitions): Add a few query types, deprecate a few.
21233         (gst_query_get_type): New proc.
21234         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
21235         implementation.
21236         (gst_query_new_application, gst_query_get_structure): New public
21237         procs.
21238
21239         * docs/design/draft-query.txt: Removed LINKS from the query types,
21240         because all the rest can be dispatched to other pads -- seemed
21241         ugly to have a query that couldn't be dispatched. internal_links
21242         is fine as a pad method.
21243
21244         * gst/gstpad.h: Add query2 as a pad method, add the new functions
21245         in gstpad.c, but maintain binary compatibility for the moment.
21246         Will fix before 0.9 is out.
21247
21248         * gst/gstqueryutils.c: 
21249         * gst/gstqueryutils.h: New files, implement 3 methods for each
21250         query type: parse_query, parse_response, and set. Probably need an
21251         allocator as well.
21252
21253         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
21254
21255         * gst/elements/gstfilesink.c (gst_filesink_query2):
21256         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
21257         query_types, and formats methods.
21258
21259         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
21260         (gst_pad_set_query2_function): New functions.
21261         (gst_real_pad_init): Set query2_default as the default query2
21262         function. Basically just dispatches to internally linked pads.
21263
21264         Needs review!
21265         
21266         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
21267         without using the atomic operations. Only one thread can possibly
21268         be accessing the data at this point. Changed so as to avoid
21269         gst_atomic operations.
21270
21271 2005-05-06  Wim Taymans  <wim@fluendo.com>
21272
21273         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
21274         Also set caps if we use the fallback buffer alloc.
21275
21276 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
21277
21278         * docs/gst/Makefile.am:
21279         * docs/gst/gstreamer-docs.sgml:
21280         * docs/gst/gstreamer-sections.txt:
21281         * docs/gst/tmpl/gstatomic.sgml:
21282         * docs/gst/tmpl/gstmemchunk.sgml:
21283         * testsuite/elements/struct_i386.h:
21284         * win32/GStreamer.vcproj:
21285         * win32/Makefile:
21286           Purge GstAtomic stuff from docs and win32 makefiles as well
21287
21288 2005-05-06  Wim Taymans  <wim@fluendo.com>
21289
21290         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
21291         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
21292         * gst/gstpad.c: (gst_pad_peer_get_caps):
21293         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
21294         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
21295         (gst_queue_src_activate), (gst_queue_change_state):
21296         * gst/gstqueue.h:
21297         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21298         (intersect_caps_func):
21299         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
21300         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
21301         Some fixes for the peer_get_caps() change.
21302
21303 2005-05-06  Wim Taymans  <wim@fluendo.com>
21304
21305         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
21306         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
21307         (gst_basesink_activate):
21308         Actually do something with error codes returned from the push
21309         functions.
21310
21311 2005-05-06  Wim Taymans  <wim@fluendo.com>
21312
21313         * docs/design/part-element-sink.txt:
21314         * docs/design/part-element-source.txt:
21315         * gst/base/gstbasesink.c: (gst_basesink_class_init),
21316         (gst_basesink_event), (gst_basesink_activate):
21317         * gst/base/gstbasesink.h:
21318         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
21319         (gst_basesrc_activate):
21320         * gst/base/gstbasesrc.h:
21321         * gst/gstelement.c: (gst_element_pads_activate):
21322         Some more documentation.
21323         Fixed scheduling decision in _pads_activate().
21324
21325 2005-05-05  Andy Wingo  <wingo@pobox.com>
21326
21327         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
21328         the test suite.
21329
21330 2005-05-05  Wim Taymans  <wim@fluendo.com>
21331
21332         * gst/base/Makefile.am:
21333         * gst/base/gstbasesink.h:
21334         * gst/base/gstbasesrc.c: (gst_basesrc_init),
21335         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
21336         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
21337         (gst_collectpads_class_init), (gst_collectpads_init),
21338         (gst_collectpads_finalize), (gst_collectpads_new),
21339         (gst_collectpads_set_function), (gst_collectpads_add_pad),
21340         (find_pad), (gst_collectpads_remove_pad),
21341         (gst_collectpads_is_active), (gst_collectpads_collect),
21342         (gst_collectpads_collect_range), (gst_collectpads_start),
21343         (gst_collectpads_stop), (gst_collectpads_peek),
21344         (gst_collectpads_pop), (gst_collectpads_available),
21345         (gst_collectpads_read), (gst_collectpads_flush),
21346         (gst_collectpads_chain):
21347         * gst/base/gstcollectpads.h:
21348         * gst/elements/Makefile.am:
21349         * gst/elements/gstelements.c:
21350         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
21351         (gst_fakesink_get_times), (gst_fakesink_event),
21352         (gst_fakesink_preroll), (gst_fakesink_render):
21353         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
21354         (gst_filesink_init), (gst_filesink_set_location),
21355         (gst_filesink_open_file), (gst_filesink_close_file),
21356         (gst_filesink_pad_query), (gst_filesink_event),
21357         (gst_filesink_render), (gst_filesink_change_state):
21358         * gst/elements/gstfilesink.h:
21359         Added object to help in making collect pad based elements.
21360         Ported filesink.
21361         Make event function in sink baseclass return gboolean.
21362
21363 2005-05-05  Wim Taymans  <wim@fluendo.com>
21364
21365         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
21366         (gst_bin_get_by_name):
21367         * gst/gstbuffer.h:
21368         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
21369         (gst_clock_finalize):
21370         * gst/gstdata.c: (gst_data_replace):
21371         * gst/gstdata.h:
21372         * gst/gstelement.c: (gst_element_request_pad),
21373         (gst_element_pads_activate):
21374         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
21375         (gst_object_unref):
21376         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21377         (gst_pad_set_checkgetrange_function),
21378         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
21379         (gst_pad_check_pull_range), (gst_pad_pull_range),
21380         (gst_static_pad_template_get_caps), (gst_pad_start_task),
21381         (gst_pad_pause_task), (gst_pad_stop_task):
21382         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21383         (gst_element_request_pad), (gst_pad_proxy_getcaps):
21384         Fix name lookup in GstBin.
21385         Added _data_replace() function and _buffer_replace()
21386         Use finalize method to clean up clock.
21387         Fix refcounting on request pads.
21388         Fix pad schedule mode error.
21389         Some more object refcounting debug info,
21390
21391
21392 2005-05-04  Andy Wingo <wingo@pobox.com>
21393
21394         * check/Makefile.am:
21395         * docs/gst/tmpl/gstatomic.sgml:
21396         * docs/gst/tmpl/gstplugin.sgml:
21397         * gst/base/gstbasesink.c: (gst_basesink_activate):
21398         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
21399         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
21400         (gst_basesrc_query), (gst_basesrc_set_property),
21401         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
21402         (gst_basesrc_activate):
21403         * gst/base/gstbasesrc.h:
21404         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
21405         (gst_base_transform_src_activate):
21406         * gst/elements/gstelements.c:
21407         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
21408         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
21409         * gst/elements/gsttee.c: (gst_tee_sink_activate):
21410         * gst/elements/gsttypefindelement.c: (find_element_get_length),
21411         (gst_type_find_element_checkgetrange),
21412         (gst_type_find_element_activate):
21413         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
21414         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
21415         (gst_caps_load_thyself):
21416         * gst/gstelement.c: (gst_element_pads_activate),
21417         (gst_element_save_thyself), (gst_element_restore_thyself):
21418         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
21419         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
21420         * gst/gstpad.h:
21421         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
21422         (gst_xml_parse_file), (gst_xml_parse_memory),
21423         (gst_xml_get_element), (gst_xml_make_element):
21424         * gst/indexers/gstfileindex.c: (gst_file_index_load),
21425         (_file_index_id_save_xml), (gst_file_index_commit):
21426         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
21427         (read_enum), (load_pad_template), (load_feature), (load_plugin),
21428         (load_paths):
21429         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
21430         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
21431         * tools/gst-complete.c: (main):
21432         * tools/gst-compprep.c: (main):
21433         * tools/gst-inspect.c: (print_element_properties_info):
21434         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
21435         * tools/gst-xmlinspect.c: (print_element_properties):
21436         GCC 4 fixen.
21437         
21438 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
21439
21440         * gst/gstplugin.c: (gst_plugin_check_module),
21441         (gst_plugin_check_file), (gst_plugin_load_file):
21442             apply patch from #172526 to make register work on MacOSX
21443
21444 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21445
21446         * docs/gst/tmpl/gstconfig.sgml:
21447         * gst/gstconfig.h.in:
21448           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
21449         * testsuite/debug/printf_extension.c: (main):
21450           Do not use GST_PTR_FORMAT on pointers to types with
21451           sizeof < sizeof(gpointer).  Fixes test on 64-bit
21452         * testsuite/elements/property.h:
21453           use correct printf format
21454
21455 2005-05-02  Wim Taymans  <wim@fluendo.com>
21456
21457         * docs/design/draft-push-pull.txt:
21458         * docs/design/draft-query.txt:
21459         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
21460         (gst_basesrc_start):
21461         Added draft for new query API.
21462         Added draft for better selecting scheduling methods.
21463         Make basesrc ignore length if the subclass does not support
21464         it.
21465
21466 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21467
21468         * gst/Makefile.am:
21469           possible fixes for automake-1.5 - _LIBADD is reserved
21470
21471 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21472
21473         * docs/faq/Makefile.am:
21474         * docs/manual/Makefile.am:
21475         * docs/manuals.mak:
21476         * docs/pwg/Makefile.am:
21477         * gst/Makefile.am:
21478           possible fixes for automake-1.5
21479
21480 2005-04-28  Wim Taymans  <wim@fluendo.com>
21481
21482         * gst/base/gstbasesink.c: (gst_basesink_base_init),
21483         (gst_basesink_pad_getcaps), (gst_basesink_init),
21484         (gst_basesink_do_sync):
21485         * gst/gstclock.c: (gst_clock_entry_new):
21486         * gst/gstevent.c: (gst_event_discont_get_value):
21487         * gst/gstpipeline.c: (pipeline_bus_handler),
21488         (gst_pipeline_change_state):
21489         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
21490         Better debugging of clocking info.
21491         Allow NULL values when getting discont values.
21492
21493 2005-04-27  Wim Taymans  <wim@fluendo.com>
21494
21495         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
21496         * check/gst/gstpad.c: (gst_pad_suite):
21497         Increase timeout for checks.
21498
21499 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
21500
21501         * check/Makefile.am:
21502           fix the broken rule for cleanup.  Apparently this rule is
21503           only needed on FC2, so maybe this warrants further autotool
21504           inspection.
21505
21506 2005-04-26  Wim Taymans  <wim@fluendo.com>
21507
21508         * gst/gsttrashstack.h:
21509         Ooohh. a nasty one! After having a failed pop() from the stack,
21510         it's possible that the stack is empty. In that case, don't
21511         follow the NULL pointer.
21512
21513 2005-04-25  Wim Taymans  <wim@fluendo.com>
21514
21515         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21516         (gst_pad_set_checkgetrange_function),
21517         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
21518         (gst_pad_check_pull_range), (gst_pad_pull_range),
21519         (gst_static_pad_template_get_caps), (gst_pad_start_task),
21520         (gst_pad_pause_task), (gst_pad_stop_task):
21521         * gst/gstplugin.c: (gst_plugin_load):
21522         * gst/gstplugin.h:
21523         Remove gst_library_load as it does more harm than good with
21524         the new g_module flags.
21525         Revert bogus caps template check in pad linking, pad caps
21526         are important when linking not the template, which is more
21527         general than the current caps.
21528
21529 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21530
21531         * gst/autoplug/.cvsignore:
21532         * gst/autoplug/Makefile.am:
21533         * gst/autoplug/gstsearchfuncs.c:
21534         * gst/autoplug/gstsearchfuncs.h:
21535         * gst/autoplug/gstspider.c:
21536         * gst/autoplug/gstspider.h:
21537         * gst/autoplug/gstspideridentity.c:
21538         * gst/autoplug/gstspideridentity.h:
21539         * gst/autoplug/spidertest.c:
21540           Die, spider, die.
21541
21542 2005-04-25  Wim Taymans  <wim@fluendo.com>
21543
21544         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21545         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
21546         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
21547         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
21548         * gst/gstpad.h:
21549         Added stubs for unimplemented functions. 
21550
21551 2005-04-24  David Schleef  <ds@schleef.org>
21552
21553         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
21554         please fix.
21555
21556 2005-04-24  David Schleef  <ds@schleef.org>
21557
21558         Convert everything from GstAtomicInt to g_atomic_int_*, and
21559         remove gstatomic.
21560         * gst/Makefile.am:
21561         * gst/gstatomic.c:
21562         * gst/gstatomic.h:
21563         * gst/gstatomic_impl.h:
21564         * gst/gstbuffer.c:
21565         * gst/gstcaps.c:
21566         * gst/gstcaps.h:
21567         * gst/gstclock.c:
21568         * gst/gstclock.h:
21569         * gst/gstdata.c:
21570         * gst/gstdata.h:
21571         * gst/gstdata_private.h:
21572         * gst/gstevent.c:
21573         * gst/gstinfo.c:
21574         * gst/gstinfo.h:
21575         * gst/gstmessage.c:
21576         * gst/gstobject.c:
21577         * gst/gstobject.h:
21578         * gst/gststructure.c:
21579         * gst/gststructure.h:
21580         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
21581         * gst/gstutils.h:
21582
21583 2005-04-24  David Schleef  <ds@schleef.org>
21584
21585         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
21586         make the regressions tests work.  Remove some code that is no
21587         longer true.
21588         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
21589         Disable warning for pads without templates.
21590
21591 2005-04-24  David Schleef  <ds@schleef.org>
21592
21593         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
21594         functions that handle filtered links.
21595         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
21596         removed functions.
21597         * gst/gstutils.c: Fix/remove utility functions that handle
21598         filtered caps.
21599         * gst/gstutils.h:
21600         * gst/gstvalue.c: Add serialization/deserialization of caps
21601         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
21602         requires fixing so that the filter caps notation creates
21603         a capsfilter element and sets the filter_caps property.  I
21604         think everyone probably wants to keep the shorthand notation.
21605         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
21606         * docs/gst/tmpl/gstpad.sgml:
21607
21608         * gst/elements/gstelements.c: Register capsfilter element.
21609         * gst/Makefile.am: fix spacing
21610         * docs/random/ds/0.9-suggested-changes: random
21611
21612 2005-04-23  David Schleef  <ds@schleef.org>
21613
21614         * gst/elements/Makefile.am:
21615         * gst/elements/gstcapsfilter.c: New element that acts like an
21616         identity, but filters caps.  Will eventually replace filtered
21617         caps in pad linking.
21618         * gst/gstutils.c: (gst_element_create_all_pads): New function
21619         to create all the ALWAYS pads that are registered with an
21620         element class.  This functionality should eventually be
21621         merged in with GstElement initialization.
21622         * gst/gstutils.h:
21623         * testsuite/trigger/README: part of trigger test code that should
21624         have been checked in a long time ago.
21625
21626 2005-04-23  David Schleef  <ds@schleef.org>
21627
21628         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
21629         needed with new versions of libtool (nobody will confirm this),
21630         and hard to carry around.
21631         * gst/autoplug/Makefile.am:
21632         * gst/base/Makefile.am:
21633         * gst/elements/Makefile.am:
21634         * gst/indexers/Makefile.am:
21635         * gst/schedulers/Makefile.am:
21636         * libs/gst/bytestream/Makefile.am:
21637         * libs/gst/control/Makefile.am:
21638         * libs/gst/dataprotocol/Makefile.am:
21639         * libs/gst/getbits/Makefile.am:
21640
21641 2005-04-21  Wim Taymans  <wim@fluendo.com>
21642
21643         * docs/design/draft-push-pull.txt:
21644         * docs/design/part-MT-refcounting.txt:
21645         * docs/design/part-TODO.txt:
21646         * docs/design/part-caps.txt:
21647         * docs/design/part-events.txt:
21648         * docs/design/part-gstbus.txt:
21649         * docs/design/part-gstpipeline.txt:
21650         * docs/design/part-messages.txt:
21651         * docs/design/part-push-pull.txt:
21652         * docs/design/part-query.txt:
21653         Some more docs.
21654
21655 2005-04-21  Wim Taymans  <wim@fluendo.com>
21656
21657         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
21658         (gst_message_new), (gst_message_new_error),
21659         (gst_message_new_warning), (gst_message_new_tag),
21660         (gst_message_new_state_changed), (gst_message_new_application),
21661         (gst_message_get_structure):
21662         * gst/gstmessage.h:
21663         * gst/gststructure.c: (gst_structure_set_parent_refcount),
21664         (gst_structure_copy_conditional):
21665         Use parent refcount in GstMessage to ensure GstStructure
21666         consistency.
21667         Cleaned up headers a bit.
21668         
21669
21670 2005-04-20  Wim Taymans  <wim@fluendo.com>
21671
21672         * gst/base/gstbasesink.c: (gst_basesink_base_init),
21673         (gst_basesink_pad_getcaps), (gst_basesink_init),
21674         (gst_basesink_chain_unlocked):
21675         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
21676         (gst_type_find_helper):
21677         * gst/elements/gsttypefindelement.c:
21678         (gst_type_find_element_have_type), (gst_type_find_element_init),
21679         (stop_typefinding), (gst_type_find_element_handle_event),
21680         (find_suggest), (gst_type_find_element_chain),
21681         (gst_type_find_element_checkgetrange),
21682         (gst_type_find_element_getrange), (do_typefind),
21683         (gst_type_find_element_activate):
21684         * gst/gstbuffer.c: (_gst_buffer_sub_free),
21685         (gst_buffer_default_free), (gst_buffer_default_copy),
21686         (gst_buffer_set_caps):
21687         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
21688         (gst_caps_replace):
21689         * gst/gstmessage.c: (gst_message_new),
21690         (gst_message_new_state_changed):
21691         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21692         (gst_pad_set_checkgetrange_function),
21693         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
21694         (gst_pad_set_caps), (gst_pad_check_pull_range),
21695         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
21696         * gst/gstpad.h:
21697         * gst/gsttypefind.c: (gst_type_find_register):
21698         Make gst_caps_replace() work like other _replace() functions.
21699         Use _caps_replace() where possible.
21700         Make sure _message_new() initialises its field.
21701         Add gst_static_pad_template_get_caps()
21702
21703
21704 2005-04-18  Andy Wingo  <wingo@pobox.com>
21705
21706         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
21707         on the peer, not the pad. I think that was a typo. Pass an extra
21708         arg to see if random access is possible. Activate the pads as
21709         PULL_RANGE if possible.
21710
21711         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
21712
21713         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
21714         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
21715         to PROP_....
21716
21717 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21718
21719         * docs/faq/using.xml:
21720           Add note on gstreamer-properties (#154996).
21721
21722 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21723
21724         * docs/random/bbb/optional-properties:
21725           Some analysis on optional properties.
21726
21727 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21728
21729         * docs/gst/tmpl/gstelementfactory.sgml:
21730         * gst/gstelement.h:
21731         * gst/gstelementfactory.c: (gst_element_factory_init),
21732         (gst_element_factory_cleanup), (gst_element_register),
21733         (__gst_element_factory_add_static_pad_template),
21734         (gst_element_factory_get_static_pad_templates),
21735         (gst_element_factory_can_src_caps),
21736         (gst_element_factory_can_sink_caps):
21737         * gst/registries/Makefile.am:
21738         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
21739         (gst_xml_registry_class_init), (gst_xml_registry_init),
21740         (gst_xml_registry_new), (gst_xml_registry_set_property),
21741         (gst_xml_registry_get_property), (get_time), (make_dir),
21742         (gst_xml_registry_get_perms_func),
21743         (plugin_times_older_than_recurse), (plugin_times_older_than),
21744         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
21745         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
21746         (add_to_char_array), (read_string), (read_uint), (read_enum),
21747         (load_pad_template), (load_feature), (load_plugin), (load_paths),
21748         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
21749         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
21750         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
21751         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
21752         (gst_xml_registry_rebuild):
21753         * gst/registries/gstlibxmlregistry.h:
21754         * tools/gst-compprep.c: (main):
21755         * tools/gst-inspect.c: (print_pad_templates_info):
21756         * tools/gst-xmlinspect.c: (print_element_info):
21757           Use libxml2 for registry parsing, use staticpadtemplates in
21758           elementfactories. Makes gst_init() +/- 10x faster.
21759
21760 2005-04-12  Wim Taymans  <wim@fluendo.com>
21761
21762         * gst/base/Makefile.am:
21763         * gst/base/gstbasesink.c: (gst_basesink_base_init),
21764         (gst_basesink_pad_getcaps), (gst_basesink_init),
21765         (gst_basesink_event), (gst_basesink_change_state):
21766         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
21767         (gst_basesrc_init), (gst_basesrc_query),
21768         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
21769         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
21770         (gst_basesrc_check_get_range), (gst_basesrc_loop),
21771         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
21772         (gst_basesrc_stop), (gst_basesrc_activate),
21773         (gst_basesrc_change_state):
21774         * gst/base/gsttypefindhelper.c: (helper_find_peek),
21775         (helper_find_suggest), (gst_type_find_helper):
21776         * gst/base/gsttypefindhelper.h:
21777         * gst/elements/Makefile.am:
21778         * gst/elements/gstelements.c:
21779         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
21780         (gst_fakesink_get_times), (gst_fakesink_event),
21781         (gst_fakesink_preroll), (gst_fakesink_render):
21782         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
21783         (gst_fakesrc_init), (gst_fakesrc_event_handler),
21784         (gst_fakesrc_get_property), (gst_fakesrc_create),
21785         (gst_fakesrc_start), (gst_fakesrc_stop):
21786         * gst/elements/gstfakesrc.h:
21787         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
21788         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
21789         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
21790         (gst_filesrc_create_read), (gst_filesrc_create),
21791         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
21792         (gst_filesrc_start):
21793         * gst/elements/gsttypefindelement.c:
21794         (gst_type_find_element_have_type), (gst_type_find_element_init),
21795         (start_typefinding), (stop_typefinding), (push_buffer_store),
21796         (gst_type_find_element_handle_event),
21797         (gst_type_find_element_chain),
21798         (gst_type_find_element_checkgetrange),
21799         (gst_type_find_element_getrange), (do_typefind),
21800         (gst_type_find_element_activate),
21801         (gst_type_find_element_change_state):
21802         * gst/elements/gsttypefindelement.h:
21803         * gst/gstpipeline.c: (pipeline_bus_handler):
21804         Added typefind helper.
21805         Small preroll fix in the base sink.
21806         Disable typefind code in basesrc.
21807         Crude port of typefindelement.
21808         Fakesrc cleanups.
21809
21810
21811 2005-04-11  Wim Taymans  <wim@fluendo.com>
21812
21813         * check/gst/gstbus.c: (gstbus_suite):
21814         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
21815         * check/gstcheck.h:
21816           Fix up the timeout so that the test does not fail.
21817
21818 2005-04-06  Wim Taymans  <wim@fluendo.com>
21819
21820         * gst/base/README:
21821         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
21822         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
21823         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
21824         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
21825         (gst_basesrc_check_get_range), (gst_basesrc_loop),
21826         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
21827         (gst_basesrc_stop), (gst_basesrc_activate),
21828         (gst_basesrc_change_state), (basesrc_find_peek),
21829         (basesrc_find_suggest), (gst_basesrc_type_find):
21830         * gst/base/gstbasesrc.h:
21831         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
21832         (gst_filesrc_class_init), (gst_filesrc_init),
21833         (gst_filesrc_finalize), (gst_filesrc_set_location),
21834         (gst_filesrc_set_property), (gst_filesrc_get_property),
21835         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
21836         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
21837         (gst_filesrc_create_read), (gst_filesrc_create),
21838         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
21839         * gst/elements/gstfilesrc.h:
21840         * gst/gstelement.c: (gst_element_get_state_func),
21841         (gst_element_lost_state), (gst_element_pads_activate):
21842         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21843         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
21844         (gst_pad_pull_range):
21845         * gst/gstpad.h:
21846         More work on the generic source base class, implement seeking,
21847         query.
21848         Make filesrc extend the base source class.
21849         Added gst_pad_set_checkgetrange_function to GstPad.
21850
21851 2005-04-06  Andy Wingo  <wingo@pobox.com>
21852
21853         * pkgconfig/gstreamer-base.pc.in:
21854         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
21855
21856         * pkgconfig/Makefile.am:
21857         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
21858
21859 2005-04-04  Wim Taymans  <wim@fluendo.com>
21860
21861         * gst/base/Makefile.am:
21862         * gst/base/README:
21863         * gst/base/gstbasesink.c: (gst_basesink_base_init),
21864         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
21865         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
21866         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
21867         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
21868         (gst_basesrc_base_init), (gst_basesrc_class_init),
21869         (gst_basesrc_init), (gst_basesrc_get_formats),
21870         (gst_basesrc_get_query_types), (gst_basesrc_query),
21871         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
21872         (gst_basesrc_set_property), (gst_basesrc_get_property),
21873         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
21874         (gst_basesrc_loop), (gst_basesrc_activate),
21875         (gst_basesrc_change_state):
21876         * gst/base/gstbasesrc.h:
21877         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
21878         (gst_fakesrc_class_init), (gst_fakesrc_init),
21879         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
21880         (gst_fakesrc_get_property), (gst_fakesrc_create):
21881         * gst/elements/gstfakesrc.h:
21882         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
21883         (gst_filesrc_open_file), (gst_filesrc_loop),
21884         (gst_filesrc_activate), (filesrc_find_peek),
21885         (gst_filesrc_type_find):
21886         Made base source class, make fakesrc extend it.
21887         Add comments to basesink class.
21888         Some filesrc cleanup.
21889
21890 2005-03-31  David Schleef  <ds@schleef.org>
21891
21892         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
21893         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
21894         expected to link against libgstreamer.
21895         * gst/base/Makefile.am: link against libgstreamer
21896         * gst/elements/Makefile.am: same
21897
21898 2005-03-31  Andy Wingo  <wingo@pobox.com>
21899
21900         * tests/instantiate/Makefile.am:
21901         * tests/instantiate/caps.c: Add test to test speed of caps copy
21902         and free.
21903
21904         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
21905         GMemChunk to be fair.
21906
21907         * gst/gsttrashstack.h: Remove warning about using the fallback
21908         trash stack implementation, it's still faster than malloc.
21909
21910 2005-03-30  Andy Wingo  <wingo@pobox.com>
21911
21912         * tests/complexity.c: Add a copyright.
21913
21914 2005-03-31  Wim Taymans  <wim@fluendo.com>
21915
21916         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
21917         (gst_base_transform_class_init), (gst_base_transform_init),
21918         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
21919         (gst_base_transform_get_property),
21920         (gst_base_transform_sink_activate),
21921         (gst_base_transform_src_activate),
21922         (gst_base_transform_change_state):
21923         * gst/base/gstbasetransform.h:
21924         * gst/elements/gstidentity.c: (gst_identity_class_init),
21925         (gst_identity_event), (gst_identity_check_perfect),
21926         (gst_identity_transform), (gst_identity_start),
21927         (gst_identity_stop):
21928         Added start/stop methods to transform base class so subclasses 
21929         don't need to deal with state changes even.
21930
21931 2005-03-31  Wim Taymans  <wim@fluendo.com>
21932
21933         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
21934         (gst_event_new_discontinuous), (gst_event_discont_get_value):
21935         * gst/gstevent.h:
21936         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21937         (gst_pad_pull_range):
21938         Added rate to the discont event to prepare for variable speed
21939         and reverse playback.
21940
21941 2005-03-29  David Schleef  <ds@schleef.org>
21942
21943         * configure.ac:
21944         * testsuite/trigger/Makefile.am:
21945         * testsuite/trigger/trigger.c: A little example program to show
21946         how trigger-based elements can work.
21947
21948 2005-03-29  Wim Taymans  <wim@fluendo.com>
21949
21950         * gst/base/Makefile.am:
21951         * gst/base/README:
21952         * gst/base/gstbasesink.c: (gst_basesink_get_type),
21953         (gst_basesink_base_init), (gst_basesink_class_init),
21954         (gst_basesink_pad_getcaps), (gst_basesink_init),
21955         (gst_basesink_activate), (gst_basesink_change_state):
21956         * gst/base/gstbasesink.h:
21957         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
21958         (gst_base_transform_base_init), (gst_base_transform_finalize),
21959         (gst_base_transform_class_init), (gst_base_transform_init),
21960         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
21961         (gst_base_transform_event), (gst_base_transform_getrange),
21962         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
21963         (gst_base_transform_set_property),
21964         (gst_base_transform_get_property),
21965         (gst_base_transform_sink_activate),
21966         (gst_base_transform_src_activate),
21967         (gst_base_transform_change_state):
21968         * gst/base/gstbasetransform.h:
21969         * gst/elements/gstidentity.c: (gst_identity_finalize),
21970         (gst_identity_class_init), (gst_identity_init),
21971         (gst_identity_event), (gst_identity_check_perfect),
21972         (gst_identity_transform), (gst_identity_set_property),
21973         (gst_identity_get_property), (gst_identity_change_state):
21974         * gst/elements/gstidentity.h:
21975         * gst/gstelement.c: (gst_element_get_state_func),
21976         (gst_element_lost_state), (gst_element_pads_activate):
21977         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21978         (gst_pad_check_pull_range), (gst_pad_pull_range):
21979         * gst/gstpad.h:
21980         Simplify pad activation.
21981         Added function to check if pull_range can be performed.
21982         Error out when pulling inactive or flushing pads.
21983         Removed const from refcounted types as it does not make sense.
21984         Simplify pad templates in basesink
21985         Added base class for simple 1-to-1 transforms.
21986         Make identity subclass the base transform.
21987
21988 2005-03-29  Andy Wingo  <wingo@pobox.com>
21989
21990         * docs/libs/gstreamer-libs-overrides.txt: 
21991         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
21992         really don't understand what's going on, but like whatever. I want
21993         green buildbot!
21994
21995         * docs/gst/Makefile.am:
21996         * docs/libs/Makefile.am: Dist the overrides files.
21997
21998         * check/Makefile.am (clean-local): Remove .libs directories.
21999
22000         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
22001         elements to EXTRA_DIST, so po/ files are happy.
22002
22003         * po/POTFILES.in: Er, remove it here.
22004
22005         * po/POTFILES: Remove gstspider.c.
22006
22007         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
22008
22009         * docs/libs/gstreamer-libs-docs.sgml: 
22010         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
22011         bytestream.
22012
22013         * tests/complexity.c (main): Set the length of the preroll queue
22014         on the sinks to prevent a lockup.
22015
22016         * libs/gst/dataprotocol/Makefile.am: 
22017         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
22018         the same as the one in check/gst-libs/gdp.c.
22019
22020         * po/, docs/gst/: Commit automatic changes to docs and po files.
22021
22022         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
22023         the versioned libgstbase.
22024
22025         * check/Makefile.am: Depend on an unversioned gst-register, seems
22026         to make autoconf happier.
22027
22028         * gst/base/Makefile.am: Make libgstbase a versioned lib.
22029
22030 2005-03-28  Wim Taymans  <wim@fluendo.com>
22031
22032         * configure.ac:
22033         * docs/design/part-gstelement.txt:
22034         * docs/design/part-negotiation.txt:
22035         * docs/design/part-preroll.txt:
22036         * docs/design/part-scheduling.txt:
22037         * docs/design/part-states.txt:
22038         * gst/Makefile.am:
22039         * gst/base/Makefile.am:
22040         * gst/base/README:
22041         * gst/base/gstbasesink.c: (gst_basesink_get_template),
22042         (gst_basesink_base_init), (gst_basesink_class_init),
22043         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
22044         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
22045         (gst_basesink_set_pad_functions),
22046         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
22047         (gst_basesink_set_property), (gst_basesink_get_property),
22048         (gst_base_sink_get_template), (gst_base_sink_get_caps),
22049         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
22050         (gst_basesink_preroll_queue_push),
22051         (gst_basesink_preroll_queue_empty),
22052         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
22053         (gst_basesink_event), (gst_basesink_get_times),
22054         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
22055         (gst_basesink_chain_unlocked), (gst_basesink_chain),
22056         (gst_basesink_loop), (gst_basesink_activate),
22057         (gst_basesink_change_state):
22058         * gst/base/gstbasesink.h:
22059         * gst/elements/Makefile.am:
22060         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
22061         (gst_fakesink_class_init), (gst_fakesink_init),
22062         (gst_fakesink_set_property), (gst_fakesink_get_property),
22063         (gst_fakesink_get_times), (gst_fakesink_event),
22064         (gst_fakesink_preroll), (gst_fakesink_render),
22065         (gst_fakesink_change_state):
22066         * gst/elements/gstfakesink.h:
22067         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
22068         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
22069         * gst/gstelement.c: (gst_element_add_pad),
22070         (gst_element_get_state_func), (gst_element_abort_state),
22071         (gst_element_commit_state), (gst_element_lost_state),
22072         (gst_element_set_state), (gst_element_pads_activate):
22073         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
22074         * gst/gstpipeline.c: (gst_pipeline_send_event),
22075         (gst_pipeline_change_state):
22076         Added state change code.
22077         Added/updated docs.
22078         Added sink base class, make fakesink extend the base class.
22079         Small cleanups in GstPipeline.
22080
22081 2005-03-26  David Schleef  <ds@schleef.org>
22082
22083         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
22084         is broken and should be implemented in a different library.
22085         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
22086         * gst/gst.h: remove gstcpu.h
22087         * gst/gstcpu.c: remove
22088         * gst/gstcpu.h: remove
22089         * gst/Makefile.am.future: Remove this file.  It's ancient.
22090
22091 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22092
22093         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
22094         (gst_bin_send_event):
22095           Add default event/set_manager handlers. The set_manager handler
22096           takes care that the manager is distributed over kids that were
22097           already in the bin before the manager was set. The event handler
22098           is a utility virtual function that sends the event over all sinks,
22099           so that gst_element_send_event (bin, event); has the expected
22100           behaviour.
22101         * gst/gstpad.c: (gst_pad_event_default):
22102           Re-install default event handling for discontinuities, so that
22103           seeking works without requiring hacks in applications or extra
22104           code in sinks.
22105         * gst/gstpipeline.c: (gst_pipeline_class_init),
22106         (gst_pipeline_send_event):
22107           Half hack, half utility: set a pipeline to PAUSED for seek events,
22108           since that is the only way we can guarantee a/v sync. Means that
22109           you can do gst_element_seek (pipeline, method, pos); on a pipeline
22110           and it "just works".
22111
22112 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22113
22114         * gst/gstpipeline.c: (gst_pipeline_use_clock):
22115           Lock/unlock mismatch.
22116
22117 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
22118
22119         * docs/faq/gst-uninstalled:
22120           add gst-plugins-base
22121         * docs/gst/Makefile.am:
22122           don't error out until docs are fixed
22123         * docs/gst/gstreamer.types:
22124           remove thread
22125
22126 2005-03-22  Wim Taymans  <wim@fluendo.com>
22127
22128         * check/Makefile.am:
22129         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
22130         * gst/gststructure.c: (gst_structure_set_valist),
22131         (gst_structure_copy_conditional):
22132         Activated more tests.
22133         Added message test.
22134         Added G_TYPE_POINTER to GstStructure.
22135         
22136
22137 2005-03-22  Wim Taymans  <wim@fluendo.com>
22138
22139         * docs/design/part-TODO.txt:
22140         * docs/design/part-events.txt:
22141         * docs/design/part-gstbin.txt:
22142         * docs/design/part-gstbus.txt:
22143         * docs/design/part-gstpipeline.txt:
22144         * docs/design/part-messages.txt:
22145         * gst/gstbus.c:
22146         * gst/gstmessage.c:
22147         Docs updates
22148
22149 2005-03-21  Wim Taymans  <wim@fluendo.com>
22150
22151         * gst/gstbus.c: (gst_bus_post):
22152         Fix copy-and-paste error.
22153
22154 2005-03-21  Wim Taymans  <wim@fluendo.com>
22155
22156         * check/Makefile.am:
22157         * gst/Makefile.am:
22158         * gst/elements/Makefile.am:
22159         * gst/elements/gstelements.c:
22160         * gst/elements/gstfakesink.c: (gst_fakesink_init),
22161         (gst_fakesink_event), (gst_fakesink_chain):
22162         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
22163         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
22164         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
22165         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
22166         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
22167         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
22168         (gst_fakesrc_loop), (gst_fakesrc_activate),
22169         (gst_fakesrc_change_state):
22170         * gst/elements/gstfakesrc.h:
22171         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
22172         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
22173         (gst_filesrc_open_file), (gst_filesrc_loop),
22174         (gst_filesrc_activate), (gst_filesrc_change_state),
22175         (filesrc_find_peek), (filesrc_find_suggest),
22176         (gst_filesrc_type_find):
22177         * gst/elements/gstidentity.c: (gst_identity_finalize),
22178         (gst_identity_class_init), (gst_identity_init),
22179         (gst_identity_proxy_getcaps), (identity_queue_push),
22180         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
22181         (gst_identity_getrange), (gst_identity_chain),
22182         (gst_identity_sink_loop), (gst_identity_src_loop),
22183         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
22184         (gst_identity_set_property), (gst_identity_get_property),
22185         (gst_identity_change_state):
22186         * gst/elements/gstidentity.h:
22187         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
22188         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
22189         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
22190         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
22191         (gst_tee_sink_activate):
22192         * gst/elements/gsttee.h:
22193         * gst/gst.c: (gst_register_core_elements), (init_post):
22194         * gst/gst.h:
22195         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
22196         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
22197         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
22198         (gst_bin_change_state):
22199         * gst/gstbin.h:
22200         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
22201         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
22202         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
22203         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
22204         (gst_bus_set_sync_handler), (gst_bus_create_watch),
22205         (bus_watch_callback), (bus_watch_destroy),
22206         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
22207         (poll_timeout), (gst_bus_poll):
22208         * gst/gstbus.h:
22209         * gst/gstcaps.h:
22210         * gst/gstdata.h:
22211         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
22212         (gst_element_post_message), (gst_element_message_full),
22213         (gst_element_get_state_func), (gst_element_get_state),
22214         (gst_element_abort_state), (gst_element_commit_state),
22215         (gst_element_lost_state), (gst_element_set_state),
22216         (gst_element_pads_activate), (gst_element_change_state),
22217         (gst_element_dispose), (gst_element_set_manager_func),
22218         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
22219         (gst_element_set_manager), (gst_element_get_manager),
22220         (gst_element_set_bus), (gst_element_get_bus),
22221         (gst_element_set_scheduler), (gst_element_get_scheduler):
22222         * gst/gstelement.h:
22223         * gst/gstevent.c: (gst_event_new_segment_seek),
22224         (gst_event_new_flush):
22225         * gst/gstevent.h:
22226         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
22227         (_gst_message_free), (gst_message_get_type), (gst_message_new),
22228         (gst_message_new_eos), (gst_message_new_error),
22229         (gst_message_new_warning), (gst_message_new_tag),
22230         (gst_message_new_state_changed), (gst_message_new_application),
22231         (gst_message_get_structure), (gst_message_parse_tag),
22232         (gst_message_parse_state_changed), (gst_message_parse_error),
22233         (gst_message_parse_warning):
22234         * gst/gstmessage.h:
22235         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
22236         (gst_real_pad_set_property), (gst_pad_set_active),
22237         (gst_pad_is_active), (gst_pad_set_blocked_async),
22238         (gst_pad_set_blocked), (gst_pad_is_blocked),
22239         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
22240         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
22241         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
22242         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
22243         (gst_pad_link_filtered), (gst_pad_relink_filtered),
22244         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
22245         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
22246         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
22247         (gst_pad_set_caps), (gst_pad_configure_sink),
22248         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
22249         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
22250         (gst_real_pad_dispose), (gst_real_pad_finalize),
22251         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
22252         (gst_pad_event_default_dispatch), (gst_pad_event_default),
22253         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
22254         * gst/gstpad.h:
22255         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
22256         (pipeline_bus_handler), (gst_pipeline_change_state),
22257         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
22258         * gst/gstpipeline.h:
22259         * gst/gstprobe.h:
22260         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
22261         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
22262         (gst_queue_link_src), (gst_queue_bufferalloc),
22263         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
22264         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
22265         (gst_queue_loop), (gst_queue_handle_src_event),
22266         (gst_queue_handle_src_query), (gst_queue_src_activate),
22267         (gst_queue_change_state):
22268         * gst/gstqueue.h:
22269         * gst/gstscheduler.c: (gst_scheduler_init),
22270         (gst_scheduler_dispose), (gst_scheduler_create_task),
22271         (gst_scheduler_factory_create):
22272         * gst/gstscheduler.h:
22273         * gst/gststructure.c: (gst_structure_get_type),
22274         (gst_structure_copy_conditional):
22275         * gst/gststructure.h:
22276         * gst/gsttaginterface.h:
22277         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
22278         (gst_task_init), (gst_task_dispose), (gst_task_create),
22279         (gst_task_get_state), (gst_task_start), (gst_task_stop),
22280         (gst_task_pause):
22281         * gst/gsttask.h:
22282         * gst/gstthread.c:
22283         * gst/gstthread.h:
22284         * gst/gsttypes.h:
22285         * gst/schedulers/Makefile.am:
22286         * gst/schedulers/cothreads_compat.h:
22287         * gst/schedulers/entryscheduler.c:
22288         * gst/schedulers/faircothreads.c:
22289         * gst/schedulers/faircothreads.h:
22290         * gst/schedulers/fairscheduler.c:
22291         * gst/schedulers/gstbasicscheduler.c:
22292         * gst/schedulers/gstoptimalscheduler.c:
22293         * gst/schedulers/gthread-cothreads.h:
22294         * gst/schedulers/threadscheduler.c:
22295         (gst_thread_scheduler_task_get_type),
22296         (gst_thread_scheduler_task_class_init),
22297         (gst_thread_scheduler_task_init),
22298         (gst_thread_scheduler_task_start),
22299         (gst_thread_scheduler_task_stop),
22300         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
22301         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
22302         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
22303         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
22304         (plugin_init):
22305         * libs/gst/Makefile.am:
22306         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
22307         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
22308         (gst_file_pad_parent_set):
22309         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
22310         (gst_dp_event_from_packet):
22311         * tests/complexity.c: (main):
22312         * tests/mass_elements.c: (main):
22313         * testsuite/states/locked.c: (message_received), (main):
22314         * testsuite/states/parent.c: (main):
22315         * tools/gst-inspect.c: (print_element_flag_info),
22316         (print_implementation_info), (print_pad_info):
22317         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
22318         (main):
22319         * tools/gst-md5sum.c: (event_loop), (main):
22320         * tools/gst-typefind.c: (main):
22321         * tools/gst-xmlinspect.c: (print_element_info):
22322         Next big merge.
22323         Added GstBus for mainloop integration.
22324         Added GstMessage for sending notifications on the bus.
22325         Added GstTask as an abstraction for pipeline entry points.
22326         Removed GstThread.
22327         Removed Schedulers.
22328         Simplified GstQueue for multithreaded core.
22329         Made _link threadsafe, removed old capsnego.
22330         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
22331         Added pad blocking functions.
22332         Reworked scheduling functions in GstPad to prepare for
22333         scheduling updates soon.
22334         Moved events out of data stream.
22335         Simplified GstEvent types.
22336         Added return values to push/pull.
22337         Removed clocking from GstElement.
22338         Added prototypes for state change function for next merge.
22339         Removed iterate from bins and state change management.
22340         Fixed some elements, disabled others for now.
22341         Fixed -inspect and -launch.
22342         Added check for GstBus.
22343
22344 2005-03-10  Wim Taymans  <wim@fluendo.com>
22345
22346         * docs/design/part-MT-refcounting.txt:
22347         * docs/design/part-clocks.txt:
22348         * docs/design/part-gstelement.txt:
22349         * docs/design/part-gstobject.txt:
22350         * docs/design/part-standards.txt:
22351         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
22352         (gst_bin_remove_func), (gst_bin_remove):
22353         * gst/gstbin.h:
22354         * gst/gstbuffer.c:
22355         * gst/gstcaps.h:
22356         * testsuite/clock/clock1.c: (main):
22357         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
22358         (main):
22359         * testsuite/dlopen/loadgst.c: (do_test):
22360         * testsuite/refcounting/bin.c: (add_remove_test1),
22361         (add_remove_test2), (main):
22362         * testsuite/refcounting/element.c: (main):
22363         * testsuite/refcounting/element_pad.c: (main):
22364         * testsuite/refcounting/pad.c: (main):
22365         * tools/gst-launch.c: (sigint_handler_sighandler):
22366         * tools/gst-typefind.c: (main):
22367         Doc updates.
22368         Added doc about clock.
22369         removed gst_bin_iterate_recurse_up(), marked methods
22370         for removal.
22371         Fix more testsuites.
22372
22373 2005-03-09  Wim Taymans  <wim@fluendo.com>
22374
22375         * gst/gstpad.c: (gst_pad_get_direction),
22376         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
22377         (gst_pad_collect_valist):
22378         * testsuite/bins/interface.c: (main):
22379         * testsuite/caps/audioscale.c: (test_caps):
22380         * testsuite/caps/caps.c: (test1), (test2), (test3):
22381         * testsuite/caps/deserialize.c: (main):
22382         * testsuite/caps/enumcaps.c: (main):
22383         * testsuite/caps/filtercaps.c: (main):
22384         * testsuite/caps/intersect2.c: (main):
22385         * testsuite/caps/random.c: (main):
22386         * testsuite/caps/renegotiate.c: (my_fixate), (main):
22387         * testsuite/caps/sets.c: (check_caps):
22388         * testsuite/caps/simplify.c: (check_caps), (main):
22389         * testsuite/caps/subtract.c: (check_caps):
22390         Fix _pad_get_direction wrt ghostpads.
22391         Fix caps testsuite.
22392
22393 2005-03-09  Wim Taymans  <wim@fluendo.com>
22394
22395         * check/Makefile.am:
22396         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
22397         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
22398         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
22399         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
22400         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
22401         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
22402         (gst_bin_remove), (gst_bin_iterate_recurse_up),
22403         (bin_element_is_sink), (gst_bin_iterate_sinks),
22404         (gst_bin_iterate_all_by_interface):
22405         * gst/gstbin.h:
22406         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
22407         (gst_element_change_state), (gst_element_dispose),
22408         (gst_element_finalize), (gst_element_set_loop_function):
22409         * gst/gstelement.h:
22410         * gst/gstiterator.c: (find_custom_fold_func):
22411         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
22412         (gst_pad_collectv), (gst_pad_collect_valist),
22413         (gst_pad_template_new):
22414         * gst/gstpipeline.c: (gst_pipeline_class_init),
22415         (gst_pipeline_dispose), (gst_pipeline_set_property),
22416         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
22417         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
22418         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
22419         * gst/gstutils.h:
22420         * gst/schedulers/entryscheduler.c:
22421         * gst/schedulers/gstbasicscheduler.c:
22422         (gst_basic_scheduler_cothreaded_chain),
22423         (gst_basic_scheduler_chain_add_element):
22424         * testsuite/bins/interface.c: (main):
22425         Added GstBin test.
22426         Added GstSystemClock test.
22427         Implemented clock distribution code in GstBin.
22428         Implemented iterate sinks method for future use.
22429         Rearranged gstelement.h
22430         Fix GstIterator comparison bug.
22431         Moved some code to GstPipeline, mostly clocking related.
22432
22433 2005-03-09  Wim Taymans  <wim@fluendo.com>
22434
22435         * configure.ac:
22436         * gst/gst_private.h:
22437         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
22438         (gst_bin_remove_func), (gst_bin_remove),
22439         (gst_bin_get_by_name_recurse_up):
22440         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
22441         (gst_clock_id_compare_func), (gst_clock_id_wait),
22442         (gst_clock_id_wait_async), (gst_clock_init),
22443         (gst_clock_adjust_unlocked), (gst_clock_get_time):
22444         * gst/gstelement.h:
22445         * gst/gstinfo.c: (_gst_debug_init):
22446         * gst/gstobject.h:
22447         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
22448         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
22449         * gst/gstpad.h:
22450         Bump version number, we're now 0.9.0
22451         Add future debugging category.
22452         Fix NULL _unref() in _get_by_name_recurse_up
22453         Rearrange gstpad.h.
22454         Update some docs.
22455
22456 2005-03-08  Wim Taymans  <wim@fluendo.com>
22457
22458         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
22459         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
22460         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
22461         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
22462         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
22463         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
22464         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
22465         * gst/elements/gstidentity.c: (gst_identity_class_init):
22466         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
22467         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
22468         * gst/elements/gstshaper.c: (gst_shaper_class_init):
22469         * gst/elements/gststatistics.c: (gst_statistics_class_init):
22470         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
22471         (gst_tee_link):
22472         * gst/gstelement.c: (gst_element_class_init),
22473         (gst_element_base_class_init), (gst_element_init),
22474         (gst_element_get_random_pad), (gst_element_wait_state_change),
22475         (gst_element_change_state), (gst_element_dispose),
22476         (gst_element_finalize), (gst_element_set_loop_function):
22477         * gst/gstelement.h:
22478         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
22479         * gst/gstthread.c: (gst_thread_class_init),
22480         (gst_thread_release_children_locks), (gst_thread_change_state):
22481         * gst/schedulers/gstbasicscheduler.c:
22482         (gst_basic_scheduler_loopfunc_wrapper),
22483         (gst_basic_scheduler_chain_wrapper),
22484         (gst_basic_scheduler_src_wrapper),
22485         (gst_basic_scheduler_remove_element):
22486         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
22487         Remove threadsafe properties. Fix elements because GObject
22488         complains when installing a property before declaring a
22489         set/get_property handler.
22490         Rearrange gstelement.h file, use STATE macros for state locks.
22491         Free mutexes in the finalize method instead of dispose.
22492
22493 2005-03-08  Wim Taymans  <wim@fluendo.com>
22494
22495         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
22496         * gst/gstthread.c: (gst_thread_release_children_locks):
22497         Added parentage check.
22498         Fix build og GstThread again.
22499
22500 2005-03-08  Wim Taymans  <wim@fluendo.com>
22501
22502         * docs/design/part-MT-refcounting.txt:
22503         * docs/design/part-conventions.txt:
22504         * docs/design/part-gstobject.txt:
22505         * docs/design/part-relations.txt:
22506         * docs/design/part-standards.txt:
22507         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
22508         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
22509         (gst_bin_get_by_name), (gst_bin_get_by_interface),
22510         (gst_bin_iterate_all_by_interface):
22511         * gst/gstbuffer.h:
22512         * gst/gstclock.h:
22513         * gst/gstelement.c: (gst_element_class_init),
22514         (gst_element_change_state), (gst_element_set_loop_function):
22515         * gst/gstelement.h:
22516         * gst/gstiterator.c:
22517         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
22518         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
22519         (gst_object_dispatch_properties_changed), (gst_object_set_name),
22520         (gst_object_set_parent), (gst_object_unparent),
22521         (gst_object_check_uniqueness):
22522         * gst/gstobject.h:
22523         Docs updates, clean up some headers.
22524
22525 2005-03-07  Wim Taymans  <wim@fluendo.com>
22526
22527         * check/.cvsignore:
22528         * check/Makefile.am:
22529         * check/gst-libs/.cvsignore:
22530         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
22531         * check/gst/.cvsignore:
22532         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
22533         (START_TEST), (gstbus_suite), (main):
22534         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
22535         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
22536         (gst_data_suite), (main):
22537         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
22538         (add_fold_func), (gstiterator_suite), (main):
22539         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
22540         (thread_name_object), (thread_name_object_default),
22541         (gst_object_name_compare), (gst_object_suite), (main):
22542         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
22543         (gst_pad_suite), (main):
22544         * check/gstcheck.c: (gst_check_log_message_func),
22545         (gst_check_log_critical_func), (gst_check_init):
22546         * check/gstcheck.h:
22547         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
22548         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
22549         Added checks.
22550
22551 2005-03-07  Wim Taymans  <wim@fluendo.com>
22552
22553         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
22554         (gst_list_iterator_next), (gst_list_iterator_resync),
22555         (gst_list_iterator_free), (gst_iterator_new_list),
22556         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
22557         (gst_iterator_free), (gst_iterator_push), (filter_next),
22558         (filter_resync), (filter_uninit), (filter_free),
22559         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
22560         (gst_iterator_foreach), (find_custom_fold_func),
22561         (gst_iterator_find_custom):
22562         * gst/gstiterator.h:
22563         Added missing files.
22564
22565 2005-03-07  Wim Taymans  <wim@fluendo.com>
22566
22567         * Makefile.am:
22568         * configure.ac:
22569         * docs/design/part-MT-refcounting.txt:
22570         * docs/design/part-conventions.txt:
22571         * docs/design/part-gstobject.txt:
22572         * docs/design/part-relations.txt:
22573         * examples/mixer/mixer.c: (main):
22574         * examples/thread/thread.c: (eos), (main):
22575         * gst/Makefile.am:
22576         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
22577         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
22578         (gst_spider_plug_from_srcpad):
22579         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
22580         (gst_spider_identity_change_state),
22581         (gst_spider_identity_sink_loop_type_finding):
22582         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
22583         * gst/elements/gstidentity.c: (gst_identity_init):
22584         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
22585         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
22586         * gst/elements/gsttypefindelement.c: (free_entry):
22587         * gst/gst.c:
22588         * gst/gst.h:
22589         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
22590         (gst_bin_set_clock_func), (gst_bin_auto_clock),
22591         (gst_bin_set_index), (gst_bin_set_element_sched),
22592         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
22593         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
22594         (gst_bin_iterate_elements), (iterate_child_recurse),
22595         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
22596         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
22597         (compare_interface), (gst_bin_get_by_interface),
22598         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
22599         * gst/gstbin.h:
22600         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
22601         (gst_buffer_default_free), (gst_buffer_default_copy),
22602         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
22603         (gst_buffer_create_sub):
22604         * gst/gstbuffer.h:
22605         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
22606         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
22607         (gst_caps_unref), (gst_static_caps_get),
22608         (gst_caps_remove_and_get_structure), (gst_caps_append),
22609         (gst_caps_append_structure), (gst_caps_remove_structure),
22610         (gst_caps_copy_nth), (gst_caps_set_simple),
22611         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
22612         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
22613         (gst_caps_structure_intersect_field), (gst_caps_intersect),
22614         (gst_caps_structure_subtract_field), (gst_caps_subtract),
22615         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
22616         (gst_caps_structure_figure_out_union),
22617         (gst_caps_switch_structures), (gst_caps_do_simplify),
22618         (gst_caps_replace), (gst_caps_from_string),
22619         (gst_caps_copy_conditional):
22620         * gst/gstcaps.h:
22621         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
22622         (_gst_clock_id_free), (gst_clock_id_unref),
22623         (gst_clock_id_compare_func), (gst_clock_id_wait),
22624         (gst_clock_id_wait_async), (gst_clock_class_init),
22625         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
22626         (gst_clock_get_time), (gst_clock_set_time_adjust),
22627         (gst_clock_set_property), (gst_clock_get_property):
22628         * gst/gstclock.h:
22629         * gst/gstcompat.h:
22630         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
22631         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
22632         * gst/gstdata.h:
22633         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
22634         (gst_element_requires_clock), (gst_element_provides_clock),
22635         (gst_element_set_clock), (gst_element_clock_wait),
22636         (gst_element_wait), (gst_element_set_time_delay),
22637         (gst_element_is_indexable), (gst_element_add_pad),
22638         (gst_element_add_ghost_pad), (gst_element_remove_pad),
22639         (pad_compare_name), (gst_element_get_static_pad),
22640         (gst_element_request_pad), (gst_element_get_request_pad),
22641         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
22642         (gst_element_class_get_pad_template_list),
22643         (gst_element_class_get_pad_template), (gst_element_error_func),
22644         (gst_element_get_random_pad), (gst_element_get_event_masks),
22645         (gst_element_send_event), (gst_element_seek),
22646         (gst_element_get_query_types), (gst_element_query),
22647         (gst_element_get_formats), (gst_element_convert),
22648         (gst_element_is_locked_state), (gst_element_set_locked_state),
22649         (gst_element_sync_state_with_parent), (gst_element_change_state),
22650         (gst_element_finalize), (gst_element_yield),
22651         (gst_element_interrupt), (gst_element_set_scheduler),
22652         (gst_element_get_scheduler), (gst_element_set_loop_function):
22653         * gst/gstelement.h:
22654         * gst/gstevent.h:
22655         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
22656         (gst_format_get_by_nick), (gst_format_get_details),
22657         (gst_format_iterate_definitions):
22658         * gst/gstformat.h:
22659         * gst/gstindex.c: (gst_index_gtype_resolver):
22660         * gst/gstinfo.c:
22661         * gst/gstinfo.h:
22662         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
22663         (gst_mem_chunk_free):
22664         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
22665         (gst_object_ref), (gst_object_unref), (gst_object_sink),
22666         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
22667         (gst_object_dispatch_properties_changed),
22668         (gst_object_set_name_default), (gst_object_set_name),
22669         (gst_object_get_name), (gst_object_set_name_prefix),
22670         (gst_object_get_name_prefix), (gst_object_set_parent),
22671         (gst_object_get_parent), (gst_object_unparent),
22672         (gst_object_check_uniqueness), (gst_object_save_thyself),
22673         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
22674         (gst_object_set_property), (gst_object_get_property),
22675         (gst_object_get_path_string):
22676         * gst/gstobject.h:
22677         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
22678         (gst_real_pad_init), (gst_real_pad_get_property),
22679         (gst_pad_custom_new), (gst_pad_get_direction),
22680         (gst_pad_set_active), (gst_pad_is_active),
22681         (gst_pad_set_event_function), (gst_pad_is_linked),
22682         (gst_pad_link_free), (gst_pad_link_intersect),
22683         (gst_pad_link_fixate), (gst_pad_set_caps),
22684         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
22685         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
22686         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
22687         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
22688         (gst_pad_get_caps), (gst_pad_peer_get_caps),
22689         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
22690         (gst_pad_realize), (gst_pad_get_allowed_caps),
22691         (gst_real_pad_dispose), (gst_real_pad_finalize),
22692         (gst_pad_collectv), (gst_pad_collect_valist),
22693         (gst_pad_template_dispose), (gst_pad_template_new),
22694         (gst_pad_get_internal_links):
22695         * gst/gstpad.h:
22696         * gst/gstpipeline.c: (gst_pipeline_dispose),
22697         (gst_pipeline_change_state):
22698         * gst/gstpipeline.h:
22699         * gst/gstplugin.c:
22700         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
22701         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
22702         * gst/gstpluginfeature.h:
22703         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
22704         * gst/gstquery.c: (_gst_query_type_initialize),
22705         (gst_query_type_register), (gst_query_type_get_by_nick),
22706         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
22707         * gst/gstquery.h:
22708         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
22709         * gst/gstscheduler.c: (gst_scheduler_add_element),
22710         (gst_scheduler_factory_create):
22711         * gst/gststructure.c: (gst_structure_set_parent_refcount),
22712         (gst_structure_free), (gst_structure_set_name),
22713         (gst_structure_id_set_value), (gst_structure_set_value),
22714         (gst_structure_set_valist), (gst_structure_remove_field),
22715         (gst_structure_remove_fields),
22716         (gst_structure_remove_fields_valist),
22717         (gst_structure_remove_all_fields), (gst_structure_foreach),
22718         (gst_structure_map_in_place),
22719         (gst_caps_structure_fixate_field_nearest_int),
22720         (gst_caps_structure_fixate_field_nearest_double):
22721         * gst/gststructure.h:
22722         * gst/gstsystemclock.c: (gst_system_clock_class_init),
22723         (gst_system_clock_init), (gst_system_clock_dispose),
22724         (gst_system_clock_async_thread),
22725         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
22726         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
22727         * gst/gstsystemclock.h:
22728         * gst/gsttag.c: (gst_tag_list_add_value_internal),
22729         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
22730         * gst/gsttaginterface.c:
22731         * gst/gstthread.c: (gst_thread_dispose),
22732         (gst_thread_release_children_locks), (gst_thread_change_state),
22733         (gst_thread_main_loop):
22734         * gst/gsttrashstack.h:
22735         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
22736         * gst/gsttypes.h:
22737         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
22738         (gst_element_request_pad), (gst_element_get_pad_from_template),
22739         (gst_element_request_compatible_pad),
22740         (gst_element_get_compatible_pad_filtered),
22741         (gst_element_get_compatible_pad), (gst_element_state_get_name),
22742         (gst_element_link_pads_filtered), (gst_element_link_filtered),
22743         (gst_element_link_many), (gst_element_link),
22744         (gst_element_link_pads), (gst_element_unlink_pads),
22745         (gst_element_unlink_many), (gst_element_unlink),
22746         (gst_pad_can_link_filtered), (gst_pad_can_link),
22747         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
22748         (gst_object_default_error), (gst_bin_add_many),
22749         (gst_bin_remove_many), (gst_element_populate_std_props),
22750         (gst_element_class_install_std_props), (gst_buffer_merge),
22751         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
22752         (link_fold_func), (gst_pad_proxy_setcaps):
22753         * gst/gstutils.h:
22754         * gst/gstvalue.c: (gst_value_deserialize_string):
22755         * gst/parse/grammar.y:
22756         * gst/schedulers/gstbasicscheduler.c:
22757         (gst_basic_scheduler_cothreaded_chain),
22758         (gst_basic_scheduler_chain_recursive_add),
22759         (gst_basic_scheduler_pad_link):
22760         * gst/schedulers/gstoptimalscheduler.c:
22761         (get_group_schedule_function),
22762         (gst_opt_scheduler_state_transition),
22763         (gst_opt_scheduler_add_element), (element_get_reachables_func):
22764         * libs/gst/bytestream/bytestream.c:
22765         * libs/gst/dataprotocol/dataprotocol.c:
22766         (gst_dp_header_from_buffer):
22767         * po/nb.po:
22768         * po/ru.po:
22769         * tests/threadstate/threadstate2.c: (eos):
22770         * tools/gst-compprep.c: (main):
22771         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
22772         (print_pad_info), (print_children_info):
22773         * tools/gst-launch.c: (idle_func), (main):
22774         * tools/gst-md5sum.c: (idle_func), (main):
22775         * tools/gst-xmlinspect.c: (print_element_info):
22776         First THREADED backport attempt, focusing on adding locks and
22777         making sure the API is threadsafe. Needs more work. More docs
22778         follow this week.
22779
22780 2005-02-24  Andy Wingo  <wingo@pobox.com>
22781
22782         * tests/bench-complexity.scm:
22783         * tests/complexity.gnuplot: New files, good for running complexity
22784         benchmarks.
22785
22786         * tests/Makefile.am:
22787         * tests/complexity.c: New test, sets up N elements, at each level
22788         teeing into M streams per element. Eeeenteresting.
22789
22790         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
22791         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
22792         running bench-mass_elements.scm.
22793
22794         * tests/bench-mass_elements.scm: New script, runs mass_elements
22795         for various numbers of identities, outputting the results to a
22796         file. Requires guile 1.6. Just for testing.
22797
22798 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22799
22800         * gst/schedulers/fairscheduler.c:
22801           compile with debug disabled
22802
22803 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
22804
22805         * configure.ac:
22806           hunting season on 0.9 is now OPEN