gst/gstconfig.h.in: Revert previous change that broke the build.
[platform/upstream/gstreamer.git] / ChangeLog
1 2007-04-17  Wim Taymans  <wim@fluendo.com>
2
3         * gst/gstconfig.h.in:
4         Revert previous change that broke the build.
5
6 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
7
8         * configure.ac:
9         * gst/Makefile.am:
10         * gst/gstconfig.h.in:
11           Drop libxml2 dependency when building with 
12           --enable-binary-registry --disable-loadsave
13
14 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
15
16         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
17         (gst_registry_binary_read_cache):
18         * gst/gstregistrybinary.h:
19           Remove unnecessary <sys/mman.h> include which broke the win32 build
20           with MingW; move includes from header file to .c file, even if the
21           header file isn't installed; use g_strerror() where UTF-8 strings
22           are expected, such as in GST_DEBUG messages.
23
24 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
25
26         * docs/libs/gstreamer-libs-sections.txt:
27         Remove bogus addition for API I didn't end up keeping.
28
29         * libs/gst/base/gstbasesrc.h:
30         Mention Since: 0.10.13 in the documentation.
31
32         Add the API keyword to the previous ChangeLog entry.
33
34 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
35
36         * docs/libs/gstreamer-libs-sections.txt:
37         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
38         (gst_base_src_default_prepare_seek_segment),
39         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
40         * libs/gst/base/gstbasesrc.h:
41         Allow basesrc derived classes to execute seeks in other formats
42         by providing a prepare_seek_segment vmethod. Sub-classes can choose
43         to prepare the GstSegment in any format that their perform_seek method
44         will be able to understand. The default implementation provides the
45         old behaviour of attempting to convert the seek offsets to the 
46         configured native format.
47
48         API: basesrc::prepare_seek_segment vmethod.
49
50 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
51
52         * gst/gstelement.c: (gst_element_get_state_func):
53         Don't output the same debug statement twice.
54
55         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
56         (gst_adapter_peek), (gst_adapter_take_buffer):
57         Optimise the case where we have buffers at the head of the queue that
58         can be joined quickly (because they're contiguous sub-buffers) by
59         merging them together rather than copying data out into new memory.
60
61         * gst/parse/grammar.y:
62         * tests/check/pipelines/parse-launch.c:
63         Fix a leak in an error path for parse_launch, and add a check 
64         for it to the testsuite.
65
66 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
67
68         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
69           Don't deadlock when releasing a pad - gst_pad_set_active may try
70           and take the multiqueue lock too.
71
72 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
73
74         * gst/gsterror.c: (_gst_core_errors_init):
75         * gst/gsterror.h:
76           API: add GST_CORE_ERROR_DISABLED (#392804).
77
78 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
79
80         * docs/faq/gst-uninstalled:
81           don't get empty paths on the PATH variables
82         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
83           Don't format for the uncommon terminal width of 84 characters.
84
85 2007-04-06  Wim Taymans  <wim@fluendo.com>
86
87         * gst/gstpipeline.c: (reset_stream_time),
88         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
89         Only try to select a different pipeline clock when we went back to
90         PAUSED and not when we merely got flushed.
91
92 2007-04-05  Michael Smith  <msmith@fluendo.com>
93
94         * tools/gst-launch.1.in:
95           fractions are better supported in gstreamer than ractions, so
96           suggest using those.
97
98 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
99
100         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
101
102         * po/LINGUAS:
103         * po/da.po:
104           Added Danish translation.
105
106 2007-04-05  Wim Taymans  <wim@fluendo.com>
107
108         * libs/gst/base/gstbasesink.c:
109         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
110         Fix leak caused when refusing newsegment after EOS.
111
112         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
113         (gst_fake_sink_init), (gst_fake_sink_set_property),
114         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
115         (gst_fake_sink_render), (gst_fake_sink_change_state):
116         * plugins/elements/gstfakesink.h:
117         Add num-buffers property to make the element generate EOS after a
118         configurable amount of buffers.
119         API: fakesink::num-buffers property.
120
121         * tests/check/elements/fakesink.c: (GST_START_TEST),
122         (fakesink_suite):
123         Fix GstBus leak in test.
124         Test for fakesink num-buffers.
125
126 2007-04-05  Wim Taymans  <wim@fluendo.com>
127
128         * libs/gst/base/gstbasesink.c:
129         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
130         (gst_base_sink_change_state):
131         Don't accept anything after an EOS, return UNEXPECTED instead.
132
133         * tests/check/elements/fakesink.c: (GST_START_TEST),
134         (fakesink_suite):
135         Unit test for new EOS behaviour.
136
137 2007-04-05  Wim Taymans  <wim@fluendo.com>
138
139         * gst/gstelement.c: (gst_element_get_request_pad):
140         Make padtemplates also work when they don't contain %s or %d.
141
142 2007-04-05  Wim Taymans  <wim@fluendo.com>
143
144         * docs/gst/gstreamer-sections.txt:
145         * gst/gstclock.c: (gst_clock_adjust_unlocked),
146         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
147         * gst/gstclock.h:
148         Improve _adjust_unlocked() so that it overflows less.
149         Add gst_clock_unadjust_unlocked to convert from external time to
150         internal time based on calibration.
151         Add some more debug.
152         API: GstClock::gst_clock_unadjust_unlocked()
153
154 2007-04-03  Wim Taymans  <wim@fluendo.com>
155
156         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
157
158         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
159         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
160         when releasing sink pad. Fixes #425400.
161
162 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
163
164         * docs/random/ensonic/dynlink.txt:
165           More work on proposal for new core api.
166
167         * docs/libs/gstreamer-libs-sections.txt:
168         * libs/gst/base/gstbasetransform.h:
169           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
170           
171         * libs/gst/controller/gstcontroller.c:
172         (on_object_controlled_property_changed),
173         (gst_controller_sync_values),
174         (gst_controller_set_interpolation_mode):
175         * libs/gst/controller/gstcontroller.h:
176           Less verbose logging add docs for unimplemented parts and correctly
177           return when using unavailable parts.
178
179 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
180
181         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
182         Move all the debug to the CLOCK category, and associate it with
183         the clock object.
184
185 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
186
187         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
188         Make take_buffer a bit quicker by removing redundant checks
189         caused by calling gst_adapter_take.
190
191 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
192
193         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
194           Don't leak GCond.
195
196         * tests/check/Makefile.am:
197         * tests/check/elements/.cvsignore:
198         * tests/check/elements/multiqueue.c: (setup_multiqueue),
199         (GST_START_TEST), (multiqueue_suite):
200           Add some dead simple unit tests for the 'multiqueue' element
201           (some bits don't work yet and are disabled for now).
202
203 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
204
205         * gst/gstelement.c: (gst_element_get_request_pad),
206         (gst_element_class_get_request_pad_template):
207           Make gst_element_get_request_pad() create request pads only for
208           request pad templates and not for, say, sometimes pad templates.
209
210 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
211
212         * docs/design/draft-klass.txt:
213           Add example that needs more thinking.
214         
215         * docs/design/draft-missing-plugins.txt:
216           More thoughts about wrapper plugins.
217         
218         * docs/random/ensonic/embedded.txt:
219         * docs/random/ensonic/profiling.txt:
220           More design work.
221
222 2007-03-25  Wim Taymans  <wim@fluendo.com>
223
224         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
225         (gst_base_src_loop):
226         Only push the segment events in the PLAYING state for live sources.
227
228 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
229
230         * gst/gstpipeline.c: (gst_pipeline_change_state):
231         Modify the clock distribution path in PAUSED->PLAYING so that we 
232         never attempt to choose a new clock unless we're actually leaving
233         the PAUSED state for the first time. This prevents choosing a
234         different clock when the state_change gets called for a 2nd time due
235         to some element doing an async state change.
236
237 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
238
239         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
240         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
241         (gst_pad_chain_unchecked), (gst_pad_push):
242         Revert last commit. This needs some more thoughts.
243
244 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
245
246         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
247         (gst_pad_chain_unchecked), (gst_pad_push):
248         Check in set_caps if the caps are compatible with the pad and remove
249         two functions that are redundant now. Fixes #421543.
250
251 2007-03-22  Wim Taymans  <wim@fluendo.com>
252
253         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
254         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
255         Unref some more to make valgrind happy.
256
257 2007-03-22  Wim Taymans  <wim@fluendo.com>
258
259         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
260         (gst_system_clock_id_wait_jitter),
261         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
262         Fix anoying regression that survived a few releases. When adding an
263         async entry while blocking on a sync entry, the sync entry will unblock
264         but still be busy, so it should continue to wait instead of returning
265         _BUSY to the app.
266         Add some comments here and there.
267
268         * tests/check/gst/gstsystemclock.c: (mixed_thread),
269         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
270         Add testcase for this.
271
272 2007-03-22  Wim Taymans  <wim@fluendo.com>
273
274         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
275         Handle errors from the clock sync better, only UNSCHEDULED indicates a
276         WRONG_STATE and can silently pause the task. All other cases should
277         error out.
278
279 2007-03-22  Wim Taymans  <wim@fluendo.com>
280
281         Patch by: <syrjala at sci dot fi>
282
283         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
284         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
285         Improve debugging.
286
287 2007-03-21  Michael Smith  <msmith@fluendo.com>
288
289         * docs/pwg/advanced-types.xml:
290           Fix some errors in the typefinding docs pointed out on irc.
291
292 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
293
294         * libs/gst/base/gstbasesrc.c:
295         Clarify FIXME comment in the face of having added unlock_stop()
296
297 2007-03-21  Wim Taymans  <wim@fluendo.com>
298
299         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
300         Prepare for release where we warn against possible app breakage in the
301         case of live pipelines along with an env var to enable/disable live
302         preroll mode (GST_COMPAT=[no-]live-preroll).
303
304 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
305
306         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
307         So we should use correct constants for checking for None offset.
308
309 2007-03-20  Wim Taymans  <wim@fluendo.com>
310
311         * docs/design/part-block.txt:
312         Mention the fact that the newly switched element should be set to at
313         least PAUSED.
314
315 2007-03-20  Wim Taymans  <wim@fluendo.com>
316
317         * gst/gst.c:
318         Fix compilation with registry disabled as spotted by Saur.
319
320 2007-03-20  Wim Taymans  <wim@fluendo.com>
321
322         Patch by: Olivier Crete <tester at tester dot ca>
323
324         * gst/gstelement.c: (gst_element_sync_state_with_parent):
325         Look at the pending state too when syncing the element state to the
326         parent. Fixes #420133.
327
328 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
329
330         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
331         (gst_base_sink_change_state):
332         * libs/gst/base/gstbasesink.h:
333         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
334         (gst_base_src_default_event), (gst_base_src_unlock_stop),
335         (gst_base_src_deactivate):
336         * libs/gst/base/gstbasesrc.h:
337         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
338         for sub-classes to correctly clear any state they set trying to
339         unlock, such as clearing out unlock commands from a command fd.
340
341         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
342         (gst_fd_sink_render), (gst_fd_sink_unlock),
343         (gst_fd_sink_unlock_stop):
344         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
345         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
346         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
347
348         Implement unlock_stop in fdsrc and fdsink.
349         Implement seeking in fdsrc when a seekable fd is passed, as in
350         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
351
352 2007-03-19  Wim Taymans  <wim@fluendo.com>
353
354         Patch by: Evan Nemerson <evan at coeus dash group dot com>
355
356         * gst/gstelement.c: (gst_element_class_init):
357         Fix pad-added and pad-removed signal signatures so that the pad type is
358         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
359
360 2007-03-19  Wim Taymans  <wim@fluendo.com>
361
362         * docs/gst/gstreamer-sections.txt:
363         Add new element field and method.
364
365         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
366         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
367         (gst_bin_recalc_state), (gst_bin_get_state_func),
368         (gst_bin_element_set_state), (gst_bin_change_state_func),
369         (gst_bin_continue_func), (bin_bus_handler),
370         (bin_push_state_continue), (bin_handle_async_start),
371         (bin_handle_async_done), (gst_bin_handle_message_func):
372         Make async state changes a bit smarter by using new ASYNC_START and
373         ASYNC_DONE messages. This reduces the number of times we run the state
374         recalculation thread.
375         Don't change state of element with a pending ASYNC_START message.
376         Deprecate STATE_DIRTY messages.
377         
378         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
379         (gst_element_get_state_func), (gst_element_continue_state),
380         (gst_element_lost_state), (gst_element_set_state_func),
381         (gst_element_change_state):
382         * gst/gstelement.h:
383         Keep the state that was last set by the app in a new element field.
384         Don't allow state changes when handling an element event.
385         Post ASYNC_START and ASYNC_DONE messages.
386         Change lost_state so that we go to PAUSED and wait for the parent to set
387         us to PLAYING again (so latency calculation can be performed)
388         Export gst_element_change_state() method so that subclasses can use it.
389         API: gst_element_change_state()
390         API: GST_STATE_TARGET
391
392         * gst/gstpipeline.c: (gst_pipeline_class_init),
393         (reset_stream_time), (gst_pipeline_change_state),
394         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
395         Using the new ASYNC_START message we can reset the base_time when
396         needed. This can then be used to implement base_time redistribution in
397         flushing seeks so that we can remove the explicit seek handling.
398         Perform latency query and configuration when going to PLAYING.
399
400         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
401         (gst_base_sink_query), (gst_base_sink_change_state):
402         Post new ASYNC_START/ASYNC_DONE messages.
403
404         * tests/check/generic/sinks.c: (GST_START_TEST):
405         Fix test because the bin will not set the async element to PLAYING right
406         away.
407
408         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
409         Make the message check a little stronger.
410         Handle ASYNC messages.
411
412         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
413         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
414         Expect ASYNC_DONE messages.
415
416 2007-03-19  Wim Taymans  <wim@fluendo.com>
417
418         * docs/gst/gstreamer-sections.txt:
419         * gst/gstmessage.c: (gst_message_new_async_start),
420         (gst_message_new_async_done), (gst_message_parse_info),
421         (gst_message_parse_async_start):
422         * gst/gstmessage.h:
423         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
424         support.
425
426 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
427
428         * tools/gst-inspect.c:
429         (print_plugin_automatic_install_info_codecs):
430           Now that we don't check for the 'Codec' keyword any longer in the
431           klass, we shouldn't spew a warning if the klass isn't a decoder or
432           encoder (since it might be a Source/Network, for example).
433
434 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
435
436         * tools/gst-inspect.c:
437         (print_plugin_automatic_install_info_codecs):
438           Don't require decoder/demuxer/depayloader elements or
439           encoder/muxer/paylader elements to have 'Codec' as part of their
440           factory class string when introspecting a plugin's capabilities.
441           draft-klass.txt mentions that it might be removed in future, and
442           flump3dec doesn't have it as part of its class string, so chances
443           are others might also not have it.
444
445 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
446
447         * po/af.po:
448         * po/az.po:
449         * po/bg.po:
450         * po/ca.po:
451         * po/cs.po:
452         * po/de.po:
453         * po/en_GB.po:
454         * po/fr.po:
455         * po/it.po:
456         * po/nb.po:
457         * po/nl.po:
458         * po/ru.po:
459         * po/sq.po:
460         * po/sr.po:
461         * po/sv.po:
462         * po/tr.po:
463         * po/uk.po:
464         * po/vi.po:
465         * po/zh_CN.po:
466         * po/zh_TW.po:
467           Update translations from translation project
468
469 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
470
471         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
472         (gst_child_proxy_set_property):
473           Invert precondition check to be alike the ones in the mimiced gobject
474           api.
475
476 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
477
478         * docs/design/draft-tagreading.txt:
479         * docs/random/ensonic/audiobaseclasses.txt:
480           Do some Architect work.
481
482         * gst/gstobject.c: (gst_object_set_name):
483           Add a WARNING.
484
485         * gst/gstpad.c:
486           Add docs that point from gst_pad_get_range to gst_pad_pull_range
487
488 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
489
490         * gst/gstsystemclock.c: (gst_system_clock_init),
491         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
492         Defer starting the async system clock thread until the first async
493         wait is scheduled. Fixes #414986.
494
495 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
496
497         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
498         (gst_single_queue_free):
499           Fix small leak (free GstSingleQueue structure too, not only contents).
500
501 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
502
503         * gst/gstbin.c:(gst_bin_add):
504         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
505         * win32/common/libgstbase.def:
506         * win32/common/libgstreamer.def:
507         Add new exported functions.
508
509 2007-03-09  Wim Taymans  <wim@fluendo.com>
510
511         * docs/plugins/gstreamer-plugins-sections.txt:
512         Fix GstTee docs.
513
514 2007-03-09  Wim Taymans  <wim@fluendo.com>
515
516         * docs/gst/gstreamer-sections.txt:
517         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
518         * gst/gstbuffer.h:
519         Add metadata copy functions. Fixes #393099.
520
521         * gst/gstutils.c: (gst_buffer_stamp):
522         * libs/gst/base/gstbasetransform.c:
523         (gst_base_transform_prepare_output_buffer):
524         Use new metadata copy functions.
525
526 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
527
528         * plugins/elements/gstidentity.c: (gst_identity_class_init),
529         (gst_identity_init), (gst_identity_check_perfect),
530         (gst_identity_check_imperfect_timestamp),
531         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
532         (gst_identity_set_property), (gst_identity_get_property):
533         * plugins/elements/gstidentity.h:
534         Separate out check-imperfect-timestamp and check-imperfect-offset.
535         Put back check-perfect as it was to keep compatibility.
536
537 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
538
539         * gst/gstelement.c: (gst_element_dispose):
540         There's no need to warn if VOID_PENDING is not NONE here, as
541         long as the state is NULL it's ok, and that's checked immediately
542         above.
543
544 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
545
546         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
547         Fix check for perfect stream to ignore buffers with -1 
548         offsets/offset ends when checking data contiguity.
549
550 2007-03-08  Wim Taymans  <wim@fluendo.com>
551
552         * tools/gst-launch.c: (event_loop):
553         Print INFO messages.
554
555 2007-03-08  Wim Taymans  <wim@fluendo.com>
556
557         * libs/gst/base/gstbasetransform.c:
558         (gst_base_transform_sink_eventfunc),
559         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
560         (gst_base_transform_activate):
561         * libs/gst/base/gstbasetransform.h:
562         Add support for dropping buffers with custom GstFlowReturn.
563         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
564         buffers or dropped buffers.
565
566         * docs/libs/gstreamer-libs-sections.txt:
567         docs for new custom return code.
568
569         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
570         Use drop support in base class to implement drop-probability.
571
572 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
573
574         * gst/gst.c: (load_plugin_func):
575         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
576         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
577         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
578           Remove newlines at end of debug log strings.
579
580 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
581
582         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
583         Only post bus message at max, once per buffer received.
584
585 2007-03-07  Wim Taymans  <wim@fluendo.com>
586
587         * docs/design/Makefile.am:
588         * docs/design/part-synchronisation.txt:
589         Add doc about synchronisation
590
591         * docs/design/draft-latency.txt:
592         * docs/design/part-TODO.txt:
593         * docs/design/part-clocks.txt:
594         * docs/design/part-events.txt:
595         * docs/design/part-gstbus.txt:
596         * docs/design/part-gstpipeline.txt:
597         * docs/design/part-live-source.txt:
598         * docs/design/part-messages.txt:
599         * docs/design/part-overview.txt:
600         * docs/design/part-streams.txt:
601         * docs/design/part-trickmodes.txt:
602         Documentation updates.
603
604 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
605
606         * gstreamer.doap:
607         Update the doap file.
608
609 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
610
611         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
612         Rename non-perfect to imperfect for Mike and for the sanctity of the
613         language.
614         Also make sure bus message gets emitted for data-incontiguities.
615
616 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
617
618         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
619         (gst_identity_start):
620         * plugins/elements/gstidentity.h:
621         Emit bus message if check-perfect is true and we encounter a
622         non-perfect stream between 2 consecutive buffers.
623         Fixes #415394.
624
625 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
626
627         * configure.ac:
628         Back to CVS
629
630 === release 0.10.12 ===
631
632 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
633
634         * configure.ac:
635           releasing 0.10.12, "Inevitable Demise"
636
637 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
638
639         * configure.ac:
640          Version 0.10.11.2 (0.10.12 pre-release)
641          Bump libtool versioning.
642
643 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
644
645         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
646           Log flow-names and not numbers.
647
648 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
649
650         * configure.ac:
651           Convert to new AG_GST style.
652
653 2007-02-28  Wim Taymans  <wim@fluendo.com>
654
655         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
656         Don't unref query twice.
657
658 2007-02-28  Wim Taymans  <wim@fluendo.com>
659
660         * gst/gstvalue.c: (gst_value_transform_object_string),
661         (_gst_value_initialize):
662         Implement GstObject -> string transform so we print object names
663         when serializing GValues containing GstObjects.
664
665 2007-02-28  Wim Taymans  <wim@fluendo.com>
666
667         * docs/gst/gstreamer-sections.txt:
668         Add new stuff to docs.
669
670 2007-02-28  Wim Taymans  <wim@fluendo.com>
671
672         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
673         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
674         (gst_base_sink_change_state):
675         Improve latency query code.
676         Don't leak latency events.
677
678         * tests/check/gst/gstbin.c: (GST_START_TEST):
679         Improve debugging.
680
681 2007-02-28  Wim Taymans  <wim@fluendo.com>
682
683         * gst/gstelement.c: (gst_element_message_full),
684         (gst_element_get_state_func):
685         * gst/gstelement.h:
686         Improve docs a little. Added Since: for new macro.
687
688         * gst/gstobject.c: (gst_object_sink):
689         * gst/gstpipeline.c: (gst_pipeline_change_state),
690         (gst_pipeline_set_new_stream_time):
691         * gst/gstpipeline.h:
692         Improve debugging and docs.
693
694         * gst/gstutils.c: (gst_element_state_change_return_get_name):
695         Improve debugging.
696
697 2007-02-28  Wim Taymans  <wim@fluendo.com>
698
699         * gst/gstelement.c: (gst_element_message_full),
700         (gst_element_set_locked_state), (gst_element_get_state_func),
701         (gst_element_change_state):
702         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
703         Documentation updates.
704         Small code cleanups.
705
706         * gst/gstmessage.c: (gst_message_new_info),
707         (gst_message_parse_info):
708         * gst/gstmessage.h:
709         API: gst_message_new_info()
710         API: gst_message_parse_info()
711         Add INFO message create and parse code.
712
713 2007-02-28  Wim Taymans  <wim@fluendo.com>
714
715         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
716         (bin_query_latency_done):
717         Also report the live parameter of a latency query.
718
719 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
720
721         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
722           Copy the current generic/states example from -base and adapt so
723           we can use the exact same code everywhere.
724           Check a STATES_IGNORE_ELEMENTS env var which can be used
725           to ignore certain element factories for this test, which is
726           what is being done in -base
727         * tests/check/Makefile.am:
728           Mention this environment variable.
729
730 2007-02-27  Wim Taymans  <wim@fluendo.com>
731
732         * docs/gst/gstreamer-sections.txt:
733         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
734         (gst_bus_timed_pop), (gst_bus_pop):
735         * gst/gstbus.h:
736         API: gst_bus_timed_pop()
737         Implement gst_bus_timed_pop() to do a blocking timed wait for a
738         message to arrive on the bus.
739
740         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
741         (gst_bus_suite):
742         Two unit tests for new _timed_pop() function.
743
744 2007-02-23  Wim Taymans  <wim@fluendo.com>
745
746         * gst/gstpipeline.c: (gst_pipeline_change_state),
747         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
748         Don't ref a NULL clock in _provide_clock_func().
749         Don't allow an INVALID delay.
750         Don't try to calculate base_time with an invalid start_time.
751         Also distribute and notify a NULL clock when it was selected.
752
753         * tools/gst-launch.c: (event_loop):
754         Don't crash when a NULL clock was selected in the pipeline.
755
756 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
757
758         * docs/design/Makefile.am:
759         * docs/design/draft-missing-plugins.txt:
760         * docs/random/draft-missing-plugins.txt:
761           Some small updates: update plugin system identifier prefix
762           ('gstreamer.net' to 'gstreamer'), mention our new install
763           API in libgstbaseutils rather than libgimme-codec, add
764           reference to the online docs.
765
766 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
767
768         * win32/common/config.h:
769           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
770           use moap cl ci to only check in what is mentioned in the ChangeLog.
771
772 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
773
774         * docs/gst/gstreamer-sections.txt:
775         * gst/gstelement.h:
776           Fix up documentation to link to the correct GstGError section.
777           Add GST_ELEMENT_INFO macro since someone else added a Info message.
778
779 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
780
781         * tools/gst-launch.c: (event_loop):
782           Make sure that we actually show the important message part of a
783           warning message.
784           No need to check if the gerror is not NULL to free; first of all
785           g_free accepts NULL; and second the default error handler would
786           segfault if gerror was NULL.
787
788 2007-02-21  Wim Taymans  <wim@fluendo.com>
789
790         * docs/gst/gstreamer-sections.txt:
791         Removed docs as well.
792
793 2007-02-21  Wim Taymans  <wim@fluendo.com>
794
795         * gst/gstmessage.c: (gst_message_parse_duration):
796         * gst/gstmessage.h:
797         Remove new messages for release.
798
799 2007-02-20  Wim Taymans  <wim@fluendo.com>
800
801         * docs/design/part-gstghostpad.txt:
802         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
803         (gst_ghost_pad_new_full):
804         Make the ghostpad a parent of the internal pad again for better backward
805         compatibility. Don't write code that relies on this however.
806
807         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
808         (gst_pad_link_check_hierarchy):
809         Require that parents should be GstElements in the hierarchy check.
810
811 2007-02-20  Wim Taymans  <wim@fluendo.com>
812
813         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
814         (gst_bin_change_state_func), (bin_query_min_max_init),
815         (bin_query_latency_fold), (bin_query_latency_done),
816         (gst_bin_query):
817         Improve debug info.
818         Implement latency query.
819
820 2007-02-20  Wim Taymans  <wim@fluendo.com>
821
822         * docs/design/part-gstghostpad.txt:
823         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
824         (gst_ghost_pad_internal_do_activate_push),
825         (gst_ghost_pad_internal_do_activate_pull),
826         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
827         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
828         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
829         Do not set the internal pad as a parent anymore so we can avoid
830         hierarchy linking errors when the ghostpad has no parent yet. This also
831         fixes failed activation because of unlinked internal pads, which in
832         turn fixes the impossible case where you have to activate a pad before
833         you can add it to a running element.
834         Also fix the docs.
835
836         * gst/gstpad.c: (pre_activate), (post_activate),
837         (gst_pad_set_active), (gst_pad_activate_pull),
838         (gst_pad_activate_push), (gst_pad_check_pull_range):
839         Add some more debug info.
840         Mark activation mode in pre_activate so that we don't try to activate in
841         endless loops. Fixes #385084.
842
843 2007-02-19  Wim Taymans  <wim@fluendo.com>
844
845         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
846         (gst_base_transform_check_get_range):
847         Implement a checkgetrange function instead of relying on the default
848         core behaviour that assumes we can operate in pull mode if we have a
849         getrange function. First step at fixing #385084.
850
851 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
852
853         * gst/gstchildproxy.h:
854         * libs/gst/base/gstbasesink.h:
855         * libs/gst/base/gstbasesrc.h:
856         * libs/gst/base/gstbasetransform.h:
857         More docs coverage and some ChangeLog surgery (add missing names)
858
859 2007-02-15  Wim Taymans  <wim@fluendo.com>
860
861         * docs/design/part-TODO.txt:
862         * docs/design/part-activation.txt:
863         * docs/design/part-block.txt:
864         * docs/design/part-buffering.txt:
865         * docs/design/part-clocks.txt:
866         * docs/design/part-element-source.txt:
867         * docs/design/part-events.txt:
868         * docs/design/part-gstbin.txt:
869         * docs/design/part-gstbus.txt:
870         * docs/design/part-gstpipeline.txt:
871         * docs/design/part-live-source.txt:
872         * docs/design/part-messages.txt:
873         * docs/design/part-overview.txt:
874         * docs/design/part-qos.txt:
875         * docs/design/part-query.txt:
876         * docs/design/part-states.txt:
877         * docs/design/part-trickmodes.txt:
878         Some doc updates. Start renaming from stream_time to running_time where
879         it was used wrongly.
880
881 2007-02-15  Wim Taymans  <wim@fluendo.com>
882
883         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
884         Answer LATENCY query.
885
886 2007-02-15  Wim Taymans  <wim@fluendo.com>
887
888         * tests/check/gst/gstevent.c: (event_probe), (test_event),
889         (GST_START_TEST):
890         Improve debugging.
891
892 2007-02-15  Wim Taymans  <wim@fluendo.com>
893
894         * gst/gstpad.c: (gst_pad_get_internal_links_default),
895         (gst_pad_dispatcher):
896         Improve debugging of default pad dispatcher and query functions.
897
898 2007-02-15  Wim Taymans  <wim@fluendo.com>
899
900         * docs/gst/gstreamer-sections.txt:
901         Remove old unused method.
902
903 2007-02-13  Wim Taymans  <wim@fluendo.com>
904
905         * tests/check/gst/gstsegment.c: (GST_START_TEST):
906         Fix check
907
908 2007-02-13  Wim Taymans  <wim@fluendo.com>
909
910         * docs/design/part-seeking.txt:
911         Some small update.
912
913         * gst/gstsegment.c: (gst_segment_set_seek):
914         Revert old bogus change that should make seeking work again.
915
916 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
917
918         * docs/random/ensonic/dynlink.txt:
919         * docs/random/ensonic/interfaces.txt:
920         * docs/random/ensonic/receipies.txt:
921           Possible dynamic reconnection api, plus some type fixes the other two
922           docs.
923
924 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
925
926         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
927         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
928         Also check for an absolute path following file:// in the filesrc
929         element. Remove redundant check and call g_path_is_absolute() on the
930         unescaped location.
931
932 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
933
934         * docs/design/draft-klass.txt:
935           Add existing category analysis.
936           
937         * gst/gstcaps.c:
938           Fix doc example, framerate is a fraction.
939
940 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
941
942         * configure.ac:
943         * docs/gst/Makefile.am:
944         * docs/libs/Makefile.am:
945         * docs/plugins/Makefile.am:
946           Add crossreferences to glib/gobject docs.
947
948 2007-02-12  Wim Taymans  <wim@fluendo.com>
949
950         * docs/design/draft-latency.txt:
951         Small update.
952
953         * docs/libs/gstreamer-libs-sections.txt:
954         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
955         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
956         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
957         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
958         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
959         (gst_base_sink_get_position), (gst_base_sink_query),
960         (gst_base_sink_change_state):
961         * libs/gst/base/gstbasesink.h:
962         API: gst_base_sink_query_latency() to let subclasses query the upstream
963         latency.
964         API: gst_base_sink_get_latency() to let subclasses query the configured
965         latency in the sink.
966         Implement query and set latency.
967         Update some docs.
968         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
969         don't continue preroll when we are flushing. Fixes #405284.
970
971         * tests/check/pipelines/stress.c: (change_state_timeout),
972         (quit_timeout), (GST_START_TEST), (stress_suite):
973         Test for #405284.
974
975 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
976
977         Patch by: René Stadler <mail at renestadler de>
978
979         * docs/gst/gstreamer-sections.txt:
980         * gst/gsttaglist.c: (_gst_tag_initialize):
981         * gst/gsttaglist.h:
982           API: add GST_TAG_REFERENCE_LEVEL (#403597).
983
984 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
985
986         * docs/libs/Makefile.am:
987           Fix path to core docs.
988
989         * gst/gstbin.c: (gst_bin_get_by_interface),
990         (gst_bin_iterate_all_by_interface):
991           Refix docs by also renaming 'interface' to 'iface' in implementation.
992
993         * docs/gst/gstreamer-sections.txt:
994         * gst/gstcaps.c:
995         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
996         * gst/gstchildproxy.h:
997         * gst/gstelementfactory.c:
998         * gst/gstpadtemplate.h:
999         * libs/gst/controller/gstcontroller.c:
1000         (gst_controlled_property_new):
1001           Document more.
1002
1003 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
1004
1005         * gst/gstbin.h:(gst_bin_get_by_interface),
1006         (gst_bin_iterate_all_by_interface):
1007         Replace interface parameter name by iface as interface is 
1008         a reserved keyword in Visual Studio for C++ projects so it removes
1009         a build error for application developpers using VS.
1010         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
1011         Fix a bug on Windows in uri format check. Now the prefix checked
1012         is file:// and next we check if the path after file:// is absolute.
1013         * win32/common/libgstbase.def:
1014         * win32/common/libgstdataprotocol.def:
1015         * win32/common/libgstgstreamer.def:
1016         Add new exported functions.
1017
1018 2007-02-09  Andy Wingo  <wingo@pobox.com>
1019
1020         * tests/check/pipelines/simple-launch-lines.c
1021         (simple_launch_lines_suite, test_tee): Disable tee test until I
1022         have time to fix it :-(
1023
1024         * tests/check/Makefile.am (noinst_HEADERS): 
1025         * tests/check/libs/libsabi.c: 
1026         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
1027         * tests/check/gst/gstabi.c: 
1028         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
1029
1030         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
1031         tests for push and pull tee behavior.
1032
1033         * plugins/elements/gsttee.h: 
1034         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
1035         mark as deprecated as well as unimplemented. It was a crack idea.
1036         Add support for tee operating in pull mode, off by default.
1037
1038         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
1039         normal-case logs down to LOG, raise errors to WARNING.
1040         (gst_registry_xml_read_cache): Don't log before calling a function
1041         that logs.
1042
1043         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
1044         exit (registry finalize).
1045         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
1046         DEBUG log when we emit signals that people don't even have the
1047         chance to connect to.
1048         (gst_registry_scan_path_level): Less logging in the normal case.
1049
1050 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
1051
1052         Patch by: Michal Benes <michal dot benes at itonis dot tv>
1053
1054         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
1055         Correctly generate EOS for non-seekable files. We don't have a total
1056         length for them and would get an unexpected end of file if we only
1057         special-cased for regular files. (Fixes: #404569)
1058
1059 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
1060
1061         * tests/check/elements/filesrc.c: (GST_START_TEST),
1062         (filesrc_suite):
1063         Add unit test for the GstURIHandler interface in filesrc. This also
1064         tests the newly added file://localhost/foo/bar support.
1065
1066 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
1067
1068         * gst/gstelementfactory.h:
1069           The klass string is not a hierarchy. Add reference to the design doc
1070           for more information and common types.
1071
1072 2007-02-02  Wim Taymans  <wim@fluendo.com>
1073
1074         * gst/gstquery.c: (gst_query_new_latency):
1075         Remove old structure field.
1076
1077 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
1078
1079         * tools/gst-launch.1.in:
1080           Give example for network streaming (#351998)
1081
1082 2007-02-02  Wim Taymans  <wim@fluendo.com>
1083
1084         * docs/gst/gstreamer-sections.txt:
1085         Add docs for new methods.
1086
1087         * gst/gstevent.c: (gst_event_new_latency),
1088         (gst_event_parse_latency):
1089         * gst/gstevent.h:
1090         Add new LATENCY event to configure latency in a pipeline.
1091         API: gst_event_new_latency
1092         API: gst_event_parse_latency
1093
1094         * gst/gstmessage.c: (gst_message_new_buffering),
1095         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
1096         (gst_message_new_latency), (gst_message_parse_buffering),
1097         (gst_message_parse_lost_preroll):
1098         * gst/gstmessage.h:
1099         Added messages used in draft-latency.
1100         API: gst_message_new_lost_preroll
1101         API: gst_message_parse_lost_preroll
1102         API: gst_message_new_prerolled
1103         API: gst_message_new_latency
1104
1105         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
1106         (gst_query_parse_latency):
1107         * gst/gstquery.h:
1108         Implemented new latency query as in design doc.
1109         API: gst_query_new_latency
1110         API: gst_query_set_latency
1111         API: gst_query_parse_latency
1112
1113 2007-02-02  Wim Taymans  <wim@fluendo.com>
1114
1115         * docs/design/draft-latency.txt:
1116         Slight redesign to allow for dynamic latency adjustments.
1117
1118         * docs/design/part-negotiation.txt:
1119         Fix some typos.
1120
1121 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
1122
1123         reviewed by: Wim Taymans <wim@fluendo.com>
1124
1125         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
1126         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
1127         Allow file://localhost/foo/bar URLs and correctly fail for every other
1128         hostname that one sets. This was gnomevfssrc is linked for those if
1129         installed as it can handle it (#403172)
1130
1131 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
1132
1133         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
1134
1135         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
1136         (unref_data), (gst_collect_pads_add_pad_full):
1137         * libs/gst/base/gstcollectpads.h:
1138         Don't put the previously added destroy notify in the GstCollectData
1139         struct as all it's padding is already used and we don't want to break
1140         ABI. Instead put in the pad's GObject data for now. This should be
1141         cleaned up for 0.11 (#402393).
1142
1143 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
1144
1145         reviewed by: Wim Taymans <wim@fluendo.com>
1146
1147         * docs/libs/gstreamer-libs-sections.txt:
1148         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
1149         (unref_data), (gst_collect_pads_add_pad),
1150         (gst_collect_pads_add_pad_full):
1151         * libs/gst/base/gstcollectpads.h:
1152         API: Add function to specify a destroy notification for custom
1153         GstCollectData when adding new pads in GstCollectPads (#402393).
1154
1155 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
1156
1157         * po/sv.po:
1158           Update Swedish translation (#378255).
1159
1160 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
1161
1162         * docs/design/draft-klass.txt:
1163           Fix the previous change, this is a list of categories and not a hierarchy.
1164
1165 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
1166
1167         * docs/design/draft-klass.txt:
1168           Add info about how to get a list of used classes.
1169
1170 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
1171
1172         * plugins/elements/gsttypefindelement.c:
1173         (gst_type_find_element_chain_do_typefinding),
1174         (gst_type_find_element_change_state):
1175           Don't leak found caps in chain function (no idea why that never
1176           showed up as a leak anywhere).
1177
1178 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
1179
1180         * gst/gstplugin.h:
1181           Fix and expand GstPluginDesc API docs.
1182
1183 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
1184
1185         * gst/gstcaps.c:
1186         * gst/gstelementfactory.c:
1187         * gst/gstpadtemplate.h:
1188           api doc fixes
1189
1190         * libs/gst/controller/gstcontroller.c:
1191         (gst_controlled_property_new):
1192         * tests/examples/controller/audio-example.c:
1193           comment fixes
1194
1195 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
1196
1197         * configure.ac:
1198           comment about refining the xml deps
1199
1200         * docs/manuals.mak:
1201           comments about moving away from jade for docs
1202         
1203         * gst/gst.c:
1204           recommit the ifdefs to use the binary registry
1205         
1206         * gst/gstbin.c: (gst_bin_change_state_func):
1207           this break is obsolete
1208
1209         * gst/gstelementfactory.h:
1210           better GST_ELEMENT_DETAILS docs, add comment about translation
1211
1212         * gst/gstinfo.h:
1213           remove eol slash
1214
1215         * gst/gstobject.c: (gst_signal_object_get_type):
1216           add G_UNLIKELY as usual
1217
1218         * gst/gstpad.c: (gst_pad_event_default):
1219           add fall trhu comment
1220
1221         * gst/gstregistrybinary.c: (gst_registry_binary_write),
1222         (gst_registry_binary_initialize_magic),
1223         (gst_registry_binary_save_string),
1224         (gst_registry_binary_save_pad_template),
1225         (gst_registry_binary_save_feature),
1226         (gst_registry_binary_save_plugin),
1227         (gst_registry_binary_write_cache),
1228         (gst_registry_binary_check_magic),
1229         (gst_registry_binary_load_pad_template),
1230         (gst_registry_binary_load_feature),
1231         (gst_registry_binary_load_plugin),
1232         (gst_registry_binary_read_cache):
1233           comment typo and formatting
1234
1235         * gst/gstutils.c: (gst_element_state_get_name),
1236         (gst_element_state_change_return_get_name):
1237           remove obsolete breaks
1238
1239         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
1240           add FIXME 0.11 and remove cpp comment
1241
1242 2007-01-29  Edward Hervey  <edward@fluendo.com>
1243
1244         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
1245         Fix print statement in an even more portable way.
1246
1247 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
1248
1249         * docs/gst/gstreamer-sections.txt:
1250         * gst/gstutils.h:
1251           API: add GST_ROUND_DOWN_* macros (#401781).
1252
1253 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
1254
1255         * docs/gst/gstreamer.types.in:
1256         * gst/gstregistry.c: (gst_registry_class_init):
1257           Document registry signals and make gtk-doc pick them up (#401381).
1258
1259 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
1260
1261         * docs/pwg/building-testapp.xml:
1262           Add some audioconverts and audioresample to the pipeline, and some
1263           more comments and error handling.
1264
1265 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
1266
1267         * docs/manual/manual.xml:
1268         * docs/pwg/pwg.xml:
1269           Fix typo (#400987).
1270
1271 2007-01-26  Wim Taymans  <wim@fluendo.com>
1272
1273         * gst/gstcaps.c: (gst_static_caps_get):
1274         Init caps flags too.
1275
1276 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
1277
1278         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
1279
1280         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
1281         If not using mmap'ed files try to seek to the end instead of the
1282         start to determine whether we can seek at all. This fixes the case
1283         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
1284         seeks for everything afterwards fail. Fixes #400656
1285
1286 2007-01-25  Wim Taymans  <wim@fluendo.com>
1287
1288         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
1289         Add some refcount debugging.
1290         Make gst_static_caps_get threadsafe, which is needed when autoplugging
1291         in multiple streaming threads.
1292
1293 2007-01-25  Wim Taymans  <wim@fluendo.com>
1294
1295         Patch by: David Schleef <ds at schleef dot org>
1296
1297         * docs/libs/gstreamer-libs-sections.txt:
1298         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
1299         * libs/gst/base/gstadapter.h:
1300         API: gst_adapter_copy() that can reduce the amount of memcpy when
1301         getting data from the adapter. Fixes #388201.
1302
1303 2007-01-25  Edward Hervey  <edward@fluendo.com>
1304
1305         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
1306         In print statements, "%x" is for guint. Fixes build on macosx.
1307
1308 2007-01-24  Edward Hervey  <edward@fluendo.com>
1309
1310         * plugins/elements/gstmultiqueue.c:
1311         (gst_multi_queue_loop):
1312         Small fix.
1313         (single_queue_overrun_cb), (single_queue_underrun_cb),
1314         (single_queue_check_full), (gst_single_queue_new):
1315         Implement single queue growth system.
1316         This uses the extra-size properties, and will grow single queues by
1317         that much if one goes full whereas there are others empty. This is
1318         called extra-mode in the code.
1319         When a single queue's levels go back below the initial max-size
1320         limits, it is no longer in extra-mode. This is to ensure we don't
1321         consume too much memory.
1322         Fixes #399875
1323
1324 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
1325
1326         * gst/gst.c: (gst_init_get_option_group):
1327           Make warning about late g_thread_init() calls a bit more explicit,
1328           so that it's more obvious to application developers what they need
1329           to do if a user files a bug against their application.
1330
1331 2007-01-22  Edward Hervey  <edward@fluendo.com>
1332
1333         * plugins/elements/gstmultiqueue.c:
1334         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
1335         Remove previous hack of unsetting the flushing flag for the source pad
1336         instead of activating it. Instead, fix the source pad activate function
1337         so that it no longer depends on having a parent set or not.
1338
1339 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
1340
1341         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
1342
1343         * docs/manual/basics-bus.xml:
1344           Fix example code, gst_element_unref() doesn't exist any longer.
1345
1346 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
1347
1348         Patch by: Mark Nauwelaerts <manauw at skynet be>
1349
1350         * gst/gstpad.c:
1351           Fix two docs typoes (#399094).
1352
1353 2007-01-19  Edward Hervey  <edward@fluendo.com>
1354
1355         * docs/faq/gst-uninstalled:
1356         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
1357         depending on libgstbaseutils can work in uninstalled environment.
1358
1359 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
1360
1361         * gst/gsttaglist.h:
1362         * gst/gsttagsetter.c:
1363         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
1364         statement for new tag.
1365
1366 2007-01-17  Edward Hervey  <edward@fluendo.com>
1367
1368         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
1369         When dynamically creating single queues, activate sinkpad before adding
1370         it.
1371         We should be doing the same thing for the source pad, but we can't
1372         since it would call a method which needs the parent to be set in order
1373         to work propertly. Instead of activating the source pad, we just unset
1374         the flushing flag, which is the minimal requirement for adding a pad
1375         to an element in a state greater than READY.
1376
1377 2007-01-17  Edward Hervey  <edward@fluendo.com>
1378
1379         * docs/faq/gst-uninstalled:
1380         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
1381         Mac OS X.
1382
1383 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
1384
1385         * tests/check/gst/gstabi.c:
1386         * tests/check/gst/struct_hppa.h:
1387         * tests/check/libs/libsabi.c:
1388         * tests/check/libs/struct_hppa.h:
1389           Add ABI structs for HPPA (see #393796).
1390
1391 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
1392
1393         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
1394           Actually write ABI structs to the file specified in the GST_ABI
1395           environment variable, as the message we print claims we would.
1396
1397 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
1398
1399         * tests/check/gst/gsttask.c:
1400           Fix header comment.
1401
1402 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
1403
1404         * gst/gsttaglist.c: (_gst_tag_initialize):
1405           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
1406           previous two entries.
1407
1408 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
1409
1410         * docs/gst/gstreamer-sections.txt:
1411         * gst/gsttaglist.c: (_gst_tag_initialize):
1412         * gst/gsttaglist.h:
1413           Add tag support for beat-per-minute.
1414
1415 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
1416
1417         * gst/gstregistrybinary.c: (gst_registry_binary_write),
1418         (gst_registry_binary_initialize_magic),
1419         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
1420         (gst_registry_binary_save_pad_template),
1421         (gst_registry_binary_save_feature),
1422         (gst_registry_binary_save_plugin),
1423         (gst_registry_binary_write_cache),
1424         (gst_registry_binary_check_magic),
1425         (gst_registry_binary_load_pad_template),
1426         (gst_registry_binary_load_feature),
1427         (gst_registry_binary_load_plugin),
1428         (gst_registry_binary_read_cache):
1429         * gst/gstregistrybinary.h:
1430           Use glib types, cleanup comments, impement interfaces and uri-types.
1431
1432 2007-01-13  Andy Wingo  <wingo@pobox.com>
1433
1434         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
1435         getrange() to return buffers with other caps, while we fix
1436         demuxers and typefind, or otherwise change part-negotiation.txt.
1437
1438 2007-01-12  Andy Wingo  <wingo@pobox.com>
1439
1440         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
1441         Factor start/stop into this private function instead of partially
1442         in activate functions and partially in the change_state function.
1443         Fixes setup before the element has changed from READY->PAUSED, as
1444         is the case in pull-mode pipelines.
1445         (gst_base_transform_sink_activate_push)
1446         (gst_base_transform_src_activate_pull): Refactor to use
1447         gst_base_transform_activate().
1448         (gst_base_transform_change_state): Removed, not needed any more.
1449
1450         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
1451         Truncate before fixating.
1452         
1453         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
1454         Don't set_caps() if the result of fixating is ANY, as it's not
1455         supported, and not necessary in the case of a link with no
1456         template caps on either side. Fixes tests/check/libs/basesrc in
1457         some pull-mode tests.
1458
1459         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
1460         (gst_base_transform_init, gst_base_transform_sink_activate_push)
1461         (gst_base_transform_src_activate_pull): 
1462         Track the activation mode.
1463         (gst_base_transform_setcaps): In pull mode, when activating the
1464         src pad, after activating the sink pad, activate the sink pad's
1465         peer, as discussed in part-negotiation.txt.
1466
1467         * libs/gst/base/gstbasesrc.h: 
1468         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
1469         vmethod, as in basesink.
1470
1471         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
1472
1473         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
1474         mode, first proxy the setcaps to the peer pad.
1475         (gst_base_sink_pad_fixate): Add a fixate function that calls the
1476         new fixate vmethod.
1477         (gst_base_sink_default_activate_pull): Rename from
1478         gst_base_sink_activate_pull.
1479         (gst_base_sink_negotiate_pull): New function, performs negotiation
1480         in pull mode before calling ::activate_pull().
1481         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
1482         vmethod instead of the default implementation. I have no idea how
1483         this worked before. Negotiate before calling activate_pull.
1484
1485         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
1486         sink pads in pull mode. In addition to being correct, fixes
1487         filesrc ! decodebin ! identity ! fakesink.
1488         (gst_pad_get_range, gst_pad_pull_range): Don't call
1489         gst_pad_set_caps() if the caps changes; instead error out with
1490         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
1491
1492 2007-01-12  Andy Wingo  <wingo@pobox.com>
1493
1494         * docs/design/part-negotiation.txt: Update with more policy.
1495
1496 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
1497
1498         * libs/gst/check/gstbufferstraw.h:
1499         * libs/gst/check/gstcheck.h:
1500           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
1501           belongs.
1502
1503 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
1504
1505         * tests/check/Makefile.am:
1506         * tests/check/gst/.cvsignore:
1507         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
1508         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
1509         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
1510         (GST_START_TEST), (gst_tag_setter_suite):
1511           Add minimal unit test for beforementioned GstTagSetter bug.
1512
1513 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
1514
1515         Patch by: René Stadler <mail at renestadler dot de>
1516
1517         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
1518           gst_tag_list_merge() returns a new list, so it's not the best idea
1519           to ingore its return value. Effectively meant that tags could only
1520           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
1521           Also add function guard to require a non-NULL taglist as input (has
1522           always been so due to gst_tag_list_copy(), just making it explicit).
1523
1524 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
1525
1526         * docs/random/draft-missing-plugins.txt:
1527           Some additions: mention new API that is supposed to be used at the
1528           various stages; short blob about new gst-inspect introspection
1529           option; mention potential future problem with plugins that have
1530           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
1531
1532 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
1533
1534         * tools/gst-inspect.c:
1535         (print_plugin_automatic_install_info_codecs),
1536         (print_plugin_automatic_install_info_protocols),
1537         (print_plugin_automatic_install_info), (main):
1538         Add --print-plugin-auto-install-info option to gst-inspect, so we can
1539         introspect plugin files and get machine-parsable output that corresponds
1540         to the last bit of the missing-plugin installer string (small gotcha:
1541         doesn't take into account ranks).
1542
1543 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
1544
1545         * configure.ac:
1546         * docs/gst/gstreamer-sections.txt:
1547         * gst/Makefile.am:
1548         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
1549         (gst_registry_lookup_locked):
1550         * gst/gstregistry.h:
1551         * gst/gstregistrybinary.c: (gst_registry_binary_write),
1552         (gst_registry_binary_initialize_magic),
1553         (gst_registry_binary_save_string),
1554         (gst_registry_binary_save_pad_template),
1555         (gst_registry_binary_save_feature),
1556         (gst_registry_binary_save_plugin),
1557         (gst_registry_binary_write_cache),
1558         (gst_registry_binary_check_magic),
1559         (gst_registry_binary_load_pad_template),
1560         (gst_registry_binary_load_feature),
1561         (gst_registry_binary_load_plugin),
1562         (gst_registry_binary_read_cache):
1563         * gst/gstregistrybinary.h:
1564         * gst/gstregistryxml.c: (load_feature),
1565         (gst_registry_xml_read_cache):
1566           commit binary registry (disabled by default, see #359653)
1567
1568 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
1569
1570         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
1571           Fix 'make check' too.
1572
1573 2007-01-10  Andy Wingo  <wingo@pobox.com>
1574
1575         * docs/design/part-negotiation.txt: Fix a typo, add a couple
1576         notes.
1577         
1578         * docs/design/part-negotiation.txt: Update with, um, one way that
1579         pull-mode negotiation might work?
1580
1581         * gst/gstpad.h: 
1582         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
1583         that the pad must be a src pad; makes sense to call it the other
1584         way in pull mode, and the logic is symmetric anyway.
1585
1586 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
1587
1588         * plugins/elements/gstfilesink.c:
1589           Include <stdio.h> for fseeko().
1590
1591 2007-01-10  Wim Taymans  <wim@fluendo.com>
1592
1593         * gst/gstevent.c:
1594         * gst/gstevent.h:
1595         Reserve LATENCY event.
1596
1597 2007-01-09  Wim Taymans  <wim@fluendo.com>
1598
1599         * docs/design/draft-latency.txt:
1600         Updates.
1601
1602 2007-01-09  Wim Taymans  <wim@fluendo.com>
1603
1604         * docs/design/draft-latency.txt:
1605         Updates.
1606
1607         * gst/gstelement.h:
1608         * gst/gststructure.c:
1609         * gst/gsttrace.c:
1610         Small typo fixes.
1611
1612 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
1613
1614         * tests/check/.cvsignore:
1615           Ignore test-registry.xml as well.
1616
1617 2007-01-09  Wim Taymans  <wim@fluendo.com>
1618
1619         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
1620         unref data at the end when we are done with the pad.
1621
1622 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
1623
1624         * docs/gst/gstreamer-sections.txt:
1625         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
1626         (init_post), (gst_deinit), (gst_update_registry):
1627         * gst/gst.h:
1628           API: add gst_update_registry() (#391296).
1629
1630         * tests/check/Makefile.am:
1631         * tests/check/gst/gstregistry.c:
1632         * tests/check/gst/.cvsignore:
1633           Simple unit test for the above.
1634
1635 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
1636
1637         * gst/gstregistry.c: (gst_registry_scan_path_level):
1638           Plugin extension on HP-UX is .sl, add that to the list of approved
1639           plugin extensions (see #393796).
1640
1641         * tests/check/gst/gstpad.c: (GST_START_TEST):
1642           ulong => gulong. Fixes compilation with HP-UX compiler.
1643
1644         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
1645           Fix compilation if valgrind headers are not available.
1646
1647 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
1648
1649         * win32/common/libgstreamer.def: 
1650           Add new exported function.
1651         * win32/vs6/libgstbase.dsp: 
1652           Add gstdataqueue.c to the build.
1653         * win32/vs6/libgstcoreelements.dsp:
1654           Add gstmultiqueue.c to the build.
1655         
1656 2007-01-06  Andy Wingo  <wingo@pobox.com>
1657
1658         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
1659         activate_pull(), providing for a way to specialize the process of
1660         spawning a thread to pull on the sink pad. There is a default
1661         implementation.
1662
1663         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
1664         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
1665         (gst_base_sink_init): Renamed pad activation functions (inserting
1666         "_pad" in their names). Refactor to use the new activate_pull
1667         vmethod, as appropriate.
1668         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
1669         default activate_pull function to start a task pulling from the
1670         sink pad, as before.
1671
1672         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
1673         on the pads if necessary, as in push()/chain(). Update docs.
1674         Shouldn't affect existing pull() usage as it is currently only
1675         being used on buffers without caps.
1676
1677 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
1678
1679         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
1680         (init_pre):
1681           Call g_thread_init() first thing in gst_init() / gst_check_init().
1682           When initialisation is done via gst_init_get_option_group() and
1683           GOption parsing, issue a warning if the GLib thread system has not
1684           been initialised yet by the time gst_init_get_option_group() is
1685           called, as it's quite likely other GLib functions such as
1686           g_option_context_new() have been called already then, and
1687           g_thread_init() must be called before any other GLib function. The
1688           application in question must be fixed in that case, since memory
1689           corruption might happen otherwise.
1690           We issue the warning because even if the GLib folks decide to work
1691           around the problem on their end in future, this is still an issue
1692           with all GLib versions >= 2.10.0, so we should warn until we depend
1693           on a GLib version we know to be safe.
1694           Update documentation as well.
1695           Closes bug #391278.
1696
1697 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
1698
1699         * tools/gst-inspect.c: (main):
1700         * tools/gst-launch.c: (main):
1701         * tools/gst-typefind.c: (main):
1702         * tools/gst-xmlinspect.c: (main):
1703           Call g_thread_init() really really early, before any other GLib
1704           function (see #342564 and recent discussion on gtk-devel-list).
1705
1706 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
1707
1708         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
1709
1710         * gst/gst_private.h:
1711         * gst/gstconfig.h.in:
1712         * gst/gstinfo.h:
1713           On win32, all the __declspec stuff for symbol exporting is
1714           apparently only needed with MSVC, but doesn't work with MingW.
1715           Fixes compilation with MingW and #391909.
1716
1717 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
1718
1719         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
1720           Change some GST_ERROR_OBJECT that aren't really errors to
1721           GST_WARNING_OBJECT in order to reduce terminal spam.
1722
1723 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
1724
1725         * tests/check/Makefile.am:
1726           disable test again, as there seem to be still race problems
1727
1728 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
1729
1730         * tests/check/Makefile.am:
1731         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
1732         (GST_START_TEST), (queue_suite):
1733           enable queue test again, add tests for the leaky behaviour
1734
1735 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
1736
1737         * configure.ac:
1738         * tests/examples/Makefile.am:
1739           Compile adapter test/example only if the required headers are
1740           available (fixes #391915).
1741
1742 2007-01-01  David Schleef  <ds@schleef.org>
1743
1744         * gst/gstplugin.c:
1745           Restore the previous signal handler for SIGSEGV instead of
1746           setting to default, since we may have stolen it away from
1747           someone.  (i.e., Mono)
1748
1749 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
1750
1751         * docs/random/draft-missing-plugins.txt:
1752           Some small additions and clarifications.
1753
1754 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
1755
1756         * gst/gstregistryxml.c: (gst_registry_save_escaped):
1757           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
1758           since that can lead to random memory corruptions and crashes
1759           (may or may not be related to #383244, #386711, and #386711).
1760
1761 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
1762
1763         * tests/check/.cvsignore:
1764         * tests/check/Makefile.am:
1765           sync .cvsignome and CLEANFILES
1766
1767 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
1768
1769         * tests/check/Makefile.am:
1770           fix distcheck
1771
1772 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
1773
1774         * docs/design/part-states.txt:
1775           two tiny additional comments
1776         
1777         * gst/gststructure.c:
1778           doc fixing
1779
1780         * tests/check/Makefile.am:
1781         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
1782         (GST_START_TEST):
1783           disable test for now, unless it gets fixed
1784
1785 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
1786
1787         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
1788         (GST_START_TEST):
1789           fix race in underrun test
1790
1791 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
1792
1793         * tests/check/elements/.cvsignore:
1794           ignore more
1795
1796         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
1797         (GST_START_TEST):
1798           try to narrow test failure
1799
1800 2006-12-21  David Schleef  <ds@schleef.org>
1801
1802         * plugins/elements/gstfakesrc.c:
1803           Use g_random_int_range(), since it produces better random
1804           numbers in a range than almost-correct floating point code.
1805
1806 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
1807
1808         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
1809         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
1810         (gst_check_teardown_sink_pad):
1811           do not automatically (de)activate pads
1812
1813         * tests/check/Makefile.am:
1814         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
1815         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
1816           add new, yet simple tests for queue
1817
1818         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
1819         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
1820         * tests/check/elements/filesrc.c: (cleanup_filesrc),
1821         (GST_START_TEST):
1822         * tests/check/elements/identity.c: (cleanup_identity):
1823           consistent pad (de)activation
1824
1825 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
1826
1827         Patch by: Sebastian Dröge  <slomo ubuntu com>
1828
1829         * libs/gst/base/gstcollectpads.c:
1830           Fix two doc typos (#387866).
1831
1832 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
1833
1834         * docs/manual/advanced-dparams.xml:
1835           Fix typo (g_object_control_properties() doesn't exist).
1836
1837 2006-12-19  Edward Hervey  <edward@fluendo.com>
1838
1839         * gst/gstsegment.c: (gst_segment_set_seek):
1840         Fine tune the cases where the segment start/stop values are really
1841         updated.
1842         * tests/check/gst/gstsegment.c: (GST_START_TEST):
1843         Add tests for the return values of gst_segment_set_seek().
1844
1845 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
1846
1847         * gst/gst.c:
1848           Docs typo fix.
1849
1850         * plugins/elements/gstqueue.c: (gst_queue_class_init),
1851         (gst_queue_init):
1852           Fix incorrect documentation and flesh it out a bit more.
1853           Set default values for the max properties on the GParamSpec as well,
1854           so it shows up correctly in gst-inspect.
1855
1856 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
1857
1858         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
1859           Correct docs of queue, add more detail and crosslink it more.
1860
1861 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
1862
1863         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
1864           Print additional debug info when the stream isn't perfectly
1865           timestamped; don't try to use invalid durations.
1866
1867 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
1868
1869         * docs/design/Makefile.am:
1870           Dist new design docs.
1871
1872 2006-12-16  Wim Taymans  <wim@fluendo.com>
1873
1874         Patch by: Sjoerd Simons <sjoerd at luon dot net>
1875
1876         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
1877         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
1878         (gst_collect_pads_stop), (gst_collect_pads_event),
1879         (gst_collect_pads_chain):
1880         * libs/gst/base/gstcollectpads.h:
1881         Add refcounting to the collectpads data so we can track when it's safe
1882         to free the data. Fixes #383382.
1883
1884 2006-12-15  Wim Taymans  <wim@fluendo.com>
1885
1886         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
1887         (gst_collect_pads_remove_pad):
1888         Automatically activate/deactivate pads when they are added to a
1889         started/stoped collectpads.
1890
1891 2006-12-15  Wim Taymans  <wim@fluendo.com>
1892
1893         * gst/gstelement.c: (gst_element_add_pad):
1894         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
1895         * gst/gstpad.c: (gst_pad_init):
1896         Set pads to FLUSHING when they are created. Check, warn and fix when a
1897         demuxer adds an inactive pad to itself when running. Fixes #339326.
1898
1899 2006-12-15  Wim Taymans  <wim@fluendo.com>
1900
1901         * gst/gstelement.c: (gst_element_class_init),
1902         (gst_element_default_send_event), (gst_element_send_event),
1903         (gst_element_default_query), (gst_element_query):
1904         Expose default element send_event and query handling as vmethods that
1905         subclasses can chain up to.
1906
1907 2006-12-15  Wim Taymans  <wim@fluendo.com>
1908
1909         * gst/gstelement.c: (gst_element_set_state_func):
1910         Small documentation fixes.
1911
1912 2006-12-15  Wim Taymans  <wim@fluendo.com>
1913
1914         * docs/design/draft-latency.txt:
1915         Checked in draft for handling latency in pipelines.
1916
1917 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
1918
1919         * Makefile.am:
1920         * gstreamer.doap:
1921         * gstreamer.spec.in:
1922           adding .doap file
1923
1924 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
1925
1926         * gst/gst.c: (init_pre), (init_post):
1927           init_pre() and init_post() might be called via our GOptionGroup or
1928           from gst_init(), and we should skip both of them if we've already
1929           been initialised, otherwise we will init some things twice or add
1930           two default log functions.
1931
1932 2006-12-13  Edward Hervey  <edward@fluendo.com>
1933
1934         * docs/manual/basics-bus.xml:
1935         No, gst_main_loop does not exist. Its g_main_loop.
1936         Discovered by somebody who abused the copy-paste technique of coding :)
1937
1938 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
1939
1940         * gst/gstghostpad.c:
1941           Log ghostpad debug stuff to the GST_PADS category as well rather
1942           than just to the default category.
1943
1944 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
1945
1946         * configure.ac:
1947         * gst/gst.c: (init_pre):
1948           Add some basic system details such as OS and architecture
1949           to the debug output if possible, courtesy of uname().
1950
1951 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
1952
1953         * docs/gst/running.xml:
1954           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
1955           environment variables.
1956
1957 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
1958
1959         * tests/check/gst/gstbin.c: (GST_START_TEST):
1960         It is acceptable to have a refcount of 2 or 3 at this point in the
1961         test, because the pipeline might be just posting its state_change
1962         message. The next line then waits for that message to appear using
1963         bus_poll, so that should be fine too.
1964
1965 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
1966
1967         * gst/gst.c: (ensure_current_registry_forking):
1968         Ignore EINTR when reading from the child registry pipe.
1969         Explicitly ignore the return value from close, since it makes no
1970         difference.
1971
1972         * gst/gstminiobject.c: (gst_mini_object_ref),
1973         (gst_mini_object_unref):
1974         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
1975
1976         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
1977         When removing cached plugins, remove their features too, so they're
1978         not visible after they've disappeared.
1979
1980         * gst/gstutils.c: (prepare_link_maybe_ghosting):
1981         In the unlikely case that we are linking pads with no parents, don't
1982         crash trying to get the non-existent parent bin.
1983
1984         * gst/parse/grammar.y:
1985         Output debug in the PIPELINE category
1986
1987 2005-03-08  Wim Taymans  <wim@fluendo.com>
1988
1989         Patch by: René Stadler <mail at renestadler dot de>
1990
1991         * gst/gstclock.c: (gst_clock_new_periodic_id):
1992         Reject invalid clock times for interval of periodic ids.
1993         Fixes ##383506.
1994
1995 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
1996
1997         * gst/gstelementfactory.c: (gst_element_factory_create):
1998         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1999         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
2000         * tools/gst-inspect.c: (print_element_info):
2001         Fix refcounting of gst_plugin_feature_load to match the docs. 
2002         Fixes: #380129
2003
2004 2006-12-07  Wim Taymans  <wim@fluendo.com>
2005
2006         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
2007         (gst_base_sink_get_position):
2008         Improve debugging of events.
2009
2010 2006-12-07  Wim Taymans  <wim@fluendo.com>
2011
2012         Patch by: René Stadler <mail at renestadler dot de>
2013
2014         * gst/gstclock.c: (gst_clock_id_wait):
2015         Make period ids add the interval to the origial requested time instead
2016         of the possibly updated time which can be wrong when there are multiple
2017         waiters for the same id. Fixes #382592.
2018
2019         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
2020         (gst_system_clock_id_wait_jitter_unlocked),
2021         (gst_system_clock_id_wait_jitter):
2022         Fix restart in the async notify thread when an async entry is added to
2023         the front of the list. Fixes #381492. 
2024
2025         * tests/check/gst/gstsystemclock.c: (store_callback),
2026         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
2027         Added test for multiple async waits.
2028         Added test for async wait order.
2029
2030 2006-12-07  Wim Taymans  <wim@fluendo.com>
2031
2032         * gst/gstbin.c: (gst_bin_query):
2033         Add some more docs about the POSITION query.
2034
2035 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
2036
2037         * configure.ac:
2038         Bump version nano - back to CVS.
2039
2040 === release 0.10.11 ===
2041
2042 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
2043
2044         * configure.ac:
2045           releasing 0.10.11, "Love never runs on time"
2046
2047 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
2048
2049         * win32/common/libgstbase.def:
2050         * win32/common/libgstreamer.def:
2051         * win32/vs8/libgstbase.vcproj:
2052         * win32/vs8/libgstcoreelements.vcproj:
2053         * win32/vs8/libgstreamer.vcproj:
2054         Fix compilation on win32 under VS8
2055         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
2056         Partially fixes #381175
2057
2058 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
2059
2060         * gst/gstvalue.c: (gst_value_compare_fraction):
2061         If someone is foolish enough to compare 2 fractions with denominator =
2062         0, return UNORDERED rather than aborting.
2063
2064 2006-11-28  Edward Hervey  <edward@fluendo.com>
2065
2066         * libs/gst/base/Makefile.am:
2067         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
2068         (gst_data_queue_base_init), (gst_data_queue_class_init),
2069         (gst_data_queue_init), (gst_data_queue_new),
2070         (gst_data_queue_cleanup), (gst_data_queue_finalize),
2071         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
2072         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
2073         (gst_data_queue_is_empty), (gst_data_queue_is_full),
2074         (gst_data_queue_set_flushing), (gst_data_queue_push),
2075         (gst_data_queue_pop), (gst_data_queue_drop_head),
2076         (gst_data_queue_set_property), (gst_data_queue_get_property):
2077         * libs/gst/base/gstdataqueue.h:
2078         New GstDataQueue object for threadsafe queueing. Most useful for
2079         elements that need some queueing functionnality.
2080         * docs/libs/gstreamer-libs-docs.sgml:
2081         * docs/libs/gstreamer-libs-sections.txt:
2082         Insert documentation for GstDataQueue
2083         * plugins/elements/Makefile.am:
2084         * plugins/elements/gstelements.c:
2085         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
2086         (gst_multi_queue_class_init), (gst_multi_queue_init),
2087         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
2088         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
2089         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
2090         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
2091         (gst_multi_queue_loop), (gst_multi_queue_chain),
2092         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
2093         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
2094         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
2095         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
2096         (wake_up_next_non_linked), (compute_next_non_linked),
2097         (single_queue_overrun_cb), (single_queue_underrun_cb),
2098         (single_queue_check_full), (gst_single_queue_new):
2099         * plugins/elements/gstmultiqueue.h:
2100         New multiqueue element, using GstDataQueue. Used for queuing multiple
2101         streams.
2102         Closes #344639 and #347785
2103
2104 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
2105
2106         * docs/pwg/advanced-types.xml:
2107           add more missing type details
2108
2109         * tools/gst-run.c: (main):
2110           remove unused variable
2111
2112 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
2113
2114         * docs/libs/Makefile.am:
2115         * docs/libs/gstreamer-libs.types:
2116           add types of base classes to enable gobject specific stuff in the docs
2117
2118         * docs/random/ensonic/embedded.txt:
2119           more ideas about isolating platform specific things
2120
2121 2006-11-20  Wim Taymans  <wim@fluendo.com>
2122
2123         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
2124
2125         * libs/gst/check/gstcheck.h:
2126         Fix compilation and running against 0.9.4. Fixes #377332.
2127
2128 2006-11-20  Wim Taymans  <wim@fluendo.com>
2129
2130         * gst/gstsegment.c: (gst_segment_set_seek),
2131         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
2132         (gst_segment_to_running_time):
2133         Fix boundary checking in to_running_time() and to_stream_time().
2134         Fixes #377183.
2135
2136         * tests/check/gst/gstsegment.c: (GST_START_TEST):
2137         stream and running time can now be calculated for the complete
2138         clipped segment.
2139
2140 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
2141
2142         * gst/gstpad.c: (gst_pad_push_event):
2143           Can't access event structure after giving away ownership of
2144           the event.
2145
2146 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
2147
2148         * docs/random/ensonic/embedded.txt:
2149         * docs/random/ensonic/profiling.txt:
2150         * docs/random/ensonic/receipies.txt:
2151           more thinking
2152
2153 2006-11-13  Wim Taymans  <wim@fluendo.com>
2154
2155         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
2156
2157         * gst/gstpad.c:
2158         Fix documentation for gst_pad_dispatcher. Fixes #374475.
2159
2160 2006-11-13  Wim Taymans  <wim@fluendo.com>
2161
2162         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
2163
2164         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
2165         Store new length in segment duration so we don't keep on calling the
2166         potentially expensize get_size() call. Fixes #370865.
2167
2168 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
2169
2170         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
2171
2172         * win32/common/libgstreamer.def:
2173           Add two missing symbols (#366492).
2174
2175 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
2176
2177         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
2178         (gst_adapter_take_buffer):
2179         Fix format string to use all its arguments.
2180         Remove useless >= check on a guint
2181
2182 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
2183
2184         * tests/examples/adapter/.cvsignore:
2185         Ignore build file as commanded by the build-bot
2186
2187 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
2188
2189         * tests/examples/adapter/Makefile.am:
2190         * tests/examples/adapter/adapter_test.c: (run_test_take),
2191         (run_test_take_buffer), (run_tests), (main):
2192
2193         Add new files from the previous commit
2194
2195 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
2196
2197         * Makefile.am:
2198         * configure.ac:
2199         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
2200         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
2201         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
2202         * libs/gst/base/gstadapter.h:
2203         * tests/check/libs/adapter.c: (create_and_fill_adapter),
2204         (GST_START_TEST), (gst_adapter_suite):
2205         * tests/examples/Makefile.am:
2206         Do some optimisation work in GstAdapter to avoid copies in more cases.
2207         It could still do slightly better by merging buffers when
2208         gst_buffer_is_span_fast is true, but is already faster. 
2209
2210         Also, avoid traversing a single-linked list to append each incoming 
2211         buffer inside the adapter.
2212
2213         Add simple test app that times the adapter behaviour in different
2214         situations, and extend the unit test to check that bytes enter and
2215         exit the adapter in their original order.
2216
2217 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
2218
2219         * docs/random/draft-missing-plugins.txt:
2220           Update: use element message instead of adding a new message
2221           type to the core; don't provide GStreamer API to initiate the
2222           plugin download, just provide API to compose the strings needed
2223           and let an external libgimmestuff handle the rest.
2224
2225 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
2226
2227         * tools/gst-inspect.c: (print_element_properties_info):
2228         Print a string instead of 'unknown type' for GValueArray properties
2229
2230 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
2231
2232         * docs/random/draft-missing-plugins.txt:
2233         More small fixes.
2234
2235 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
2236
2237         * tests/examples/typefind/typefind.c: (type_found), (main):
2238           Make typefind element example work again (#371894); add a
2239           license header.
2240
2241 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
2242
2243         * docs/random/draft-missing-plugins.txt:
2244           Commit initial draft about how to deal with missing plugins,
2245           needs work (API too).
2246
2247 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
2248
2249         * docs/pwg/advanced-types.xml:
2250           documents the new caps elements (see #363118)
2251
2252 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
2253
2254         * gst/gstplugin.c: (gst_plugin_load_file):
2255         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
2256         (gst_file_src_map_region), (gst_file_src_start):
2257         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
2258         (gst_file_index_commit):
2259           Use g_strerror() instead of strerror() - we want UTF-8.
2260
2261 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
2262
2263         Patch by: Peter Kjellerstedt <pkj at axis com>
2264
2265         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
2266           Another printf fix (#371493).
2267
2268 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
2269
2270         * tests/check/gst/gsttag.c:
2271           relicence (okay with author=company)
2272
2273 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
2274
2275         * gst/gstpad.c: (gst_pad_event_default_dispatch),
2276         (gst_pad_push_event):
2277           Enhance debug and improve docs
2278         
2279         * gst/gsturi.c:
2280           Fix docs
2281
2282 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
2283
2284         * docs/random/ensonic/distributed.txt:
2285         * docs/random/ensonic/profiling.txt:
2286           more ideas
2287
2288 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
2289
2290         * docs/gst/gstreamer-sections.txt:
2291           add new API and fix the build
2292           
2293         * gst/gstbin.c: (gst_bin_recalc_state):
2294         * gst/gstelement.c: (gst_element_message_full),
2295         (gst_element_get_state_func), (gst_element_set_state_func):
2296           use new API and improve logging
2297         
2298         * gst/gstutils.c: (gst_element_state_change_return_get_name):
2299         * gst/gstutils.h:
2300           API: add function to get StateChangereturn names to improve logs 
2301
2302 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
2303
2304         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
2305           I'm considering shooting the next person to put strerror stuff
2306           in the translateable part of the message.
2307
2308 2006-11-03  Wim Taymans  <wim@fluendo.com>
2309
2310         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
2311         Get the type and printf conversion specifiers right.
2312
2313 2006-11-03  Wim Taymans  <wim@fluendo.com>
2314
2315         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
2316
2317         * gst/gstpad.c: (gst_pad_init), (pre_activate),
2318         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
2319         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
2320         Some small cleanups. Improve debugging.
2321         * gst/gstpad.h:
2322         Signal all waiting threads with a broadcast instead of just one.
2323         Fixes #369942.
2324
2325 2006-11-03  Wim Taymans  <wim@fluendo.com>
2326
2327         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
2328         (gst_fd_src_create):
2329         Add some debugging. 
2330         Only update fd when it's different from the old.
2331
2332 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2333
2334         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
2335           Printf fixes for PPC/OSX, take two (#369366).
2336
2337 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2338
2339         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
2340
2341         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
2342         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
2343         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
2344           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
2345           don't cast to long long for portability reasons, but use
2346           GLib's types instead.
2347
2348 2006-10-30  Michael Smith  <msmith@fluendo.com>
2349
2350         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
2351           Get the arguments to lseek() the right way around.
2352           Fixes 367677.
2353
2354 2006-10-30  Wim Taymans  <wim@fluendo.com>
2355
2356         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
2357
2358         * gst/gstinfo.h:
2359         _declspec should be __declspec (two underscores, not one). Fixes 366572.
2360
2361 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
2362
2363         Patch by: Kjartan Maraas  <kmaraas at gnome org>
2364
2365         * docs/design/part-MT-refcounting.txt:
2366         * docs/random/wtay/capsnego2-docs:
2367         * gst/gstclock.c:
2368         * gst/gstxml.c:
2369           Typo fixes (#366212).
2370
2371 2006-10-28  Wim Taymans  <wim@fluendo.com>
2372
2373         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
2374
2375         * gst/gst.c:
2376         * win32/common/libgstbase.def:
2377         * win32/common/libgstreamer.def:
2378         * win32/vs8/libgstbase.vcproj:
2379         * win32/vs8/libgstcontroller.vcproj:
2380         Add needed entries in .def files.
2381         Use HAVE_UNISTD_H.
2382         Rearrange def files in vs8 solutions. Fixes #366286.
2383
2384 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
2385
2386         * win32/common/gstconfig.h:
2387           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
2388           hand-made win32 gstconfig.h. Fixes #366321.
2389
2390 2006-10-27  Wim Taymans  <wim@fluendo.com>
2391
2392         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
2393         (gst_ghost_pad_new_full):
2394         Make acceptcaps return TRUE when we don't have a target, just like
2395         setcaps does.
2396
2397 2006-10-27  Wim Taymans  <wim@fluendo.com>
2398
2399         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
2400         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
2401
2402 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
2403
2404         * gst/gststructure.c: (gst_structure_id_set_value):
2405           If someone tries to set a non-UTF8 string field on a structure,
2406           don't just print a warning, but also ignore the request and do
2407           not change/add that field to the structure.
2408
2409         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
2410           Test for the above.
2411
2412 2006-10-25  David Schleef  <ds@schleef.org>
2413
2414         * gst/gstinfo.c:
2415           g_hash_table_insert() needs a cast to a non-const pointer duh.
2416
2417 2006-10-25  David Schleef  <ds@schleef.org>
2418
2419         * gst/gstinfo.c:
2420         * gst/gstinfo.h:
2421           Change name parameter of _gst_debug_register_funcptr to const
2422           to reflect the constness of its use in the function as well
2423           as to quiet a gcc warning.
2424
2425 2006-10-25  Edward Hervey  <edward@fluendo.com>
2426
2427         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
2428         Don't push the buffer if it's empty.
2429         Closes #363095
2430
2431 2006-10-24  Wim Taymans  <wim@fluendo.com>
2432
2433         * gst/gstevent.h:
2434         Add small comment.
2435
2436         * libs/gst/base/gstbasetransform.c:
2437         (gst_base_transform_sink_eventfunc):
2438         Debug segment values *after* updating them as this is more
2439         interesting.
2440
2441 2006-10-23  Wim Taymans  <wim@fluendo.com>
2442
2443         * docs/design/part-events.txt:
2444         Update some docs.
2445
2446         * docs/design/part-block.txt:
2447         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
2448         (gst_pad_push_event):
2449         Revert BLOCKING patch, it tries to be smart without really having a
2450         clear idea what or how. So, now we discard all FLUSHING events again on
2451         a blocking pad. Should fix gnonlin again.
2452
2453 2006-10-23  Wim Taymans  <wim@fluendo.com>
2454
2455         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
2456
2457         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
2458         (gst_base_src_start), (gst_base_src_activate_push):
2459         Make sure size is always initialized. Fixes #364388.
2460
2461 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
2462
2463         * docs/random/ensonic/distributed.txt:
2464           add some ideas about doing distributed processing
2465
2466         * docs/random/ensonic/profiling.txt:
2467           get_rusage look promising
2468
2469 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
2470
2471         * docs/manual/basics-helloworld.xml:
2472           Add a cast in example to fix compile warning
2473
2474 2006-10-18  Wim Taymans  <wim@fluendo.com>
2475
2476         * gst/gstsegment.c: (gst_segment_set_last_stop),
2477         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
2478         Relax arg checking again, -1 is allowed.
2479
2480 2006-10-18  Wim Taymans  <wim@fluendo.com>
2481
2482         * gst/gstsegment.c: (gst_segment_set_last_stop),
2483         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
2484         _set_last_stop() must be with a value != -1
2485         A _TYPE_SET to -1 means seek to 0.
2486         Calc last_stop correctly for negative rates.
2487         Make sure we work with positive durations when updating a segment.
2488
2489 2006-10-18  Wim Taymans  <wim@fluendo.com>
2490
2491         * docs/design/part-live-source.txt:
2492         * gst/gstclock.h:
2493         Small docs fixes.
2494
2495 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
2496
2497         * gst/gstbuffer.h:
2498           Add an explicit cast to GstBuffer** to keep old code that added an
2499           explicit cast to GstMiniObject** for gst_mini_object_replace()
2500           compiling without warning.
2501
2502 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
2503
2504         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
2505           check for validity of dates
2506
2507 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
2508
2509         * docs/gst/gstreamer-sections.txt:
2510           Forgot this one, makes gtk-doc shut up.
2511
2512 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
2513
2514         Patch by: Peter Kjellerstedt <pkj at axis com>
2515
2516         * gst/gstobject.h:
2517           Don't define xmlNodePtr to gpointer if the core was built with
2518           --disable-loadsave and --disable-registry, this will break
2519           applications that want to use libxml2 but are buildling against a
2520           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
2521           instead so we don't have to mess with the libxml2 namespace
2522           (#361675).
2523
2524 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
2525
2526         * gst/gstbuffer.h:
2527           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
2528           type-punned pointer warnings.
2529
2530 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
2531
2532         * gst/gstelement.h:
2533           Add casts to the correct return type to state <=> state transition
2534           macros.
2535
2536 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
2537
2538         * docs/design/part-live-source.txt:
2539           describe howto handle latency
2540         
2541         * docs/random/ensonic/profiling.txt:
2542           more ideas
2543
2544         * tools/gst-plot-timeline.py:
2545           fix log parsing for solaris, remove unused function
2546
2547 2006-10-16  Wim Taymans  <wim@fluendo.com>
2548
2549         * docs/design/part-trickmodes.txt:
2550         * gst/gstevent.c:
2551         Update some docs regarding reverse playback.
2552
2553 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
2554
2555         Patch by: Marcus Granado  <mrc dot gran at gmail com>
2556
2557         * win32/vs8/grammar.vcproj:
2558           Error out with a warning if glib-genmarshal.exe is not in path,
2559           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
2560
2561 2006-10-13  Wim Taymans  <wim@fluendo.com>
2562
2563         * gst/gstsegment.c: (gst_segment_set_seek):
2564         When seeking to stop -1, set last_stop (current position) to the
2565         duration of the segment.
2566
2567 2006-10-13  Wim Taymans  <wim@fluendo.com>
2568
2569         * gst/gstelement.h:
2570         Clarify _NO_PREROLL a bit more.
2571
2572         * gst/gstevent.c:
2573         Fix docs.
2574
2575         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
2576         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
2577         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
2578         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
2579         due to wrong locking order. Fixes #361769.
2580         Remove some redundant/misplaced checks in pad_block.
2581
2582         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
2583         For negative rates, count backwards from the duration.
2584
2585 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
2586
2587         * gst/gsterror.c: (_gst_library_errors_init):
2588           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
2589           up with something better).
2590
2591 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
2592
2593         * win32/vs6/libgstreamer.dsp:
2594         * win32/vs7/libgstreamer.vcproj:
2595         * win32/vs8/libgstreamer.vcproj:
2596           Don't reference glib-compat.c which is currently not used and not
2597           disted; add gstquark.c which was recently added. Fixes #361730.
2598
2599 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
2600
2601         * win32/common/libgstbase.def:
2602         * win32/common/libgstcontroller.def:
2603         * win32/common/libgstreamer.def:
2604           Add gst_caps_merge() and a bunch of other recently-added functions.
2605           Fixes #361732.
2606
2607 2006-10-11  Wim Taymans  <wim@fluendo.com>
2608
2609         * docs/plugins/gstreamer-plugins.args:
2610         * docs/plugins/inspect/plugin-coreelements.xml:
2611         * docs/plugins/inspect/plugin-coreindexers.xml:
2612         Update element args.
2613
2614         * gst/gstsystemclock.c:
2615         Small comment update.
2616
2617         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
2618         (gst_tee_request_new_pad), (gst_tee_release_pad),
2619         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
2620         (gst_tee_sink_activate_pull):
2621         * plugins/elements/gsttee.h:
2622         Some tee loving:
2623         Add default property defines.
2624         Implement release pad function.
2625         Give properties better blubs etc.
2626         Activate pads before adding them to a running tee.
2627         Do simple buffer_alloc on the first requested pad.
2628         Post error when activation fails.
2629
2630 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
2631
2632         * gst/gst.c: (ensure_current_registry_forking):
2633           Check return value of write() to make compiler happy.
2634
2635 2006-10-11  Wim Taymans  <wim@fluendo.com>
2636
2637         Patch by: Sjoerd Simons <sjoerd at luon dot net>
2638
2639         * plugins/elements/gstqueue.c: (gst_queue_chain):
2640         Recheck queue filledness after signalling the overrun when we're about
2641         to leak downstream because we released the lock when emitting the signal
2642         and the queue could be empty again. Fixes #352345.
2643
2644 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
2645
2646         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
2647           Fix refcounting here too, just like we did for _new_valist() a few
2648           days ago (#357180) (thanks to René Stadler). Also remove all those
2649           'Since: 0.9' from the gtk-doc blobs.
2650
2651         * tests/check/libs/controller.c: (controller_refcount_new_list),
2652         (gst_controller_suite):
2653           Unit test for the above.
2654
2655 2006-10-10  Wim Taymans  <wim@fluendo.com>
2656
2657         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
2658
2659         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
2660         (gst_pad_save_thyself):
2661         Update some docs.
2662         Write pad direction in XML output. Fixes #345496.
2663
2664 2006-10-10  Wim Taymans  <wim@fluendo.com>
2665
2666         Patch by: René Stadler <mail at renestadler dot de>
2667
2668         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
2669         (gst_controller_new_list), (_gst_controller_dispose),
2670         (_gst_controller_finalize), (_gst_controller_class_init):
2671         Take ref to controlled object so that it cannot disappear. 
2672         Fixes #357432.
2673
2674 2006-10-10  Wim Taymans  <wim@fluendo.com>
2675
2676         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
2677         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
2678         (gst_check_teardown_sink_pad):
2679         Activate/deactivate pads in setup/teardown respectively.
2680
2681 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2682
2683         Patch by: Josep Torre Valles <josep@fluendo.com>
2684
2685         * gst/Makefile.am:
2686         Cast values when making gstenumtypes.h.  This pacifies Forte
2687         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
2688         in the enumeration.
2689
2690 2006-10-09  Wim Taymans  <wim@fluendo.com>
2691
2692         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
2693         Rename some more @cur to @start to fix docs. 
2694
2695         * gst/gstsegment.c: (gst_segment_set_seek):
2696         Fix typo.
2697         time and start must always stay in sync as defined in design doc.
2698
2699         * gst/gsttaglist.c: (gst_tag_list_is_empty):
2700         Rename param to fix docs.
2701
2702         * tests/check/gst/gstsegment.c: (GST_START_TEST):
2703         Check that start and time are in sync.
2704
2705         * tests/check/pipelines/parse-launch.c:
2706         (gst_parse_test_element_change_state):
2707         Activate pad before adding to the element.
2708
2709 2006-10-09  Wim Taymans  <wim@fluendo.com>
2710
2711         * docs/design/part-qos.txt:
2712         Fix typo.
2713
2714         * gst/gstevent.c:
2715         * gst/gstevent.h:
2716         Update seek event docs regarding negative rates.
2717         Rename @cur to @start. 
2718
2719         * gst/gstsegment.c: (gst_segment_set_seek):
2720         * gst/gstsegment.h:
2721         Update set_seek docs regarding negative rates.
2722         Correctly update last_stop to @stop when dealing with negative
2723         rates.
2724         Rename @cur to @start. 
2725
2726         * tests/check/gst/gstpad.c: (GST_START_TEST):
2727         Activate pads before trying to use them.
2728
2729         * tests/check/gst/gstsegment.c: (GST_START_TEST),
2730         (gst_segment_suite):
2731         Add simple check for segments and negative rates.
2732
2733 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
2734
2735         * gst/gsttaglist.c: (gst_tag_list_is_empty):
2736         * gst/gsttaglist.h:
2737         * docs/gst/gstreamer-sections.txt:
2738           API: add gst_tag_list_is_empty() (#360467).
2739
2740         * tests/check/gst/gsttag.c: (GST_START_TEST):
2741           And a test case.
2742
2743 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2744
2745         * gst/gstmessage.h:
2746         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
2747         a value that doesn't fit on enumeration.
2748
2749 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2750
2751         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
2752         Remove local debugging system and use Gstreamer's instead.
2753
2754 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2755
2756         Patch by: Josep Torre Valles <josep@fluendo.com>
2757
2758         * common/m4/gst-error.m4:
2759         Disable warning of statement not reached on Forte.
2760         * gst/gstmessage.h:
2761         Fix warning on Forte (value doesn't fit on enumeration).
2762         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
2763         Fix warning on Forte (value doesn't fit on enumeration).
2764         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
2765         DEBUG macro says it takes minimum of 2 args and so Forte
2766         complains about the use with just 1 arg.
2767         * plugins/elements/gstfdsink.c:
2768         * plugins/elements/gstfdsrc.c:
2769         * plugins/elements/gstfilesink.c:
2770         * plugins/elements/gstfilesrc.c:
2771         Use correct return type for the uri handler implementations.
2772
2773         All these fix warnings in Forte.  Fixes bug #360860.
2774
2775 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
2776
2777         * gst/gstelement.h:
2778           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
2779           format string, so don't use G_GNUC_PRINTF for those versions.
2780
2781 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
2782
2783         * gst/gsttaglist.c: (gst_is_tag_list):
2784         * gst/gsttaglist.h:
2785           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
2786
2787         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
2788           Small test for the above.
2789
2790 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
2791
2792         * gst/gsttaglist.h:
2793           Less tabs, more spaces.
2794
2795 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
2796
2797         * gst/gstinfo.h:
2798           Those two function declarations do actually belong there, revert
2799           commit from yesterday that turned them intro macros.
2800
2801 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2802
2803         Patch by: Josep Torre Valles <josep@fluendo.com>
2804
2805         * gst/gst.c: (gst_init_get_option_group):
2806         Fix empty declaration and type mismatch.
2807         * gst/gstbin.c: (gst_bin_change_state_func):
2808         Fix type mismatch.
2809         * gst/gstelement.c: (gst_element_continue_state),
2810         (gst_element_set_state_func), (gst_element_change_state),
2811         (gst_element_change_state_func):
2812         Fix type mismatches.
2813         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
2814         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
2815         Cast as appropriate.
2816         * gst/gstobject.c: (gst_class_signal_connect):
2817         Cast as appropriate.  The function pointer parameter really
2818         has the wrong type but would break API if we change it.
2819         * gst/gstquery.c:
2820         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
2821         order of including string.h.
2822         * gst/gstutils.c: (gst_element_state_get_name):
2823         Remove unreachable line.
2824         * gst/gstxml.c: (gst_xml_parse_doc):
2825         Fix type mismatch.
2826         All these caught by Forte.
2827
2828 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2829
2830         Patch by: Josep Torre Valles <josep@fluendo.com>
2831
2832         * common/m4/gst-error.m4:
2833         Fixed bug #360151.
2834         We need to disable warnings on Forte for empty declarations
2835         due to gst-indent adding ;s to lines that just use macros
2836         where the macro actually doesn't need a ; at end to end
2837         statement.
2838
2839 2006-10-06  Wim Taymans  <wim@fluendo.com>
2840
2841         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
2842         (gst_file_sink_close_file), (gst_file_sink_event),
2843         (gst_file_sink_render):
2844         Add some FIXME for the NEWSEGMENT handling.
2845
2846 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2847
2848         * gst/parse/grammar.y:
2849         Remove static function gst_parse_element_lock as all it does
2850         is return.  Looks like cruft from 0.8.
2851
2852 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2853
2854         Patch by: Josep Torre Valles <josep@fluendo.com>
2855
2856         * common/m4/gst-error.m4:
2857         * configure.ac:
2858         * libs/gst/net/Makefile.am:
2859         Fix a compilation issue with Forte on Solaris.  inet_aton is in
2860         libresolv.
2861
2862 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
2863
2864         * gst/gstpad.c: (pre_activate):
2865         * gst/gstregistry.c: (gst_registry_scan_path_level):
2866         * gst/gstregistryxml.c: (load_plugin):
2867         * libs/gst/controller/gstcontroller.c:
2868         (gst_controlled_property_set_interpolation_mode):
2869         * libs/gst/dataprotocol/dataprotocol.c:
2870         (gst_dp_packet_from_event_1_0):
2871         * libs/gst/net/gstnetclientclock.c:
2872         (gst_net_client_clock_observe_times):
2873         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
2874           Printf fixes.
2875
2876 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
2877
2878         * configure.ac:
2879         * docs/gst/gstreamer-sections.txt:
2880         * gst/gstconfig.h.in:
2881         * gst/gstelement.h:
2882         * gst/gstinfo.h:
2883           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
2884           whether we can use G_GNUC_PRINTF in other header files and at
2885           least check the printf format/arguments of debug messages and
2886           GST_ELEMENT_ERROR messages when the printf extension is not
2887           being used.
2888           Replace more tabs with spaces in gstinfo.h and remove two spurious
2889           function declarations in GST_DISABLE_DEBUG part with macros.
2890
2891 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
2892
2893         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
2894           More docs for the sync-message signal (mention that it is not
2895           emitted by default); log message structures of messages posted on
2896           the bus as well.
2897
2898 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
2899
2900         * gst/gst.c: (ensure_current_registry_forking):
2901         Use a pipe pair to receive status results from the forked child, and
2902         ignore the result from waitpid. Fixes #355499
2903
2904 2006-10-02  Wim Taymans  <wim@fluendo.com>
2905
2906         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
2907         (gst_ghost_pad_suite):
2908         Fix leak in check.
2909
2910 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
2911
2912         * gst/gstpad.c:
2913           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
2914
2915 2006-10-02  Edward Hervey  <edward@fluendo.com>
2916
2917         * docs/design/part-block.txt:
2918         Further explain the use of flushing on blocked pads.
2919         * docs/gst/gstreamer-sections.txt:
2920         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
2921         (gst_pad_push_event):
2922         * gst/gstpad.h:
2923         Added new GstPadFlag : GST_PAD_BLOCKING.
2924         Adds the notion of pads really blocking, which enables to properly
2925         handle FLUSH_START/FLUSH_STOP events on blocked pads.
2926         Fixes #358999
2927         API: gst_pad_is_blocking()
2928         API: GST_PAD_IS_BLOCKING() macro
2929         API: GST_PAD_BLOCKING GstPadFlag
2930         
2931 2006-10-02  Wim Taymans  <wim@fluendo.com>
2932
2933         Patch by: mrcgran <mrc.gran at gmail dot com>
2934
2935         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
2936         Filter the proxied caps against the padtemplate if we have one.
2937
2938         * gst/gstquery.c: (gst_query_new_segment):
2939         Add include for gstinfo.h so that compilation with
2940         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
2941
2942 2006-10-02  Wim Taymans  <wim@fluendo.com>
2943
2944         Patch by: Alessandro Decina  <alessandro at nnva org>
2945
2946         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
2947         (gst_file_sink_set_location), (gst_file_sink_open_file),
2948         (gst_file_sink_close_file), (gst_file_sink_event),
2949         (gst_file_sink_render):
2950         Set file to NULL when closing filesink so that we can set a new filename
2951         in READY. Fixes #358613.
2952
2953 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
2954
2955         Patch by: Alessandro Decina  <alessandro at nnva org>
2956
2957         * gst/gstevent.c: (_gst_event_copy):
2958           Fix gst_mini_object_make_writable() and gst_event_copy() for events
2959           with event structures by setting the parent refcount address of the
2960           copied structure to the address of the refcount member of the newly
2961           copied event rather than the address of the refcount member of the
2962           original event. Fixes #358737.
2963
2964         * tests/check/gst/gstevent.c: (GST_START_TEST):
2965           Unit test for the above.
2966
2967 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
2968
2969         * docs/design/Makefile.am:
2970           Dist some more files.
2971
2972 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
2973
2974         * tests/check/libs/controller.c: (GST_START_TEST),
2975         (gst_controller_suite):
2976           Add test for the previous fix; add some more tests
2977           for correct refcounting behaviour; fix a few leaks
2978           in test cases; call gst_controller_init() at start
2979           of all tests.
2980
2981 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
2982
2983         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
2984         (gst_controller_set_from_list):
2985           Don't g_return_val_if_fail() on timed values with invalid timestamps
2986           inside a critical section without unlocking the mutex. Spotted by
2987           René Stadler. (#357617)
2988           Also, fix up refcounting properly: when returning an existing
2989           controller, we should increase the reference only once and not
2990           once per property and when trying to control a property again
2991           we should also increase the refcount.
2992
2993 2006-09-29  Wim Taymans  <wim@fluendo.com>
2994
2995         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
2996         * libs/gst/net/gstnettimeprovider.c:
2997         (gst_net_time_provider_thread):
2998         Stop reading commands when EOF as well.
2999
3000         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
3001         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
3002         * plugins/elements/gstidentity.c: (gst_identity_class_init):
3003         Unify description of the dump property.
3004
3005 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
3006
3007         * tests/examples/manual/.cvsignore:
3008         OK, so it's actually cvsignore that needs changing. Stop laughing.
3009
3010 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
3011
3012         * tests/examples/manual/Makefile.am:
3013         Gah, declare vars *before* using them
3014
3015 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
3016
3017         * gst/gst.c: (init_pre), (scan_and_update_registry),
3018         (ensure_current_registry_nonforking),
3019         (ensure_current_registry_forking), (ensure_current_registry),
3020         (init_post), (gst_debug_help), (gst_deinit):
3021         * gst/gst_private.h:
3022         * gst/gstregistry.c: (gst_registry_finalize),
3023         (gst_registry_remove_features_for_plugin_unlocked),
3024         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
3025         (gst_registry_scan_path),
3026         (_priv_gst_registry_remove_cache_plugins),
3027         (_priv_gst_registry_cleanup):
3028         * gst/gstregistry.h:
3029         Re-commit the registry changes, along with an extra fix:
3030           When a cached plugin is encountered at a different file path,
3031           update the stored path in the registry cache so that the parent
3032           process knows where it actually is now when it re-reads the registry
3033           cache. Fixes the thing that broke distcheck with the previous commit.
3034
3035         * tests/check/Makefile.am:
3036         Clean up files named 'core' too when running make clean.
3037
3038         * tests/examples/manual/Makefile.am:
3039         Set up a registry path for running these tests, and clean it properly
3040         for distcheck.
3041
3042 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
3043
3044         * configure.ac:
3045         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
3046         want gmodule-no-export-2.0.pc instead so that we don't drag in
3047         --export-dynamic on every project that links to GStreamer.
3048
3049         Also, make our export regex only match the start of symbols, rather 
3050         than any symbol that contains '_gst' somewhere.
3051
3052         * libs/gst/check/Makefile.am:
3053         The libgstcheck we build does however need export-dynamic, as it
3054         produces some symbols that don't match our _gst... style regex.
3055         Fixes: #318031
3056
3057 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
3058
3059         * gst/gst.c: (init_pre), (scan_and_update_registry),
3060         (ensure_current_registry_nonforking),
3061         (ensure_current_registry_forking), (ensure_current_registry),
3062         (init_post), (gst_debug_help), (gst_deinit):
3063         * gst/gst_private.h:
3064         * gst/gstregistry.c: (gst_registry_finalize),
3065         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
3066         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
3067         (_gst_registry_cleanup):
3068         * gst/gstregistry.h:
3069           Revert previous change until I figure out why it breaks distcheck.
3070
3071 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
3072
3073         * gst/gst.c: (init_pre), (scan_and_update_registry),
3074         (ensure_current_registry_nonforking),
3075         (ensure_current_registry_forking), (ensure_current_registry),
3076         (init_post), (gst_debug_help), (gst_deinit):
3077
3078           Make init_pre and init_post take the full complement of GOptionFunc
3079           args so they can return useful GErrors. Make the registry updating
3080           functions do so.
3081
3082           Call _priv_gst_registry_remove_cache_plugins after scanning files to
3083           ensure that the registry we're about to write out doesn't contain
3084           stale information about old-deleted plugin files.
3085
3086           Make _priv_gst_registry_remove_cache_plugins return a boolean so
3087           that deletion of plugin files is considered a registry change.
3088
3089         * gst/gst_private.h:
3090         * gst/gstregistry.c: (gst_registry_finalize),
3091         (gst_registry_remove_features_for_plugin_unlocked),
3092         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
3093         (gst_registry_scan_path),
3094         (_priv_gst_registry_remove_cache_plugins),
3095         (_priv_gst_registry_cleanup):
3096         * gst/gstregistry.h:
3097         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
3098         by adding _priv prefix, so that they won't appear in the global
3099         symbol table. They still do atm though because of #318031. Move the
3100         prototypes to gst_private.h
3101
3102         When removing a plugin, remove all features for that plugin too. 
3103         Fixes #340878.
3104
3105 2006-09-27  Wim Taymans  <wim@fluendo.com>
3106
3107         * docs/random/moving-plugins:
3108         Make it clear that the "compiled-in descriptions" really mean
3109         the element details.
3110
3111         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3112         (gst_base_sink_wait_preroll):
3113         Update docs.
3114
3115         * docs/libs/gstreamer-libs-sections.txt:
3116         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
3117         (gst_base_src_get_range), (gst_base_src_activate_push):
3118         * libs/gst/base/gstbasesrc.h:
3119         Added function to block while waiting for PLAYING, this function
3120         is used by live sources that block on the clock.
3121         API: gst_base_src_wait_playing()
3122
3123 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
3124
3125         Patch by: Peter Kjellerstedt <pkj at axis com>
3126
3127         * Makefile.am:
3128           gst-element-check.m4 is generated and should therefore be
3129           copied from the build dir rather than the source dir (#357593).
3130           'make distcheck' hasn't noticed this because we were disting
3131           the file as well, so stop doing that.
3132
3133 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
3134
3135         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
3136           Add some tests for gst_caps_intersect().
3137
3138         * tools/gst-launch.c: (event_loop):
3139           Print all buffering percentages we get, even the 100% one.
3140
3141 2006-09-26  Wim Taymans  <wim@fluendo.com>
3142
3143         * tools/gst-inspect.c: (print_element_properties_info),
3144         (print_signal_info):
3145         Fix printing of flags to match the look of enums.
3146
3147 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
3148
3149         * gst/gstelementfactory.c:
3150           Fix typo in docs blurb.
3151
3152 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
3153
3154         * gst/gsturi.c: (search_by_entry):
3155           Don't assert/crash here if a uri handler doesn't return any
3156           supported protocols. The list of protocols could be generated
3157           dynamically at runtime or at plugin registration, and an error
3158           in the underlying library shouldn't be fatal (#353301).
3159
3160 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
3161
3162         * gst/gstinfo.c:
3163           Fix warning if HAVE_PRINTF_EXTENSION is undefined
3164           (spotted by Peter Kjellerstedt).
3165
3166 2006-09-23  Wim Taymans  <wim@fluendo.com>
3167
3168         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
3169
3170         * libs/gst/base/gstbasesrc.c:
3171         (gst_base_src_default_check_get_range), (gst_base_src_start),
3172         (gst_base_src_activate_push), (gst_base_src_activate_pull),
3173         (gst_base_src_change_state):
3174         Match _start/_stop calls in the activate functions. Remove redundant
3175         _stop call from the state change function. Fixes #356910.
3176         Turn failure DEBUG into ERROR. 
3177
3178 2006-09-22  Wim Taymans  <wim@fluendo.com>
3179
3180         * docs/design/part-buffering.txt:
3181         * gst/gstmessage.c: (gst_message_new_buffering),
3182         (gst_message_parse_buffering):
3183         Update docs about buffering.
3184
3185         * docs/design/part-trickmodes.txt:
3186         Fix typo.
3187
3188 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
3189
3190         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
3191         (gst_controller_new_list):
3192           Ref instances when returning them again (fixes #357180)
3193
3194 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
3195
3196         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
3197           Don't forget to release proxy lock when there's an error.
3198
3199 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
3200
3201         * gst/gstcaps.h:
3202           Add extra initialisers for Caps things, to fix some plugin warnings
3203           when using -Wextra
3204
3205 2006-09-18  Wim Taymans  <wim@fluendo.com>
3206
3207         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
3208           Also set template on the internal pad so that a getcaps from the 
3209           target pad returns the template caps.
3210
3211 2006-09-18  Wim Taymans  <wim@fluendo.com>
3212
3213         * gst/gstelement.c: (gst_element_post_message),
3214         (gst_element_dispose):
3215         Use _DEBUG_OBJECT some more.
3216
3217         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
3218         Avoid typechecks.
3219
3220         * tools/gst-launch.c: (main):
3221         If the toplevel element is not a GstPipeline, it must be put in a
3222         pipeline so that a bus and clock is selected.
3223
3224 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
3225
3226         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
3227           JITTER, RATE, and LATENCY query should be handled by the
3228           default case and not by the CONVERT query code.
3229
3230 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
3231
3232         * gst/gstformat.c: (gst_format_register):
3233           Fix locking order (must take lock before using n_values).
3234
3235         * gst/gstvalue.c: (gst_value_serialize_enum),
3236         (gst_value_deserialize_enum_iter_cmp),
3237         (gst_value_deserialize_enum):
3238           Fix serialisation/deserialisation of custom registered GstFormats.
3239
3240         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3241           Unit test for custom format serialisation/deserialisation.
3242
3243 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
3244
3245         * docs/pwg/building-boiler.xml:
3246         * plugins/elements/gstcapsfilter.c:
3247         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
3248         section.
3249
3250 2006-09-16  Edward Hervey  <edward@fluendo.com>
3251
3252         * libs/gst/base/gstbasetransform.c:
3253         (gst_base_transform_buffer_alloc):
3254         Check if requested caps are the same as the sinks caps IF
3255         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
3256         is FALSE.
3257         This fixes the renegotiation issues stated in #352827.
3258
3259 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3260
3261         * configure.ac:
3262         * docs/manual/advanced-autoplugging.xml:
3263         * tests/examples/Makefile.am:
3264         * tests/examples/manual/.cvsignore:
3265         * tests/examples/manual/Makefile.am:
3266         * tests/examples/manual/extract.pl:
3267           Extract the manual examples again like we used to do.
3268           Fix one of them.
3269
3270 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3271
3272         * win32/common/config.h:
3273           update for version
3274
3275 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
3276
3277         * gst/gsterror.c:
3278           Documents how to receive errors.
3279
3280 2006-09-15  Wim Taymans  <wim@fluendo.com>
3281
3282         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
3283         (event_loop), (main):
3284         Added some comments here and there.
3285         Post an application message when an interrupt is caught instead of doing
3286         an uncontrolled state change.
3287         Clean up the event loop.
3288         Handle buffering messages, pause/resume the pipeline.
3289         Make shutdown because of an interrupt more reliable.
3290
3291 2006-09-15  Wim Taymans  <wim@fluendo.com>
3292
3293         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3294         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
3295         (gst_base_sink_preroll_object):
3296         Make sure that our internal state is correct when we commit our state
3297         asynchronously. This solves a race where a state change to PLAYING
3298         could cause the sink to remain blocked in preroll in some situations.
3299
3300 2006-09-15  Wim Taymans  <wim@fluendo.com>
3301
3302         * tools/gst-inspect.c: (print_element_properties_info),
3303         (print_signal_info):
3304         List flags as hex so it's easier to deal with.
3305
3306 2006-09-15  Wim Taymans  <wim@fluendo.com>
3307
3308         * docs/libs/gstreamer-libs-sections.txt:
3309         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
3310         (gst_base_sink_do_sync):
3311         * libs/gst/base/gstbasesink.h:
3312         Expose logic to wait for preroll so that subclasses such as audiosink
3313         can also use this method.
3314         API: gst_base_sink_wait_preroll()
3315
3316 2006-09-15  Wim Taymans  <wim@fluendo.com>
3317
3318         * gst/gstobject.c: (gst_object_set_parent):
3319         * gst/gstpipeline.c: (do_pipeline_seek):
3320         Small cleanups in docs and code.
3321
3322         * gst/gstsegment.c: (gst_segment_clip):
3323         * tests/check/gst/gstsegment.c: (GST_START_TEST):
3324         if stop == start and start is in the segment, no clipping should be
3325         done. Also add a test for this.
3326
3327 2006-09-15  Wim Taymans  <wim@fluendo.com>
3328
3329         * docs/design/part-buffering.txt:
3330         * docs/gst/gstreamer-sections.txt:
3331         * gst/gstmessage.c: (gst_message_new_buffering),
3332         (gst_message_parse_buffering):
3333         * gst/gstmessage.h:
3334         Added methods to create and parse BUFFERING messages.
3335         Added preliminary docs about buffering.
3336         API: gst_message_new_buffering
3337         API: gst_message_parse_buffering
3338
3339 2006-09-06  Wim Taymans  <wim@fluendo.com>
3340
3341         * gst/gstbin.c:
3342         Update documentation.
3343
3344         * gst/gstelement.c: (gst_element_class_init),
3345         (gst_element_release_request_pad), (gst_element_set_clock),
3346         (gst_element_get_index), (gst_element_add_pad),
3347         (gst_element_remove_pad), (gst_element_get_random_pad),
3348         (gst_element_send_event), (gst_element_get_query_types),
3349         (gst_element_query), (gst_element_post_message),
3350         (gst_element_message_full), (gst_element_continue_state),
3351         (gst_element_lost_state), (gst_element_save_thyself),
3352         (gst_element_restore_thyself):
3353         Documentation updates.
3354         Rename last bit of the new-pad -> pad-added signal rename.
3355         Fix the case where an element query would only work if the source
3356         pad was linked.
3357         Avoid some useless type checking in message handling.
3358
3359         * gst/gstevent.c:
3360         * gst/gstevent.h:
3361         * gst/gstutils.c:
3362         Documentation updates.
3363
3364 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3365
3366         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
3367           add an INFO line for when we actually update the fd
3368
3369 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3370
3371         * configure.ac:
3372           back to TRUNK
3373
3374 === release 0.10.10 ===
3375
3376 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
3377
3378         * configure.ac:
3379           releasing 0.10.10, "Pais"
3380
3381 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
3382
3383         * docs/manual/advanced-position.xml:
3384           Fix typo in sample code.
3385
3386 2006-09-05  Wim Taymans  <wim@fluendo.com>
3387
3388         * libs/gst/net/gstnetclientclock.c: (inet_aton),
3389         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
3390         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
3391         * libs/gst/net/gstnetclientclock.h:
3392         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
3393         * libs/gst/net/gstnettimepacket.h:
3394         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
3395         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
3396         (gst_net_time_provider_thread), (gst_net_time_provider_new):
3397         * libs/gst/net/gstnettimeprovider.h:
3398         Make stuff compile on windows. Fixes #345295.
3399
3400 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
3401
3402         * gst/gst.c: (ensure_current_registry_forking):
3403           Print better details when child was terminated by signal.
3404
3405 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
3406
3407         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
3408           Print a warning rather than g_assert() if a plugin feature
3409           is a URI handler but returns no protocols (#353976).
3410
3411 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
3412
3413         * docs/random/moving-plugins:
3414         Fix two typos.         
3415
3416 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
3417
3418         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
3419           Fix locking order, handle NULL function values properly.
3420
3421         * gst/gstinfo.h:
3422           Fix docs.
3423
3424         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
3425           Initialise variable before using it and fix debug statement to
3426           print the address of the function rather than the address of the
3427           variable on the stack holding the address of the function.
3428
3429 2006-09-01  Wim Taymans  <wim@fluendo.com>
3430
3431         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
3432         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
3433         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
3434         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
3435         (gst_ghost_pad_parent_unset),
3436         (gst_ghost_pad_internal_do_activate_push),
3437         (gst_ghost_pad_internal_do_activate_pull),
3438         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
3439         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
3440         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
3441         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
3442         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
3443         (gst_ghost_pad_new_no_target_from_template),
3444         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
3445         More cleanups.
3446         Avoid needless typechecking in macros.
3447         Since the internal pad is always present and never changes, there is
3448         no need to locking or ref when retrieving it.
3449         Improve debugging a bit.
3450         Handle link errors when setting the target. Fixes #341029.
3451
3452 2006-09-01  Wim Taymans  <wim@fluendo.com>
3453
3454         * docs/libs/gstreamer-libs-sections.txt:
3455         * docs/plugins/gstreamer-plugins-sections.txt:
3456         Fix docs some more.
3457
3458         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
3459         (gst_collect_pads_event):
3460         * libs/gst/base/gstcollectpads.h:
3461         Documentation updates.
3462         Free queued buffer when removing a pad.
3463
3464 2006-08-31  Michael Smith  <msmith@fluendo.com>
3465
3466         * gst/gstutils.c: (gst_element_link_pads),
3467         (gst_element_link_pads_filtered):
3468           Ensure that we set a capsfilter to NULL if we failed to link it
3469           when doing filtered linking, to avoid criticals.
3470
3471           No need to check for unreffing srcpad, which is explicly NULLed
3472           above (a trivial code cleanup).
3473
3474 2006-08-31  Wim Taymans  <wim@fluendo.com>
3475
3476         * docs/design/part-gstghostpad.txt:
3477         Update ascii art in documentation.
3478
3479         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
3480         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
3481         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
3482         (gst_ghost_pad_internal_do_activate_push),
3483         (gst_ghost_pad_internal_do_activate_pull),
3484         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
3485         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
3486         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
3487         (gst_ghost_pad_set_target):
3488         Small cleanups and leak fixes.
3489         Remove some checks now that the internal pad is never NULL.
3490         Fix the case where linking pads without a target would create nasty
3491         criticals. Fixes #341029.
3492         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
3493         value of _set_target().
3494
3495         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
3496         (gst_ghost_pad_suite):
3497         Some more tests for creating and linking untargeted ghostpads.
3498
3499 2006-08-31  Edward Hervey  <edward@fluendo.com>
3500
3501         * docs/gst/gstreamer-sections.txt:
3502         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
3503         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
3504         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
3505         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
3506         (gst_ghost_pad_new_from_template),
3507         (gst_ghost_pad_new_no_target_from_template):
3508         * gst/gstghostpad.h:
3509         Refactored *_new() functions.
3510         Templates are now used as a g_object_new() parameter.
3511         Use template in _do_getcaps() if we don't have a target.
3512         Small documentation cleanups.
3513         Added two new constructors:
3514         gst_ghost_pad_new_from_template()
3515         gst_ghost_pad_new_no_target_from_template()
3516         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
3517         (gst_ghost_pad_suite):
3518         Added tests for new ghostpad instanciation functions.
3519
3520         API additions: gst_ghost_pad_new_from_template,
3521         gst_ghost_pad_new_no_target_from_template
3522
3523 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
3524
3525         * docs/random/ensonic/profiling.txt:
3526           Ideas about qos profiling.
3527
3528 2006-08-29  Wim Taymans  <wim@fluendo.com>
3529
3530         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
3531         Code cleanups.
3532         Fix memleak.
3533
3534 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
3535
3536         * gst/gstxml.c:
3537           Improve and detypofy docs.
3538
3539         * tests/check/Makefile.am:
3540         * tests/check/gst/.cvsignore:
3541         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
3542           Add a basic test suite for GstXML.
3543
3544 2006-08-29  Wim Taymans  <wim@fluendo.com>
3545
3546         * gst/gstelement.c: (activate_pads), (clear_caps),
3547         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
3548         Clear the pad caps when the element shut down all of the pads and
3549         is not streaming data that could modify the caps. 
3550         Fixes #352958.
3551
3552 2006-08-28  Michael Smith  <msmith@fluendo.com>
3553
3554         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3555           Revert previous change; I misunderstood single-segment mode.
3556
3557 2006-08-28  Michael Smith  <msmith@fluendo.com>
3558
3559         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3560           Unset DISCONT on buffers when using single-segment mode.
3561
3562 2006-08-28  Wim Taymans  <wim@fluendo.com>
3563
3564         * gst/gstcaps.c: (gst_caps_merge_structure):
3565         * gst/gstcaps.h:
3566         Fix docs and indentation again.
3567
3568         * tests/check/gst/gstquery.c: (GST_START_TEST):
3569         Fix leak in tests and add some more tests.
3570
3571 2006-08-28  Edward Hervey  <edward@fluendo.com>
3572
3573         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3574         Inform GstSegment of the last stop position in order for the current
3575         segment to have a proper duration if it doesn't have a specific stop
3576         position from which a duration could be calculated.
3577         This bug was noticeable when a non-flushing, non-update new segment was
3578         followed by another segment (all buffers from the new segment were being
3579         dropped).
3580
3581 2006-08-28  Wim Taymans  <wim@fluendo.com>
3582
3583         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
3584         Small comment update.
3585
3586         * plugins/elements/gstidentity.c: (gst_identity_class_init),
3587         (gst_identity_transform_ip):
3588         Drop-probability is broken, mention this in the code with a 
3589         FIXME and also in the property description.
3590         Make silent also be silent about the drop messages.
3591
3592 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
3593
3594         * docs/manual/appendix-win32.xml:
3595           Remove mention of popt, we don't depend on that any
3596           longer (#353136). Add some comments pointing out that
3597           this section is slightly outdated.
3598
3599 2006-08-28  Wim Taymans  <wim@fluendo.com>
3600
3601         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
3602
3603         * gst/gstquery.c: (gst_query_new_segment):
3604         * tests/check/gst/gstquery.c: (GST_START_TEST):
3605         Initialize variables when creating a new segment query.
3606         Fixes #353121.
3607
3608 2006-08-28  Wim Taymans  <wim@fluendo.com>
3609
3610         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
3611
3612         * gst/gstelement.c: (gst_element_get_bus):
3613         * tests/check/gst/gstelement.c: (GST_START_TEST):
3614         Check for NULL before _reffing the bus. Fixes #353122.
3615
3616 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
3617
3618         * docs/manual/basics-bus.xml:
3619           Docs update: fix wrong callback return value explanation; add
3620           some lines about the implicit relationship between main loop
3621           and main context; remove duplicate main loop variable declaration.
3622
3623 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
3624
3625         * tests/check/gst/gstcaps.c: (GST_START_TEST):
3626           Don't leak caps in unit test; add a few more simple
3627           checks. 
3628
3629 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
3630
3631         * docs/gst/gstreamer-sections.txt:
3632         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
3633         (gst_caps_structure_is_subset), (gst_caps_merge),
3634         (gst_caps_merge_structure):
3635         * gst/gstcaps.h:
3636         * libs/gst/base/gstbasetransform.c:
3637         (gst_base_transform_transform_caps):
3638         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
3639           implement caps merging (fixes #352580)
3640
3641 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
3642
3643         * tools/Makefile.am:
3644         * tools/gst-plot-timeline.py:
3645           add debug-log plotting developer tool (#340674)
3646
3647 2006-08-23  Wim Taymans  <wim@fluendo.com>
3648
3649         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
3650         (gst_pad_stop_task):
3651         Improve debugging for task functions.
3652
3653         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
3654         (gst_task_start), (gst_task_pause), (gst_task_join):
3655         Make sure that the task function started and finished after a 
3656         join(). 
3657         Don't try to push the task function on the threadpool multiple
3658         times.
3659         Improve the g_warning message with some useful suggestions
3660         about how to fix the problem. 
3661
3662 2006-08-23  Wim Taymans  <wim@fluendo.com>
3663
3664         * gst/gstutils.c: (gst_pad_proxy_getcaps):
3665         Handle RESYNC correctly in _proxy_getcaps.
3666
3667 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
3668
3669         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
3670         (gst_xml_parse_memory), (gst_xml_get_element):
3671           Chain up to parent class in dispose function and also
3672           unref the elements in the toplevel_elements GList.
3673           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
3674           Always return a reference in gst_xml_get_element() rather
3675           than only sometimes.
3676
3677         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
3678           Don't leak GstXml object.
3679
3680 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
3681
3682         * docs/gst/gstreamer-sections.txt:
3683         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
3684         (gst_caps_merge):
3685         * gst/gstcaps.h:
3686         * libs/gst/base/gstbasetransform.c:
3687         (gst_base_transform_transform_caps):
3688           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
3689           in a better way
3690
3691 2006-08-21  Edward Hervey  <edward@fluendo.com>
3692
3693         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
3694         Implement GObject::dispose virtual method in GstXML so we can free the
3695         top_elements GList.
3696
3697 2006-08-21  Wim Taymans  <wim@fluendo.com>
3698
3699         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
3700         (gst_buffer_create_sub):
3701         Copy duration/offset_end/caps when creating a subbuffer of the
3702         complete parent.
3703         Make the subbuffer read-only when we make the metadata writable for
3704         now. Fixes #351768.
3705
3706         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
3707         Added check for metadata copy when creating subbuffers.
3708
3709 2006-08-21  Edward Hervey  <edward@fluendo.com>
3710
3711         * libs/gst/base/gstbasetransform.c:
3712         (gst_base_transform_buffer_alloc):
3713         Only call downstream buffer_alloc if transform element is passthrough
3714         or always_in_place. Closes #350449.
3715
3716 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
3717
3718         * ChangeLog:
3719           ChangeLog surgery to add comments to previous changes
3720
3721 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
3722
3723         * gst/gst.c:
3724           Add comments
3725
3726         * gst/gstpad.c: (gst_pad_set_active):
3727           Be more verbose in the log
3728
3729         * libs/gst/base/gstbasetransform.c:
3730         (gst_base_transform_transform_caps):
3731           Simplify caps to get rid of duplicates, fixes #345444
3732
3733 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
3734
3735         * gst/gstvalue.c:
3736         * gst/gstvalue.h:
3737           Use these optimizations only internally.
3738
3739 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
3740
3741         * gst/gstvalue.c: (gst_value_compare_list),
3742         (gst_value_compare_fraction_range),
3743         (gst_value_intersect_fraction_fraction_range),
3744         (gst_value_intersect_fraction_range_fraction_range),
3745         (gst_value_subtract_fraction_fraction_range),
3746         (gst_value_subtract_fraction_range_fraction_range),
3747         (gst_value_get_compare_func), (gst_value_compare),
3748         (gst_value_compare_with_func):
3749         * gst/gstvalue.h:
3750           Saves the expensive lookup of the compare function in many cases
3751          (#345444)
3752
3753 2006-08-18  Edward Hervey  <edward@fluendo.com>
3754
3755         * tests/check/gst/gstinfo.c: (gst_info_suite):
3756         Disable test that require gstdebug if it wasn't built in core.
3757
3758 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
3759
3760         * docs/random/ensonic/logging.txt:
3761           update ideas
3762           
3763         * gst/gstinfo.c: (gst_debug_log_default):
3764           reorder fields, save some columns, add optional color codes for log
3765           levels
3766
3767 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
3768
3769         * docs/random/ensonic/logging.txt:
3770           add ideas about making the logs a bit more useful
3771
3772 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
3773
3774         * docs/pwg/advanced-events.xml:
3775         * docs/pwg/titlepage.xml:
3776           Update for 0.10 API (#340627). Add myself
3777           to authors list.
3778
3779 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
3780
3781         * docs/libs/gstreamer-libs-docs.sgml:
3782         * docs/libs/gstreamer-libs-sections.txt:
3783         * libs/gst/check/gstbufferstraw.c:
3784           Make gstcheck stuff show up in docs (still needs to
3785           be documented properly though).
3786
3787 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
3788
3789         * docs/gst/gstreamer-sections.txt:
3790         * gst/Makefile.am:
3791         * gst/gst.c: (init_post):
3792         * gst/gst_private.h:
3793         * gst/gstquark.c: (_priv_gst_quarks_initialize):
3794         * gst/gstquark.h:
3795         * gst/gstquery.c: (gst_query_new_position),
3796         (gst_query_set_position), (gst_query_parse_position),
3797         (gst_query_new_duration), (gst_query_set_duration),
3798         (gst_query_parse_duration), (gst_query_new_convert),
3799         (gst_query_set_convert), (gst_query_parse_convert),
3800         (gst_query_new_segment), (gst_query_set_segment),
3801         (gst_query_parse_segment), (gst_query_new_seeking),
3802         (gst_query_set_seeking), (gst_query_parse_seeking):
3803         Add internal helpers for pre-registering quarks from static strings
3804         and using the quark values directly instead of looking them up when
3805         creating and parsing queries. Can be used for event construction too.
3806         Closes #350432.
3807
3808 2006-08-16  Wim Taymans  <wim@fluendo.com>
3809
3810         * gst/gstbin.c:
3811         Fix bogus docs.
3812
3813 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
3814
3815         * gst/gstutils.c: (gst_util_set_value_from_string):
3816           Fix memleak (#351502).
3817
3818         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
3819           Add unit test for most of gst_util_set_value_from_string()
3820           (not that one would want to encourage use of this function).
3821
3822 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
3823
3824         * libs/gst/check/gstcheck.h:
3825           Use const gchar * variables in fail_unless_equals_string
3826           macro to avoid compiler warnings (and don't use tabs for
3827           indenting).
3828
3829 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
3830
3831         * tools/gst-launch.c: (print_tag):
3832           More space on the left for the tag names, to cater
3833           for the 'extended comment' tag (not touching the
3834           string for the first line since it's translated).
3835
3836 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
3837
3838         * libs/gst/check/gstcheck.h:
3839           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
3840           print something when they fail.
3841
3842 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
3843
3844         * docs/gst/gstreamer-sections.txt:
3845         * gst/gsttaglist.c: (_gst_tag_initialize):
3846         * gst/gsttaglist.h:
3847           API: add GST_TAG_EXTENDED_COMMENT (#350935).
3848           Also change merge function for GST_TAG_COMMENT to
3849           use_first.
3850
3851 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
3852
3853         * gst/gstinfo.c: (gst_debug_print_object):
3854           Make GST_PTR_FORMAT print messages as well.
3855
3856         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
3857         (GST_START_TEST), (gst_info_suite):
3858           More tests.
3859
3860 2006-08-14  Edward Hervey  <edward@fluendo.com>
3861
3862         * gst/gstelementfactory.c: (gst_element_register):
3863         If the GstElementClass doesn't have a GstElementDetails with all fields
3864         filled up correctly (longname, description AND author), then error out
3865         nicely instead of crashing.
3866
3867 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
3868
3869         * gst/gststructure.c:
3870           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
3871
3872         * gst/gstvalue.h:
3873           Expand on the difference between arrays and lists as we use them.
3874           
3875 2006-08-14  Wim Taymans  <wim@fluendo.com>
3876
3877         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
3878         If the parent state change function failed, don't assume we can safely
3879         stop the source, this will be done when the pads are deactivated.
3880
3881 2006-08-14  Wim Taymans  <wim@fluendo.com>
3882
3883         * gst/gstbuffer.c:
3884         * gst/gsttask.c: (gst_task_join):
3885         Small doc updates.
3886
3887         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
3888         (gst_pad_stop_task):
3889         When pad (de)activation failed for some reason, restore the old
3890         activation mode and set the pad to flushing instead of assuming the
3891         pad is deactivated.
3892         If the _task_join() failed, reinstall the task on the pad so that it can
3893         be stopped later and return an error.
3894
3895 2006-08-11  Andy Wingo  <wingo@pobox.com>
3896
3897         * configure.ac:
3898         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
3899         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
3900         is only for users of API that don't want to see deprecated
3901         functions in the headers; people that want to compile out
3902         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
3903         CFLAGS. Fixes the build of multifdsink, or will soon..
3904
3905 2006-08-11  Wim Taymans  <wim@fluendo.com>
3906
3907         * docs/gst/gstreamer-sections.txt:
3908         Add GstClockClass vmethod docs.
3909
3910         * gst/gstcaps.h:
3911         Mark #endif with comment for associated #if
3912
3913         * gst/gstclock.c: (gst_clock_id_wait):
3914         * gst/gstclock.h:
3915         Add vmethod wait_jitter to avoid an unneeded _get_time() for
3916         most clock implementations.
3917         Document vmethods.
3918         Flesh out docs about resolution methods.
3919         API: GstClockClass::wait_jitter
3920
3921         * gst/gstsystemclock.c: (gst_system_clock_class_init),
3922         (gst_system_clock_async_thread),
3923         (gst_system_clock_id_wait_jitter_unlocked),
3924         (gst_system_clock_id_wait_jitter):
3925         Use base class wait_jitter variant for improved performance
3926         due to less clock polling.
3927
3928 2006-08-11  Edward Hervey  <edward@fluendo.com>
3929
3930         * gst/gst.c: (gst_init_check), (init_post):
3931         Set gst as being initialized before scanning/updating the registry,
3932         since there might be my python plugin loader that calls gst_init() and
3933         we don't want to loop back in.
3934         Closes #350879
3935
3936 2006-08-11  Wim Taymans  <wim@fluendo.com>
3937
3938         * docs/design/part-qos.txt:
3939         Bring docs in line with the code. Mostly the sign of the jitter was
3940         wrong in the docs. Fixes #349943.
3941
3942         * gst/gstclock.c:
3943         Fix the docs for the jitter.
3944
3945         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
3946         (gst_event_parse_tag), (gst_event_new_buffer_size),
3947         (gst_event_parse_buffer_size), (gst_event_parse_qos),
3948         (gst_event_new_seek), (gst_event_parse_seek),
3949         (gst_event_new_navigation):
3950         Make sure the GstStructure has no parent when creating custom
3951         events.
3952         Add some more argument checking so that we avoid 0.0 rates.
3953         Flesh out the docs for the QoS event some more.
3954
3955 2006-08-11  Wim Taymans  <wim@fluendo.com>
3956
3957         * docs/gst/gstreamer-sections.txt:
3958         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
3959         (ensure_current_registry_forking), (ensure_current_registry),
3960         (parse_one_option), (parse_goption_arg), (gst_deinit),
3961         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
3962         * gst/gst.h:
3963         Doc updates.
3964         Added API and command line option to disable registry forking in
3965         addition to the environment variable.
3966         Constify some static arrays.
3967         Added some more debug.
3968         Don't deinit twice.
3969         API: gst_registry_fork_is_enabled()
3970         API: gst_registry_fork_set_enabled()
3971         API: --gst-disable-registry-fork command line option
3972         Fixes #348918.
3973
3974 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
3975
3976         * gst/gst.c: (gst_init):
3977           Fix typo in error message.
3978
3979 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
3980
3981         * libs/gst/controller/gstcontroller.h:
3982           fix ABI size-correction
3983
3984         * tests/check/libs/gdp.c: (gst_dp_suite):
3985           make tests that use deprecated API conditional
3986
3987 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
3988
3989         * docs/libs/gstreamer-libs-sections.txt:
3990         * libs/gst/controller/gstcontroller.c:
3991         (_gst_controller_get_property), (_gst_controller_set_property),
3992         (_gst_controller_init), (_gst_controller_class_init):
3993         * libs/gst/controller/gstcontroller.h:
3994         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
3995         (gst_object_set_control_rate):
3996           API: add gst_object_{s,g}et_control_rate(), add private data section,
3997           fix docs
3998
3999         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
4000         * libs/gst/dataprotocol/dataprotocol.h:
4001           add deprecation guards to make gtk-doc happy and allow disabling cruft
4002
4003 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
4004
4005         * tests/check/Makefile.am:
4006         * tests/check/gst/.cvsignore:
4007           Let's enable the new unit test as well.
4008
4009 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
4010
4011         * configure.ac:
4012         * docs/gst/gstreamer-sections.txt:
4013         * gst/gstconfig.h.in:
4014         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
4015         (_gst_info_printf_extension_ptr),
4016         (_gst_info_printf_extension_segment):
4017           API: add GST_SEGMENT_FORMAT, which is a printf extension we
4018           register that lets us easily dump GstSegments into debug
4019           logs (#350419).
4020
4021         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
4022         (info_segment_format_printf_extension), (gst_info_suite):
4023           Add simple unit test that logs a bunch of different segments (not
4024           valgrinded at the moment because of leaks in
4025           gst_debug_add_log_function).
4026
4027 2006-08-09  Edward Hervey  <edward@fluendo.com>
4028
4029         * libs/gst/base/gstbasetransform.c:
4030         (gst_base_transform_buffer_alloc):
4031         Even if we can't figure out the proper format to request downstream,
4032         call buffer_alloc() downstream with the input parameters without setting
4033         the caps on the srcpad. This will force negotiation in the chain
4034         function.
4035         Closes #350449
4036
4037 2006-08-08  Edward Hervey  <edward@fluendo.com>
4038
4039         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
4040         Unlinking from a pad without a target is now a perfectly valid case
4041         which should NOT raise an assertion.
4042         This case would happen if a linked ghostpad its target set to NULL after
4043         it was previously linked.
4044
4045 2006-08-08  Edward Hervey  <edward@fluendo.com>
4046
4047         * tests/check/libs/gdp.c:
4048         Also comment out the test (see below).
4049
4050 2006-08-08  Edward Hervey  <edward@fluendo.com>
4051
4052         * tests/check/libs/gdp.c: (gst_dp_suite):
4053         Use the architecture information from config.h and not gcc macros
4054         in order to properly disable a test that fails on PPC64.
4055
4056 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
4057
4058         * gst/gstelement.c: (gst_element_remove_pad):
4059           Don't crash printing the warning if the pad has no parent.
4060
4061 2006-08-02  Wim Taymans  <wim@fluendo.com>
4062
4063         * libs/gst/dataprotocol/dataprotocol.c:
4064         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
4065         (gst_dp_crc), (gst_dp_header_payload_length),
4066         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
4067         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
4068         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
4069         (gst_dp_event_from_packet), (gst_dp_validate_header),
4070         (gst_dp_validate_payload):
4071         Make debug category static
4072         Constify the crc table.
4073         Do some more arg checking in public functions.
4074         Fix some docs and do some small cleanups.
4075
4076         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
4077         Add some more checks to see if GDP deals with bogus input.
4078
4079 2006-07-31  Wim Taymans  <wim@fluendo.com>
4080
4081         * gst/gstvalue.c: (gst_value_compare_list):
4082         Fix GstValueList comparison code. Fixes #347293.
4083
4084         * tests/check/gst/gstvalue.c: (GST_START_TEST):
4085         Check to test GstValueList comparison.
4086
4087 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
4088
4089         * gst/gstelementfactory.c: (gst_element_factory_create):
4090         Remove unnecessary ref/unref pair
4091
4092         * gst/parse/grammar.y:
4093         Make sure to free the parse buffer on all code paths.
4094         Move a g_free up to the error handler where it's easier to see.
4095
4096         * tests/check/gst/gstevent.c: (test_event):
4097         Extending timeout for downstream travelling events to 10 seconds to
4098         hopefully avoid intermittent failure on the buildbots.
4099
4100         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
4101         Don't manually set the state of the src element - it will happen as a
4102         natural consequence of the pipeline changing state, and that way it
4103         will do it in the right order too.
4104
4105 2006-07-31  Wim Taymans  <wim@fluendo.com>
4106
4107         * libs/gst/base/gstbasetransform.c:
4108         (gst_base_transform_buffer_alloc):
4109         Use OBJECT_LOCK and refcounting to get the pad caps in the
4110         buffer_alloc function because the caps could change while we are
4111         busy with them. Fixes #349105
4112
4113 2006-07-31  Wim Taymans  <wim@fluendo.com>
4114
4115         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
4116         Protect _PAD_CAPS with OBJECT_LOCK.
4117
4118 2006-07-31  Wim Taymans  <wim@fluendo.com>
4119
4120         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
4121         (gst_pad_get_property), (gst_pad_activate_pull),
4122         (gst_pad_activate_push), (gst_pad_set_blocked_async),
4123         (gst_pad_set_activate_function),
4124         (gst_pad_set_activatepull_function),
4125         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
4126         (gst_pad_set_getrange_function),
4127         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
4128         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
4129         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
4130         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
4131         (gst_pad_set_acceptcaps_function),
4132         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
4133         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
4134         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
4135         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
4136         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
4137         (gst_pad_configure_sink), (gst_pad_configure_src),
4138         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
4139         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
4140         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
4141         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
4142         (gst_pad_send_event):
4143         Use _DEBUG_OBJECT when it makes sense.
4144         Protect GST_PAD_CAPS with the OBJECT_LOCK.
4145         Small cleanups and code reflows.
4146         Avoid caps refcounting in _accept_caps.
4147         Refactor alloc_buffer so that the code performed on the peer is in a
4148         separate function. Also if the pad does not implement a buffer alloc
4149         function, we should still check if the pad is flushing before falling
4150         back to the default allocator.
4151
4152 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
4153
4154         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
4155         Make all uses of identity and fakesink have silent=true to avoid
4156         serialising every passing data structure, which is breaking tests
4157         on FC4 for some unknown reason.
4158
4159 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
4160
4161         * gst/parse/Makefile.am:
4162         * gst/parse/grammar.y:
4163         * gst/parse/parse.l:
4164           Reverted previous patch as it required to bump the flex dependency to
4165           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
4166
4167 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
4168
4169         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
4170
4171         * gst/parse/Makefile.am:
4172         * gst/parse/grammar.y:
4173         * gst/parse/parse.l:
4174           push & pop the state of the lexer for reentrant use case
4175           Fixes #349180
4176
4177 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
4178
4179         * libs/gst/base/gstbasesrc.h:
4180           Note in the docs that the ::newsegment vfunc is not actually used by
4181           GstBaseSrc.
4182
4183 2006-07-28  Wim Taymans  <wim@fluendo.com>
4184
4185         * libs/gst/base/gstcollectpads.c:
4186         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
4187         (gst_collect_pads_clear), (gst_collect_pads_flush),
4188         (gst_collect_pads_event), (gst_collect_pads_chain):
4189         When flushing a pad, also clear the queued buffer so that we don't
4190         accidentally use it when we shouldn't.
4191         Fix leaks by inreffing incomming buffer.
4192         Flush out queued buffers in case of errors.
4193         Fixes #347452.
4194
4195 2006-07-28  Wim Taymans  <wim@fluendo.com>
4196
4197         * docs/random/phonon-gst:
4198         Random notes about a Phonon backend.
4199
4200 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
4201
4202         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
4203         Extra debug output
4204         * tests/check/libs/gdp.c: (gst_dp_suite):
4205         Take a whack at fixing the ppc compile using a different define to
4206         disable the broken test.
4207
4208         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
4209         Remove excess g_print()
4210
4211 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
4212
4213         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
4214         Oops, meant to uncomment this line too to dampen the noise a bit.
4215
4216 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
4217
4218         * gst/parse/grammar.y:
4219         * gst/parse/parse.l:
4220         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
4221         (GST_START_TEST), (parse_suite):
4222         Fix some of the leaks exposed by extending the parse-launch testsuite,
4223         and move the 3 I can't figure out into a separate test that won't run
4224         the pipelines unless the appropriate line is uncommented.
4225
4226 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
4227
4228         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
4229           Requesting 0 bytes before the end of the file should result in
4230           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
4231           unit test.
4232
4233 2006-07-27  Wim Taymans  <wim@fluendo.com>
4234
4235         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
4236         Fix useless assert, a uint is always positive.
4237
4238         * gst/gststructure.c: (gst_structure_nth_field_name),
4239         (gst_structure_foreach), (gst_structure_map_in_place):
4240         Check input arguments for public functions to avoid obvious crashes.
4241
4242         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
4243         * plugins/elements/gstfakesink.h:
4244         Do less useless typechecking.
4245
4246 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
4247
4248         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
4249           Do not use mmap() by default since there are a number of error
4250           conditions that we would like to handle in a non-fatal way that
4251           will result in a SIGBUS if we use mmap(). Examples: external
4252           devices (USB harddrive, portable music player) being unplugged
4253           while in use; file on mounted CD/DVD that can't be read because
4254           the medium is partly damaged. Fixes #348455 and #348475.
4255
4256 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
4257
4258         * gst/gstquery.h:
4259         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
4260         rates are a gdouble
4261
4262 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
4263
4264         * gst/gstregistry.c:
4265           Move big documentation comment into class section header, so that it
4266           appears in the API docs.
4267
4268 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
4269
4270         * docs/gst/gstreamer-sections.txt:
4271         Oops. Commit the docs additions too for new API.
4272         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
4273
4274 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
4275
4276         * gst/gststructure.c: (gst_structure_id_set),
4277         (gst_structure_id_set_valist):
4278         * gst/gststructure.h:
4279         Add API for setting values into structures without performing
4280         a quark lookup, if the appropriate quark is already known.
4281
4282         API: gst_structure_id_set
4283         API: gst_structure_id_set_valist
4284
4285         * gst/parse/grammar.y:
4286         * gst/parse/parse.l:
4287         Remove some dead code shown by the coverage information.
4288         Don't throw a critical g_warning when encountering a syntax error,
4289         just warn and let the normal error path handle it.
4290
4291         * plugins/elements/gstelements.c:
4292         Bump the rank of filesink up to PRIMARY so that it is preferred over
4293         gnomevfssink for file:// sink uri's
4294
4295         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
4296         (GST_START_TEST), (run_delayed_test),
4297         (gst_parse_test_element_base_init),
4298         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
4299         (gst_parse_test_element_change_state),
4300         (gst_register_parse_element), (parse_suite):
4301         Beef up the tests for parse syntax to check that more error cases
4302         fail as they are supposed to. Increases the test coverage a bit.
4303
4304 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
4305
4306         * docs/manual/basics-elements.xml:
4307           Fix gst_element_link() example.
4308
4309         * gst/gstutils.c:
4310           Mention in API docs that one should usually gst_bin_add()
4311           elements to a bin or pipeline before doing the linking.
4312           
4313 2006-07-26  Wim Taymans  <wim@fluendo.com>
4314
4315         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
4316         (gst_subbuffer_get_type), (gst_buffer_create_sub):
4317         Avoid function call for known types by keeping the buffer and
4318         subbuffer GType global.
4319
4320         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
4321         Random silly optimisations in read() path.
4322
4323 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
4324
4325         * tools/gst-launch.c: (main):
4326           If the top-level of the parse is a normal bin, it doesn't do the
4327           right logic to run as a top-level element, so place it inside a
4328           pipeline.
4329
4330 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
4331
4332         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
4333           Remove superfluous g_object_notify() calls, GObject does
4334           that for us automatically.
4335
4336 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
4337
4338         * gst/gstinfo.h:
4339           on Win32, use dllspec to export the debug category symbols
4340
4341 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
4342
4343         * gst/gsttaglist.c: (_gst_tag_initialize):
4344           Allow more than one GST_TAG_IMAGE per taglist.
4345
4346 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4347
4348         * gst/gstminiobject.c:
4349           update docs
4350         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
4351         (gst_fd_src_create):
4352           log recurring events at LOG level
4353           add more debug for when the fd gets set
4354
4355 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
4356
4357         * gst/gstparse.c: (gst_parse_launch):
4358           Also remove reentrance checks if flex is MT safe (#348179)
4359          Fix my empty ChangeLog entry below
4360
4361 2006-07-21  Andy Wingo  <wingo@pobox.com>
4362
4363         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
4364
4365         * libs/gst/check/Makefile.am
4366         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
4367         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
4368         * libs/gst/check/gstbufferstraw.h:
4369         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
4370         functions, thus proving I am still a GStreamer haxor. OK I wrote
4371         them a long time ago, but anyways.
4372
4373 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
4374
4375         * configure.ac:
4376         * gst/gstparse.c: (gst_parse_launch):
4377           Check for flex version and omit mutex if we have a MT save flex
4378           (fixes #348179)
4379
4380 2006-07-21  Wim Taymans  <wim@fluendo.com>
4381
4382         * gst/gstparse.c: (gst_parse_launch):
4383         Protect recursive calls to _parse with a recursive mutex
4384         and busy flag.
4385
4386 2006-07-21  Wim Taymans  <wim@fluendo.com>
4387
4388         * tests/check/gst/gstpad.c: (GST_START_TEST):
4389         Fix leak in test.
4390
4391 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
4392
4393         * gst/gstparse.c: (gst_parse_launch):
4394           Do not hang on recursive usage of gst_parse_launch()
4395
4396 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
4397
4398         * gst/gsttaglist.c:
4399           Add some more docs, comments and FIXME 0.11s here and there
4400           and also fix some typos.
4401
4402 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
4403
4404         * gst/gstsegment.h:
4405           Convert tabs to spaces for better readability. 
4406
4407 2006-07-20  Edward Hervey  <edward@fluendo.com>
4408
4409         * tests/check/libs/gdp.c: (gst_dp_suite):
4410         the test_buffer test fails at line 140 on ppc64 at the following
4411         check:
4412         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
4413                 GST_BUFFER_FLAG_IN_CAPS),
4414                 "GST_BUFFER_IN_CAPS flag should have been copied !");
4415         See bug #348114 for more details.
4416
4417 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
4418
4419         * docs/pwg/advanced-scheduling.xml:
4420         * gst/gstpad.c:
4421           Fix typos (#348000).
4422
4423 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
4424
4425         * docs/pwg/intro-basics.xml:
4426           Fix wrong links (#347927).
4427
4428 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
4429
4430         * gst/gstregistry.h:
4431         * gst/gstregistryxml.c: (load_feature),
4432         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
4433         * win32/common/config.h:
4434           make --disable-index work (#342564)
4435
4436 2006-07-18  Wim Taymans  <wim@fluendo.com>
4437
4438         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4439
4440         * gst/Makefile.am:
4441         * gst/gsttrace.h:
4442         The attached patch adds two missing defines to gsttrace.h when tracing
4443         is disabled.  It also corrects one existing define.
4444         Fixes #347756.
4445
4446 2006-07-17  Wim Taymans  <wim@fluendo.com>
4447
4448         * docs/gst/gstreamer-sections.txt:
4449         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
4450         * gst/gst.h:
4451         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
4452         Add two functions to check and change the SIGSEGV behaviour
4453         when loading plugins.
4454         Don't mess with the SIGSEGV handler when we were told not to.
4455         Fixes #347794.
4456         API: gst_segtrap_is_enabled
4457         API: gst_segtrap_set_enabled
4458
4459 2006-07-14  Wim Taymans  <wim@fluendo.com>
4460
4461         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
4462         * tests/check/elements/filesrc.c: (GST_START_TEST):
4463         Revert fix for regression in #347408 after release.
4464
4465 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
4466
4467         Patch by: Antoine Tremblay <hexa00 at gmail com>
4468
4469         * gst/gstutils.c: (gst_element_unlink):
4470           Free iterator when done (#347311).
4471
4472         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4473           And add a test case for this.
4474
4475 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
4476
4477         * configure.ac:
4478         Bump nano back to CVS
4479
4480 === release 0.10.9 ===
4481
4482 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
4483
4484         * configure.ac:
4485           releasing 0.10.9, "On the road again"
4486
4487 2006-07-13  Wim Taymans  <wim@fluendo.com>
4488
4489         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
4490         * tests/check/elements/filesrc.c: (GST_START_TEST):
4491         Revert pull-0 fix for release. Disable check. Fixes #347408.
4492
4493 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4494
4495         * libs/gst/dataprotocol/dataprotocol.c:
4496         (gst_dp_event_from_packet_1_0):
4497           Fixes #347337: failure to deserialize event packets with
4498           empty payload (only event type)
4499
4500 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4501
4502         * gst/Makefile.am:
4503           do not install a .c file in the header directory
4504
4505 2006-07-13  Edward Hervey  <edward@fluendo.com>
4506
4507         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
4508         GhostPad no longer implicitely use the padtemplates of the targets.
4509         Fixes #347384
4510
4511 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
4512
4513         * gst/gstvalue.c: (gst_value_compare_list),
4514         (gst_value_compare_array), (_gst_value_initialize):
4515         * tests/check/gst/gstvalue.c: (GST_START_TEST):
4516         Make GstValueArray comparison be order dependent as designed.
4517         Add checks for value lists and value array comparisons.
4518         Fixes #347221
4519
4520 2006-07-11  Edward Hervey  <edward@fluendo.com>
4521
4522         * gst/gstbin.c: (activate_pads),
4523         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
4524         (gst_bin_change_state_func):
4525         (de)activate src pads before calling state_change on the childs.
4526         This is to avoid the case where a src ghostpad is blocked (holding the
4527         stream lock), which would block the deactivation of the ghostpad's
4528         target pad.
4529         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
4530         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
4531         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
4532         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
4533         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
4534         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
4535         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
4536         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
4537         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
4538         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
4539         (gst_ghost_pad_class_init),
4540         (gst_ghost_pad_internal_do_activate_push),
4541         (gst_ghost_pad_internal_do_activate_pull),
4542         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
4543         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
4544         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
4545         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
4546         GhostPads now create their internal GstProxyPad at creation (and not
4547         when they're linked, as it was being done previously).
4548         The internal and target pads are linked straight away.
4549         The data will also travel through the other pad in order to make
4550         pad blocking and probes non-hackish (the probe/block now really happens
4551         on the GhostPad and not on the target).
4552         * gst/gstpad.c: (gst_pad_set_blocked_async),
4553         (gst_pad_link_prepare), (gst_pad_push_event):
4554         Remove previous ghostpad cruft.
4555         * gst/gstutils.c: (gst_pad_add_data_probe),
4556         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
4557         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
4558         (gst_pad_remove_buffer_probe):
4559         Remove previous ghost pad cruft.
4560         Added more detailed debug statements.
4561         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
4562         Fix the testsuite for refcounting changes.
4563         The comments about who has references were correct, but the refcount
4564         being checked wasn't the same (!?!).
4565
4566         Fixes #341029
4567
4568 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
4569
4570         * docs/gst/gstreamer-sections.txt:
4571         * gst/gstconfig.h.in:
4572         More docs for configuration options, add docs to gtk-doc.
4573
4574 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
4575
4576         * gst/Makefile.am:
4577         * gst/gstconfig.h.in:
4578         * win32/common/config.h:
4579         Fix build when disabling tracing (fixes #344016). Also start to document
4580         the defines that disable the sub-systems.
4581
4582 2006-07-10  Edward Hervey  <edward@fluendo.com>
4583
4584         * gst/gst.c: (ensure_current_registry_forking):
4585         let's make valgrind happy...
4586
4587 2006-07-09  Wim Taymans  <wim@fluendo.com>
4588
4589         * gst/gstelement.c: (activate_pads),
4590         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
4591         Better pad activation code: Reset the collect value too on resync.
4592         Add some comments.
4593
4594 2006-07-09  Wim Taymans  <wim@fluendo.com>
4595
4596         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
4597         (gst_pad_activate_push):
4598         Use some more macros where it makes sense.
4599         Allow pad mode switching instead of asserting. When a pad
4600         is activated in one mode and we activate it in another, 
4601         deactivate it first before activating it in a different mode.
4602         Fixes #329198.
4603
4604 2006-07-08  Andy Wingo  <wingo@pobox.com>
4605
4606         * tools/gst-launch.c (main): Handle err == NULL.
4607
4608         * gst/gst.c (init_post, ensure_current_registry)
4609         (ensure_current_registry_forking)
4610         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
4611         factoring out the registry scanning into separate functions. Don't
4612         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
4613         Better environment var name/interface suggestions accepted.
4614
4615 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
4616
4617         * gst/gstobject.c: (gst_object_set_name_default),
4618         (gst_object_set_name):
4619           Random micro-optimisation: don't use a hash table
4620           with strings as keys and the usual strdup/strcmp
4621           involved, but rather just use the GQuark of the
4622           type name as key, since it needs to be looked up
4623           anyway to get the type name string.
4624
4625         * tests/check/gst/gstobject.c: (GST_START_TEST):
4626           Fix various leaks.
4627
4628 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
4629
4630         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
4631         (gst_bin_iterate_all_by_interface):
4632           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
4633           GTypes are gulongs and thus the top 4 bytes might be cut
4634           off on some platforms when doing GPOINTER_TO_INT, leading
4635           to invalid GTypes and bad things happening (see RH bug #179654).
4636           Also add a check to make sure the type passed in is really
4637           an interface type.
4638
4639 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
4640
4641         * .cvsignore:
4642           Ignore more.
4643
4644 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
4645
4646         * Makefile.am:
4647         * configure.ac:
4648         * gst-element-check.m4:
4649         * gst-element-check.m4.in:
4650           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
4651           instead of the unversioned gst-inspect (#324176, #168659).
4652
4653 2006-07-06  Wim Taymans  <wim@fluendo.com>
4654
4655         * gst/gstmessage.h:
4656         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
4657         warnings.
4658
4659 2006-07-06  Wim Taymans  <wim@fluendo.com>
4660
4661         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4662         (gst_base_src_wait), (gst_base_src_update_length),
4663         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
4664         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
4665         (gst_base_src_loop), (gst_base_src_start),
4666         (gst_base_src_activate_pull):
4667         Update docs.
4668         blocksize == 0 now means the default blocksize when working in push
4669         based mode.
4670         Remove some pointless asserts in _wait function.
4671         Fix offset/length calculations and EOS handling. We can now pull 0
4672         bytes as well, which is allowed.
4673         use _check_get_range() to decide if we can operate in _pull based
4674         mode.
4675         Fix refcounting leak when check_get_range function was not 
4676         implemented.
4677         API GstBaseSrc::blocksize range can be 0 too now (default)
4678
4679         * tests/check/elements/filesrc.c: (GST_START_TEST),
4680         (filesrc_suite):
4681         Added check to test _get_range() behaviour.
4682
4683 2006-07-06  Wim Taymans  <wim@fluendo.com>
4684
4685         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
4686         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
4687         (gst_pad_pull_range):
4688         * gst/gstpad.h:
4689         Lots of comments and docs added to the pad functions.
4690         Flesh out the expected behaviour of the get_range() functions.
4691
4692 2006-07-06  Wim Taymans  <wim@fluendo.com>
4693
4694         * gst/gstbus.h:
4695         * gst/gstclock.h:
4696         * gst/gstevent.h:
4697         * gst/gstiterator.h:
4698         * gst/gstpad.h:
4699         * gst/gstplugin.h:
4700         * gst/gsttask.h:
4701         Remove comma at end of enumerator list. 
4702
4703 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
4704
4705         * win32/common/libgstbase.def:
4706         * win32/common/libgstdataprotocol.def:
4707         * win32/common/libsgtreamer.def:
4708         Add new exported functions.
4709
4710 2006-07-05  Wim Taymans  <wim@fluendo.com>
4711
4712         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
4713         Add some more docs here and there.
4714
4715 2006-07-05  Wim Taymans  <wim@fluendo.com>
4716
4717         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
4718         (gst_base_sink_loop), (gst_base_sink_get_position):
4719         When operating in pull mode update the offset so that we
4720         read sequentially.
4721
4722 2006-07-05  Wim Taymans  <wim@fluendo.com>
4723
4724         * gst/gstregistryxml.c: (read_string):
4725         Avoid strdup. (will happen in libxml, but hey!)
4726
4727         * gst/gsturi.c:
4728         Add some more docs.
4729
4730 2006-07-05  Wim Taymans  <wim@fluendo.com>
4731
4732         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
4733         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
4734         (gst_buffer_suite):
4735         No point in checking if the size of the subbuffer > 0, the
4736         code handles it correclty as demonstrated by unit test.
4737         Also add a unit test for the zero sized _new_and_alloc and
4738         _copy. Fixes #346663.
4739
4740 2006-07-05  Wim Taymans  <wim@fluendo.com>
4741
4742         * libs/gst/base/gstbasetransform.c:
4743         (gst_base_transform_prepare_output_buffer),
4744         (gst_base_transform_buffer_alloc),
4745         (gst_base_transform_handle_buffer):
4746         Make sure the buffer we pass to transform_ip has a refcount of
4747         1 and thus is writable. Fixes #343196
4748
4749 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
4750
4751         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
4752         (gst_file_src_init), (gst_file_src_set_property),
4753         (gst_file_src_get_property), (gst_file_src_map_region):
4754         * plugins/elements/gstfilesrc.h:
4755         Add "sequential" property, off by default, to use madvise and hint
4756         to the kernel that sequential access is desired.
4757         Touch all retrieved pages by default to ensure they are pulled
4758         into memory. (Closes #345720)
4759
4760 2006-07-03  Wim Taymans  <wim@fluendo.com>
4761
4762         * docs/design/part-block.txt:
4763         * docs/design/part-dynamic.txt:
4764         Small docs updates.
4765
4766 2006-07-03  Wim Taymans  <wim@fluendo.com>
4767
4768         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
4769         (gst_caps_unref), (gst_static_caps_get),
4770         (gst_caps_append_structure):
4771         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
4772         Use GSlice when the glib we build against is >= 2.10
4773
4774 2006-07-03  Wim Taymans  <wim@fluendo.com>
4775
4776         * gst/gstelement.c: (gst_element_pads_activate):
4777         Small cleanup in pad activation code.
4778
4779 2006-07-03  Wim Taymans  <wim@fluendo.com>
4780
4781         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4782
4783         * gst/gst-i18n-app.h:
4784         * gst/gst-i18n-lib.h:
4785         * tools/gst-inspect.c: (print_signal_info):
4786         The attached patch will make the inclusion of gettext.h unconditional in
4787         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
4788         libintl.h in tools/gst-inspect.c.
4789         This allows use of --disable-nls again and fixes #344642.
4790
4791 2006-07-03  Edward Hervey  <edward@fluendo.com>
4792
4793         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
4794         Implement pad blocking on events according to part-block.txt.
4795         More comments on behaviour.
4796         * tests/check/gst/gstevent.c: (test_event):
4797         Send event to peer pad of blocked pad (else it will block).
4798
4799 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4800
4801         * libs/gst/check/gstcheck.c: (gst_check_message_error),
4802         (gst_check_run_suite):
4803           if we get the wrong message, give us the types as string
4804         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
4805           Fix a translatable
4806         * tests/check/elements/filesrc.c: (GST_START_TEST):
4807           add a test for trying to open a non-existing file
4808
4809 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4810
4811         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
4812           add a test for adding self
4813
4814 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4815
4816         * libs/gst/check/gstcheck.h:
4817           add some assert_ as alias for fail_unless_*
4818         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
4819           increase test coverage
4820
4821 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4822
4823         * Makefile.am:
4824           include lcov.mak for lcov coverage generation
4825         * tools/Makefile.am:
4826           add to CLEANFILES
4827
4828 2006-07-02  Edward Hervey  <edward@fluendo.com>
4829
4830         * tests/check/elements/.cvsignore:
4831         moaping
4832
4833 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4834
4835         * configure.ac:
4836           don't set CFLAGS and friends for gcov, done from GST_GCOV now
4837         * tests/check/Makefile.am:
4838           clean up gcov files
4839
4840 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4841
4842         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
4843           remove gst_caps_simplify; it was not declared and not used
4844           and deprecated in 0.8
4845
4846 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4847
4848         * docs/faq/gst-uninstalled:
4849           don't put empty paths on PYTHONPATH
4850         * docs/gst/gstreamer-sections.txt:
4851           remove some symbols that are not there
4852
4853 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4854
4855         * gst/gstcaps.c: (gst_caps_compare_structures):
4856           whitespace fixes
4857         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
4858         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
4859           add more tests
4860
4861 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4862
4863         * libs/gst/dataprotocol/Makefile.am:
4864           build dataprotocol test by linking to the lib, instead of
4865           compiling the source, so we get coverage
4866         * tests/check/Makefile.am:
4867         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
4868         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
4869           add a test for filesrc
4870
4871 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4872
4873         * tests/check/gst/gststructure.c: (GST_START_TEST),
4874         (gst_structure_suite):
4875           Push coverage from 59.04% to 70.00%
4876
4877 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4878
4879         * tests/check/Makefile.am:
4880           gst-inspect every element; this makes sure that we also get
4881           coverage on element's get/set functions
4882
4883 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4884
4885         * configure.ac:
4886           set CFLAGS and friends to -O0 if gcov is being used
4887           add GCOV LIBS
4888         * gst/Makefile.am:
4889         * libs/gst/base/Makefile.am:
4890         * libs/gst/check/Makefile.am:
4891         * libs/gst/controller/Makefile.am:
4892         * libs/gst/dataprotocol/Makefile.am:
4893         * libs/gst/net/Makefile.am:
4894         * plugins/elements/Makefile.am:
4895         * plugins/indexers/Makefile.am:
4896           add makefile rules to generate gcov data and clean up
4897         * tests/check/Makefile.am:
4898           add a coverage target that generates an html overview
4899           of coverage data
4900
4901 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4902
4903         * tests/check/elements/fakesink.c:
4904         * tests/check/elements/fakesrc.c:
4905         * tests/check/elements/fdsrc.c:
4906         * tests/check/elements/identity.c:
4907         * tests/check/generic/sinks.c: (gst_sinks_suite):
4908         * tests/check/generic/states.c:
4909         * tests/check/gst/gst.c:
4910         * tests/check/gst/gstabi.c:
4911         * tests/check/gst/gstbin.c:
4912         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
4913         * tests/check/gst/gstbus.c: (gst_bus_suite):
4914         * tests/check/gst/gstcaps.c: (GST_START_TEST):
4915         * tests/check/gst/gstelement.c:
4916         * tests/check/gst/gstevent.c: (gst_event_suite):
4917         * tests/check/gst/gstghostpad.c:
4918         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
4919         * tests/check/gst/gstmessage.c: (gst_message_suite):
4920         * tests/check/gst/gstminiobject.c:
4921         * tests/check/gst/gstobject.c:
4922         * tests/check/gst/gstpad.c:
4923         * tests/check/gst/gstpipeline.c:
4924         * tests/check/gst/gstplugin.c:
4925         * tests/check/gst/gstquery.c: (gst_query_suite):
4926         * tests/check/gst/gstsegment.c: (gst_segment_suite):
4927         * tests/check/gst/gststructure.c:
4928         * tests/check/gst/gstsystemclock.c:
4929         * tests/check/gst/gsttag.c:
4930         * tests/check/gst/gsttask.c: (gst_task_suite):
4931         * tests/check/gst/gstutils.c:
4932         * tests/check/gst/gstvalue.c:
4933         * tests/check/libs/adapter.c:
4934         * tests/check/libs/basesrc.c:
4935         * tests/check/libs/collectpads.c:
4936         * tests/check/libs/controller.c:
4937         * tests/check/libs/gdp.c: (gst_dp_suite):
4938         * tests/check/libs/gstnetclientclock.c:
4939         * tests/check/libs/gstnettimeprovider.c:
4940         * tests/check/libs/libsabi.c: (libsabi_suite):
4941         * tests/check/libs/typefindhelper.c:
4942         * tests/check/pipelines/cleanup.c:
4943         * tests/check/pipelines/parse-launch.c:
4944         * tests/check/pipelines/simple-launch-lines.c:
4945         * tests/check/pipelines/stress.c: (stress_suite):
4946           use the new macro
4947
4948 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4949
4950         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
4951         * libs/gst/check/gstcheck.h:
4952           create a macro and function so that the simple unit test
4953           case can be just one macro to create main()
4954
4955 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
4956
4957         * gst/gstbin.c: (gst_bin_restore_thyself):
4958         * gst/gstxml.c: (gst_xml_make_element):
4959           Fix deserialisation from XML. Set parent manually
4960           instead of using gst_bin_add(), since gst_bin_add()
4961           will unlink all pads of the element being added.
4962           Fixes #341667.
4963
4964 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
4965
4966         Patch by: Peter Kjellerstedt <pkj at axis com>
4967
4968         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
4969           Fix missing g_strdup() and double free when using the
4970           --gst-plugin-load command line option (#346097).
4971
4972 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
4973
4974         * gst/gstinfo.c:
4975           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
4976
4977         * libs/gst/net/gstnetclientclock.c:
4978         * libs/gst/net/gstnettimeprovider.c:
4979           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
4980
4981 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
4982
4983         * docs/manual/advanced-dataaccess.xml:
4984           Fix buffer probe example compilation in
4985           ADM (#345708).
4986         
4987 2006-06-22  Edward Hervey  <edward@fluendo.com>
4988
4989         * gst/gstelement.c: (gst_element_pads_activate):
4990         We need to deactivate src pads first and then sink pads.
4991         The reason is the src pads might be blocking while holding the streaming
4992         lock, so we need to deactivate them first so that deactivating the sink
4993         pads doesn't block (since it will require the streaming lock).
4994
4995 2006-06-22  Wim Taymans  <wim@fluendo.com>
4996
4997         * libs/gst/base/gstbasetransform.c:
4998         (gst_base_transform_buffer_alloc):
4999         Forgot to remove two unneeded unrefs.
5000         Simplify a check _is_equal allready checks the obvious case.
5001
5002 2006-06-22  Wim Taymans  <wim@fluendo.com>
5003
5004         * docs/design/part-block.txt:
5005         Some docs about what pad_block should do.
5006
5007 2006-06-22  Wim Taymans  <wim@fluendo.com>
5008
5009         * gst/gstcaps.c: (gst_caps_replace):
5010         Fix crasher when passed NULL. Doc clarification.
5011         Optimize for the trivial case.
5012
5013         * gst/gstpipeline.c: (gst_pipeline_change_state):
5014         Small cleanups.
5015
5016         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
5017         Small documentation cleanup.
5018
5019         * libs/gst/base/gstbasetransform.c:
5020         (gst_base_transform_buffer_alloc):
5021         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
5022         is what we need and it avoids a whole lot of redundant 
5023         refcount operations.
5024
5025 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
5026
5027         Patch by: Philip Jägenstedt  <philip at lysator liu se>
5028
5029         * docs/manual/advanced-dataaccess.xml:
5030           Fix 'Embedding static elements' section to use
5031           GST_PLUGIN_DEFINE_STATIC (#345607).
5032
5033 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
5034
5035         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
5036           Attempt to 'fix' spuriously failing test case: it seems like the
5037           timeout of half a second is simply too small when the system is under
5038           load otherwise, and the timeout doesn't really seem to serve any
5039           particular purpose here. Give the pipeline a few seconds to preroll
5040           first, and then give it another half a second to go from PAUSED to
5041           PLAYING and marshal the message into the main thread.
5042
5043 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
5044
5045         * tools/gst-feedback-m.m:
5046           Don't only use unversioned tools, try versioned tools as well
5047           (#345086).
5048
5049 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
5050
5051         * gst/gstbus.c: (gst_bus_class_init):
5052           Fix some typos, make docs more explicit.
5053
5054 2006-06-20  Wim Taymans  <wim@fluendo.com>
5055
5056         * tests/check/gst/gstghostpad.c: (block_callback),
5057         (GST_START_TEST), (gst_ghost_pad_suite):
5058         Added some more ghostpad tests, mainly blocking
5059         and probes.
5060
5061 2006-06-16  Wim Taymans  <wim@fluendo.com>
5062
5063         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
5064         (gst_file_sink_close_file), (gst_file_sink_do_seek),
5065         (gst_file_sink_event), (gst_file_sink_render):
5066         * plugins/elements/gstfilesink.h:
5067         Check if we can seek in the file instead of assuming
5068         we always can. Post an error when we are asked to seek in a
5069         non-seekable file (like a fifo). Fixes #343312.
5070         Some cleanups.
5071
5072 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
5073
5074         * tools/gst-launch.1.in:
5075           Un-garble (fourcc) bit in filtered caps section.
5076
5077 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
5078
5079         * docs/manual/advanced-autoplugging.xml:
5080         * docs/manual/basics-helloworld.xml:
5081         * docs/manual/highlevel-components.xml:
5082           Don't leak bus reference in sample code.
5083
5084 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
5085
5086         * autogen.sh:
5087           Add default for new --enable-plugin-docs switch.
5088
5089         * configure.ac:
5090           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
5091           Fixes #344039.
5092
5093         * docs/Makefile.am:
5094           Use new ENABLE_PLUGIN_DOCS conditional.
5095
5096 2006-06-14  Wim Taymans  <wim@fluendo.com>
5097
5098         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
5099         Make it clear with a FIXME and a real define what the #if 0
5100         previously disabled.
5101
5102 2006-06-14  Wim Taymans  <wim@fluendo.com>
5103
5104         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
5105         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
5106         * libs/gst/base/gstbasetransform.c:
5107         (gst_base_transform_sink_eventfunc):
5108         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
5109         Don't randomly and silently reset a segment when the format 
5110         changes as this is a bug somewhere upstream. Fixes #330379.
5111
5112 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
5113
5114         Patch by: Wouter Paesen  <wouter at kangaroot net>
5115
5116         * libs/gst/controller/gstcontroller.c:
5117         (gst_controlled_property_new):
5118           Fix controlling of float properties (#344849).
5119
5120         * tests/check/libs/controller.c:
5121         (gst_test_mono_source_get_property),
5122         (gst_test_mono_source_set_property),
5123         (gst_test_mono_source_class_init), (GST_START_TEST):
5124           While we're at it, add some float stuff to unit test.
5125
5126 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5127
5128         * docs/README:
5129         * docs/images/gdp-header.svg:
5130           add a gdp image
5131         * docs/libs/Makefile.am:
5132         * docs/libs/gdp-header.png:
5133         * libs/gst/dataprotocol/dataprotocol.c:
5134           add it to the API docs
5135         * docs/manual/intro-motivation.xml:
5136           fix typo
5137
5138 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
5139
5140         * gst/gst.c: (scan_and_update_registry), (init_post):
5141           If the fork()'ed child process can't write the updated registry cache
5142           file to disk for some reason, make it exit with a failure exit code,
5143           so that the parent can then re-scan the plugins itself and update the
5144           registry structures in memory and work with that (rather than failing
5145           when creating elements because seemingly no plugins are available).
5146           Refactor registry scanning code into separate function for this and
5147           also separate fork() and non-fork() code paths. Fixes #344748.
5148
5149 2006-06-13  Wim Taymans  <wim@fluendo.com>
5150
5151         * docs/manual/advanced-dataaccess.xml:
5152         Fix wrong PluginDesc. Fixes #344755.
5153
5154 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
5155
5156         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
5157           Fix silly bug that prevented us from creating
5158           ~/.gstreamer-0.10 and writing the registry in one
5159           go (the first call to g_mkstemp() would overwrite the
5160           placeholder in the template string, so the second call
5161           to g_mkstemp() after creating the missing directory
5162           would then error out with 'invalid argument').
5163
5164 2006-06-13  Edward Hervey  <edward@fluendo.com>
5165
5166         * gst/gst.c: (init_post):
5167         Free string.
5168
5169 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5170
5171         * gst/glib-compat-private.h:
5172         * gst/glib-compat.c:
5173         * gst/glib-compat.h:
5174         * gst/gstvalue.c: (gst_value_serialize_flags):
5175           remove GLib 2.6 compatibility code
5176
5177 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
5178
5179         * gst/parse/Makefile.am:
5180           Fix build with 'make -j N' even more (#340016).
5181
5182 2006-06-12  Wim Taymans  <wim@fluendo.com>
5183
5184         * docs/gst/gstreamer-sections.txt:
5185         Fix docs.
5186
5187 2006-06-12  Wim Taymans  <wim@fluendo.com>
5188
5189         * gst/gstsegment.c: (gst_segment_set_duration),
5190         (gst_segment_set_last_stop), (gst_segment_set_seek),
5191         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
5192         (gst_segment_to_running_time), (gst_segment_clip):
5193         Use G_UNLIKELY to help the compiler a bit.
5194
5195 2006-06-12  Wim Taymans  <wim@fluendo.com>
5196
5197         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
5198
5199         * gst/gstevent.c: (gst_event_get_type):
5200         * gst/gstmessage.c:
5201         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
5202         (gst_pad_push):
5203         constify quark registration strings. Fixes #344115
5204         Avoid unneeded type checking is _pad_push() by internally
5205         calling gst_pad_chain_unchecked().
5206
5207 2006-06-12  Wim Taymans  <wim@fluendo.com>
5208
5209         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
5210         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
5211         (gst_subbuffer_finalize), (gst_buffer_create_sub),
5212         (gst_buffer_is_span_fast), (gst_buffer_span):
5213         Init _type for consistency.
5214         Use _FLAGS macro to avoid type check.
5215         Avoid unneeded type checks in subbufer code.
5216
5217 2006-06-12  Wim Taymans  <wim@fluendo.com>
5218
5219         * gst/gst.c: (gst_debug_help):
5220         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
5221         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
5222         (gst_plugin_feature_list_free):
5223         * gst/gstregistry.c: (gst_registry_add_plugin),
5224         (gst_registry_add_feature), (gst_registry_plugin_filter),
5225         (gst_registry_feature_filter), (gst_registry_find_plugin),
5226         (gst_registry_find_feature), (gst_registry_get_plugin_list),
5227         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
5228         * gst/gstregistryxml.c: (load_feature),
5229         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
5230         * gst/gstminiobject.c: (gst_mini_object_unref),
5231         (gst_mini_object_replace), (gst_value_mini_object_free),
5232         (gst_value_mini_object_copy):
5233         Use _CAST macros to avoid unneeded type checking.
5234         Added some more G_UNLIKELY.
5235
5236 2006-06-12  Wim Taymans  <wim@fluendo.com>
5237
5238         * gst/gstbuffer.h:
5239         Avoid unneeded type checking.
5240         API: GST_BUFFER_IS_DISCONT
5241
5242         * gst/gstminiobject.h:
5243         Avoid type check in flag accessor.
5244
5245         * gst/gstelementfactory.h:
5246         * gst/gstplugin.h:
5247         * gst/gstpluginfeature.h:
5248         Add _CAST macros.
5249         API: GST_ELEMENT_FACTORY_CAST
5250         API: GST_PLUGIN_CAST
5251         API: GST_PLUGIN_FEATURE_CAST
5252
5253 2006-06-12  Wim Taymans  <wim@fluendo.com>
5254
5255         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
5256         (gst_object_unref):
5257         Add G_UNLIKELY in type registration.
5258         Avoid type check in _ref/_unref since that is also
5259         done in glib.
5260
5261 2006-06-12  Wim Taymans  <wim@fluendo.com>
5262
5263         * gst/gsterror.c: (gst_g_error_get_type):
5264         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
5265         (gst_static_pad_template_get_type):
5266         * gst/gsttaglist.c: (gst_tag_list_get_type):
5267         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
5268         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
5269         * gst/gsturi.c: (gst_uri_handler_get_type):
5270         * gst/gstvalue.c: (gst_date_get_type):
5271         * gst/gstxml.c: (gst_xml_get_type):
5272         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
5273         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
5274         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
5275         Add G_UNLIKELY in type registration.
5276
5277 2006-06-12  Wim Taymans  <wim@fluendo.com>
5278
5279         * tools/gst-inspect.c: (print_signal_info):
5280         Properly print enum values.
5281
5282 2006-06-12  Wim Taymans  <wim@fluendo.com>
5283
5284         * gst/gstinfo.c: (gst_debug_set_active),
5285         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
5286         * gst/gstinfo.h:
5287         Add some G_[UN]LIKELY.
5288         Maintain __gst_debug_min to avoid formatting the arguments of
5289         debug messages that will be dropped anyway to avoid a lot of 
5290         overhead from the debugging system.
5291
5292 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
5293
5294         * po/POTFILES.in:
5295         * po/POTFILES.skip:
5296           add missing files containing translatable strings, tell intltool about
5297           one exception
5298
5299 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
5300
5301         * tests/check/libs/.cvsignore:
5302         add test-binary to ignore list
5303
5304 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
5305
5306         * docs/libs/gstreamer-libs-docs.sgml:
5307         reorder (put dp into a chapter) and indent
5308
5309 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5310
5311         * configure.ac:
5312           back to HEAD
5313
5314 === release 0.10.8 ===
5315
5316 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
5317
5318         * configure.ac:
5319           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
5320
5321 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5322
5323         * gst/gst.c: (init_post):
5324           move pid declaration to declaration block
5325
5326 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5327
5328         * gst/gst.c: (init_post):
5329           use _exit() instead of exit() in our forked child; this ensures
5330           that none of the registered exit handlers from whatever is using
5331           GStreamer get executed.  This fixes gnome-mixer-applet failing
5332           to load, because ORBit would shut down.
5333           Spotted by: Edward Hervey  <edward@fluendo.com>
5334           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
5335           Fixes #344474
5336
5337 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5338
5339         * configure.ac:
5340           back to TRUNK
5341
5342 === release 0.10.7 ===
5343
5344 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
5345
5346         * configure.ac:
5347           releasing 0.10.7, "Soepeke, ik zie ou"
5348
5349 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5350
5351         * configure.ac:
5352         * po/af.po:
5353         * po/az.po:
5354         * po/bg.po:
5355         * po/ca.po:
5356         * po/cs.po:
5357         * po/de.po:
5358         * po/en_GB.po:
5359         * po/fr.po:
5360         * po/it.po:
5361         * po/nb.po:
5362         * po/nl.po:
5363         * po/ru.po:
5364         * po/sq.po:
5365         * po/sr.po:
5366         * po/sv.po:
5367         * po/tr.po:
5368         * po/uk.po:
5369         * po/vi.po:
5370         * po/zh_CN.po:
5371         * po/zh_TW.po:
5372         * win32/common/config.h:
5373           0.10.6.2 prerelease
5374
5375 2006-06-07  Wim Taymans  <wim@fluendo.com>
5376
5377         * gst/gstindex.c: (gst_index_gtype_resolver):
5378         * tools/gst-xmlinspect.c: (print_plugin_info):
5379         Fix leak spotted by coverity checker. Fixes #343827
5380         Fix another other leak found by paolo borelli.
5381
5382 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5383
5384         * libs/gst/dataprotocol/dataprotocol.c:
5385         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
5386         (gst_dp_version_get_type), (gst_dp_init),
5387         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
5388         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
5389         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
5390         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
5391         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
5392         (gst_dp_packetizer_free):
5393         * libs/gst/dataprotocol/dataprotocol.h:
5394           API: add a GstDPPacketizer object, and create/free functions
5395           API: add GstDPVersion enum
5396           Add 1.0 event function that uses the string serialization
5397           Serialize more useful buffer flags
5398           Fixes #343988
5399
5400 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5401
5402         * tests/check/Makefile.am:
5403         * tests/check/gst/gstabi.c:
5404         * tests/check/gst/struct_ppc64.h:
5405         * tests/check/libs/libsabi.c:
5406         * tests/check/libs/struct_ppc64.h:
5407           add ppc64 structure sizes
5408
5409 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5410
5411         * tests/check/Makefile.am:
5412         * tests/check/gst/gstabi.c:
5413         * tests/check/gst/struct_x86_64.h:
5414         * tests/check/libs/libsabi.c:
5415         * tests/check/libs/struct_x86_64.h:
5416           generate and add structure size lists for x86_64
5417
5418 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5419
5420         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
5421         * libs/gst/check/gstcheck.h:
5422           factor out the method from tests that checks size of structures,
5423           and add code to generate the header containing these sizes
5424         * tests/check/gst/gstabi.c: (GST_START_TEST):
5425         * tests/check/gst/struct_i386.h:
5426         * tests/check/libs/libsabi.c: (GST_START_TEST):
5427         * tests/check/libs/struct_i386.h:
5428           use it
5429
5430 2006-06-06  Michael Smith  <msmith@fluendo.com>
5431
5432         * gst/gstsegment.h:
5433           Don't use c++-style comments, fixes #343929
5434
5435 2006-06-05  Edward Hervey  <edward@fluendo.com>
5436
5437         * gst/gst.c:
5438         plugin_paths is not used if we build without registry support.
5439
5440         * gst/gstsegment.c: (gst_segment_copy): 
5441         _copy() was always returning NULL...
5442
5443 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5444
5445         * libs/gst/dataprotocol/dataprotocol.c:
5446         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5447         (gst_dp_packet_from_event):
5448           factor out CRC code
5449
5450 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5451
5452         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
5453           make sure we unset caps
5454
5455 2006-06-02  Michael Smith  <msmith@fluendo.com>
5456
5457         * libs/gst/check/gstcheck.c: (gst_check_init),
5458         (gst_check_chain_func):
5459         * libs/gst/check/gstcheck.h:
5460           Add a cond/mutex to the check support lib, signal this whenever we
5461           add to the buffers list. This will allow tests to not busy-wait on
5462           the buffer-list.
5463
5464 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5465
5466         * libs/gst/dataprotocol/dataprotocol.c:
5467         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5468         (gst_dp_packet_from_event):
5469           factor out some common header init code
5470
5471 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5472
5473         * docs/libs/gstreamer-libs-sections.txt:
5474         * docs/libs/tmpl/gstdataprotocol.sgml:
5475         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
5476         * libs/gst/dataprotocol/dataprotocol.h:
5477           API: make gst_dp_crc() public
5478
5479 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
5480
5481         * plugins/indexers/gstindexers.c: (plugin_init):
5482         conditionally register fileindexer (fixes #343598)
5483
5484 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
5485
5486         * gst/gsttagsetter.h:
5487         Can't cast ifaces to a class
5488
5489         * libs/gst/net/gstnetclientclock.h:
5490         * libs/gst/net/gstnettimeprovider.h:
5491         * plugins/elements/gstfakesink.h:
5492         * plugins/elements/gstfakesrc.h:
5493         * plugins/elements/gstfdsink.h:
5494         * plugins/elements/gstfdsrc.h:
5495         * plugins/elements/gstfilesink.h:
5496         * plugins/elements/gstfilesrc.h:
5497         * plugins/elements/gstidentity.h:
5498         * plugins/elements/gstqueue.h:
5499         * plugins/elements/gsttee.h:
5500         * plugins/indexers/gstfileindex.c:
5501         * plugins/indexers/gstmemindex.c:
5502         * tests/old/examples/plugins/example.h:
5503         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
5504
5505 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5506
5507         * libs/gst/dataprotocol/dataprotocol.c:
5508         (gst_dp_header_from_buffer):
5509           make sure we zero the whole ABI-compatible area
5510
5511 2006-06-01  Wim Taymans  <wim@fluendo.com>
5512
5513         Patch by: Alessandro Decina <alessandro at nnva dot org>
5514
5515         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
5516         Make sure the EOS flag is cleared from pads after a flush
5517         or stop. Fixes #343538.
5518
5519         * tests/check/libs/collectpads.c: (GST_START_TEST),
5520         (gst_collect_pads_suite):
5521         Added test for collectpads reusage after EOS.
5522
5523 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
5524
5525         * gst/gst.c:
5526          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
5527         * win32/common/libgstbase.def:
5528          export gst_collect_pads_set_flushing
5529         * win32/common/libgstreamer.def:
5530          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
5531          gst_value_fraction_multiply
5532         * win32/vs6/gst_inspect.dsp:
5533          add a link to intl.lib
5534
5535 2006-05-30  Wim Taymans  <wim@fluendo.com>
5536
5537         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
5538         (gst_collect_pads_chain):
5539         Handle the case where a pad is removed from the collection
5540         that could cause the other pads to become collectable.
5541
5542 2006-05-30  Wim Taymans  <wim@fluendo.com>
5543
5544         * gst/gstelement.c:
5545         Clarify the use of _release_request_pad() and
5546         _get_request_pad() a bit better.
5547
5548         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
5549         (gst_adapter_take_buffer):
5550         Fix some doc and comment typos.
5551
5552 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5553
5554         * docs/gst/gstreamer-sections.txt:
5555         * docs/libs/gstreamer-libs-sections.txt:
5556           add declared symbols
5557
5558 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
5559
5560         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
5561         Add debug that can be enabled using a #define at the top of the file,
5562         for dumping stats about how late/early we were when waking up from
5563         waiting on the clock.
5564
5565 2006-05-30  Wim Taymans  <wim@fluendo.com>
5566
5567         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
5568         When rebuilding the pad list, don't leak the previous list.
5569
5570 2006-05-30  Wim Taymans  <wim@fluendo.com>
5571
5572         Patch by: Lutz Mueller <lutz at topfrose dot de>
5573
5574         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5575         (gst_base_src_get_query_types), (gst_base_src_update_length):
5576         Publish supported query types.
5577         Update last_stop field in get_range mode so the position
5578         query works. Fixes #342321.
5579
5580 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
5581
5582         * docs/gst/gstreamer-sections.txt:
5583         * gst/gsttaglist.c: (_gst_tag_initialize):
5584         * gst/gsttaglist.h:
5585           API: add GST_TAG_PREVIEW_IMAGE (#343341).
5586
5587 2006-05-30  Wim Taymans  <wim@fluendo.com>
5588
5589         Patch by: Alessandro Decina <alessandro at nnva dot org>
5590
5591         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
5592         Unlock mutex when removing an unknown pad.
5593         Fixes #343334.
5594
5595         * tests/check/Makefile.am:
5596         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
5597         (push_event), (setup), (teardown), (GST_START_TEST),
5598         (gst_collect_pads_suite), (main):
5599         Added collecpads check, disabled for now as check crashes for
5600         some reason.
5601
5602 2006-05-29  Wim Taymans  <wim@fluendo.com>
5603
5604         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
5605         Don't leak pads lists.
5606
5607 2006-05-29  Wim Taymans  <wim@fluendo.com>
5608
5609         * docs/libs/gstreamer-libs-sections.txt:
5610         * libs/gst/base/gstcollectpads.c:
5611         (gst_collect_pads_set_flushing_unlocked),
5612         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
5613         (gst_collect_pads_stop):
5614         * libs/gst/base/gstcollectpads.h:
5615         API: gst_collect_pads_set_flushing()
5616         Added api to set the pads to flushing, useful for seeking
5617         code in elements using collectpads.
5618         Clear segment when receiving a flush.
5619
5620 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
5621
5622         * gst/gst.c: (add_path_func), (init_post):
5623           Don't scan registry paths passed via --gst-plugin-path immediately
5624           (will crash, because absolutely nothing is set up and no types are
5625           registered etc.); do this later in init_post(). Fixes #343057.
5626
5627 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5628
5629         * gst/gst.c: (init_post):
5630           if we have fork, fork while reading/rebuilding the registry
5631           so the parent doesn't take the hit of having all plugins loaded
5632           in memory.  Fixes #342777.
5633         * configure.ac:
5634           Check if we have fork()
5635         * win32/common/config.h.in:
5636           no fork() on win32
5637
5638 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
5639
5640         * plugins/elements/gstelements.c:
5641         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
5642         (gst_file_src_init), (gst_file_src_set_property),
5643         (gst_file_src_get_property), (gst_file_src_start):
5644         * plugins/elements/gstfilesrc.h:
5645           API: GstFileSrc::use-mmap
5646
5647         Add a use-mmap property to enable easier testing of all code paths.
5648         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
5649         in the absence of gnomevfssrc. (Closes #340501)
5650
5651 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5652
5653         * tools/gst-inspect.c:
5654         Add missing include, removes warning of ngettext not being defined on
5655         some arches.
5656
5657 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
5658
5659         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5660         Handle NULL input and output pointers silently as a failed conversion,
5661         rather than g_warnings.
5662
5663 2006-05-25  Wim Taymans  <wim@fluendo.com>
5664
5665         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
5666         Initialize variable before using. Fixes #342820.
5667
5668 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
5669
5670         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
5671           Fix off-by-one bug that would only allow peeks of N-1 bytes
5672           from the start even if the buffer to typefind on contains
5673           in fact N bytes of data (makes vorbis typefinding from a
5674           vorbis identification header buffer work).
5675
5676         * tests/check/Makefile.am:
5677         * tests/check/libs/.cvsignore:
5678         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
5679         (gst_typefindhelper_suite), (main), (foobar_typefind),
5680         (plugin_init):
5681           Add very basic unit test for gst_type_find_helper_for_buffer()
5682           that checks for the problem fixed above.
5683
5684 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5685
5686         * tools/gst-inspect.c: (print_interfaces),
5687         (print_element_properties_info), (print_element_list), (main):
5688           add more translatable strings
5689
5690 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
5691
5692         Patch by: Julien Moutte  <julien at moutte net>
5693
5694         * docs/gst/gstreamer-sections.txt:
5695           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
5696           
5697         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
5698         (gst_fake_sink_preroll):
5699         * plugins/elements/gstfakesink.h:
5700           API: Add new GstFakeSink::preroll-handoff signal (#337100).
5701
5702 2006-05-23  Wim Taymans  <wim@fluendo.com>
5703
5704         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
5705         * gst/gstpad.h:
5706         Added _CUSTOM error and success GstFlowReturn that can be
5707         used be elements internally. 
5708         Added macro to check for SUCCESS flowreturns.
5709         API: GST_FLOW_CUSTOM_SUCCESS
5710         API: GST_FLOW_CUSTOM_ERROR
5711         API: GST_FLOW_IS_SUCCESS
5712
5713         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
5714         Added check for GstFlowReturn sanity.
5715
5716 2006-05-23  Wim Taymans  <wim@fluendo.com>
5717
5718         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
5719
5720         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
5721         (gst_collect_pads_event):
5722         clear/reset segment info in FLUSH_STOP.
5723         Fixes #336929.
5724
5725 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
5726
5727         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
5728         (gst_collect_pads_check_collected):
5729         Flush queued buffer on _stop(), fixes playing again (#342454)
5730
5731 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5732
5733         * tests/check/gst/gststructure.c: (GST_START_TEST),
5734         (gst_structure_suite):
5735           add a test for a complete structure
5736
5737 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
5738
5739         * docs/faq/developing.xml:
5740         * docs/faq/faq.xml:
5741         * docs/faq/troubleshooting.xml:
5742         * docs/faq/using.xml:
5743           Some minor FAQ updates that won't change the fact that
5744           our FAQ is badly structured, full of information hardly
5745           anyone new to GStreamer needs to know and lacking lots
5746           of information people constantly ask for.
5747           
5748 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
5749
5750         * gst/gstpad.c: (gst_pad_set_caps):
5751           Short-circuit gst_pad_set_caps if setting the existing
5752           caps pointer again, and avoid printing debug and 
5753           reffing/unreffing the caps.
5754
5755         * plugins/elements/gstqueue.c: (gst_queue_push_one):
5756           There's actually no need to set the caps before pushing -
5757           the acceptcaps method will handle it anyway.
5758
5759 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
5760
5761         * docs/gst/gstreamer-sections.txt:
5762         * win32/common/libgstreamer.def:
5763         * gst/gstutils.c: (gst_element_seek_simple):
5764         * gst/gstutils.h:
5765           API: add gst_element_seek_simple() (#342238).
5766
5767 2006-05-18  Edward Hervey  <edward@fluendo.com>
5768
5769         * gst/gsttypefind.c: (gst_type_find_get_type):
5770         * gst/gsttypefind.h:
5771         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
5772         registered for GstTypeFind pointers. This allows wrapping the structure
5773         in bindings (i.e. gst-python).
5774
5775 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
5776
5777         * gst/gsttagsetter.c:
5778           Docs additions and fixes (see #339918).
5779
5780 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
5781
5782         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
5783         The caps intersection algorithm can produce multiple copies of the
5784         caps. Until that is fixed, we need to simplify the result to be
5785         sure whether the allowed caps are fixed or not.
5786
5787         * plugins/elements/gstqueue.c: (gst_queue_init),
5788         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
5789         (gst_queue_push_one):
5790         Proxied buffer alloc should not set the caps on the source pad.
5791         When pushing buffers, we always accept the caps change that triggers.
5792         This prevents negotiation errors caused by caps changing mid-stream 
5793         and then being refused on our source pad (because upstream is now
5794         refusing those caps).
5795
5796 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
5797
5798         * tests/examples/helloworld/helloworld.c: (main):
5799           Must plug audioconvert and audioresample between decoder
5800           and audio sink.
5801
5802 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
5803
5804         * gst/gstregistryxml.c: (read_string), (load_pad_template),
5805         (load_feature), (load_plugin):
5806         Allow empty strings for some of the plugin fields so we don't 
5807         drop valid plugin entries that were written out correctly
5808         (Fixes #341479)
5809
5810 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
5811         
5812         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
5813           Use g_remove and g_rename instead of remove and rename that don't 
5814           handle utf8 characters. rename was failing for users who had specific
5815           characters in their name then the registry was built at each 
5816           gstreamer init.
5817         * win32/vs6/gst_inspect.dsp:
5818         * win32/vs6/gst_launch.dsp:
5819         * win32/vs6/libgstbase.dsp:
5820         * win32/vs6/libgstcoreelements.dsp:
5821         * win32/vs6/libgstreamer.dsp:
5822           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
5823           build of libgstreamer and clean unused libraries in projects link 
5824           settings.
5825
5826 2006-05-17  Edward Hervey  <edward@fluendo.com>
5827
5828         * plugins/elements/gstqueue.c: (gst_queue_push_one):
5829         The queue is not responsible for pushing an EOS when receiving a fatal
5830         flow error. It's up to the real element driving the pipeline to do that.
5831
5832 2006-05-16  Edward Hervey  <edward@fluendo.com>
5833
5834         * plugins/elements/gstqueue.c: (gst_queue_push_one):
5835         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
5836         buffer returned a fatal error. It should just send an EOS and stop
5837         its task.
5838         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
5839         when pushing buffers on the queue and will be able to handle the event.
5840
5841 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
5842
5843         * docs/manual/basics-bins.xml:
5844         * docs/manual/basics-init.xml:
5845           Fix typos and minor errors in sample code (#341856).
5846
5847 2006-05-16  Wim Taymans  <wim@fluendo.com>
5848
5849         * docs/design/part-qos.txt:
5850         Fix indexes in formulas to make more sense.
5851
5852 2006-05-15  Wim Taymans  <wim@fluendo.com>
5853
5854         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
5855         Don't report POSITION based on clock time if sync is
5856         disabled in a sink.
5857
5858 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
5859
5860         * gst/gstobject.h:
5861           Add cast to make compiler happy - refcount variable was a gint
5862           in GstObject but is a guint in GObject and g_atomic_int_get()
5863           wants a gint *.
5864
5865 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5866
5867         * gst/parse/Makefile.am:
5868           chain commands using &&, which also makes parallel make work
5869
5870 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
5871
5872         * docs/gst/gstreamer-sections.txt:
5873         * gst/gstevent.c:
5874         * gst/gstevent.h:
5875         * gst/gstmessage.h:
5876           Minor docs fixes.
5877
5878 === release 0.10.6 ===
5879
5880 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
5881
5882         * configure.ac:
5883           releasing 0.10.6, "Take the cannoli"
5884
5885 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
5886
5887         * tools/gst-launch.c: (print_tag):
5888           Fix use of uninitialized variable in the hypothetical
5889           case that some broken plugin creates a GST_TAG_IMAGE
5890           tag containing a NULL buffer (#341667).
5891
5892 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
5893
5894         * tools/gst-launch.c: (print_tag):
5895           Print something more intelligible for image tags when
5896           using the -t switch (#341556).
5897
5898 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5899
5900         * Makefile.am:
5901           updates for win32
5902         * configure.ac:
5903           define GST_MAJORMINOR so we have it available in win32/common/config.h
5904           Possibly remove it from our Makefile.am files later
5905         * win32/common/config.h:
5906         * win32/common/config.h.in:
5907           added GST_MAJORMINOR
5908         * win32/common/gstenumtypes.c: (register_gst_resource_error):
5909         * win32/common/gstversion.h:
5910           updated
5911
5912 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
5913
5914         * win32/MANIFEST:
5915           Update win32 files listing.
5916         * win32/common/gstversion.h:
5917           Add GST_MAJORMINOR definition.
5918         * win32/common/libgstreamer.def:
5919           Add new exported functions.
5920           
5921 2006-05-12  Michael Smith  <msmith@fluendo.com>
5922
5923         * gst/gstplugin.c: (gst_plugin_load_file):
5924           If an so file has no plugin entry point, unload the module.
5925
5926 2006-05-11  Wim Taymans  <wim@fluendo.com>
5927
5928         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
5929         (gst_queue_set_property):
5930         Don't forget to signal the _chain or _loop function 
5931         when the queue size or thresholds change since that might
5932         cause them to make progres again.
5933
5934 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
5935
5936         * gst/gstclock.c: (gst_clock_class_init):
5937         * gst/gstindex.c: (gst_index_class_init):
5938         * gst/gstobject.c: (gst_object_class_init):
5939         * gst/gstpad.c: (gst_pad_class_init):
5940         * gst/gstpipeline.c: (gst_pipeline_class_init):
5941         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
5942         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
5943         * libs/gst/base/gstbasetransform.c:
5944         (gst_base_transform_class_init):
5945         * libs/gst/net/gstnetclientclock.c:
5946         (gst_net_client_clock_class_init):
5947         * libs/gst/net/gstnettimeprovider.c:
5948         (gst_net_time_provider_class_init):
5949         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
5950         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
5951         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
5952         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
5953         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
5954         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
5955         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
5956         * plugins/elements/gstidentity.c: (gst_identity_class_init):
5957         * plugins/elements/gsttee.c: (gst_tee_class_init):
5958         * tests/old/examples/plugins/example.c: (gst_example_class_init):
5959         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
5960           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
5961
5962 2006-05-11  Wim Taymans  <wim@fluendo.com>
5963
5964         * gst/gstbuffer.c: (_gst_buffer_initialize):
5965         Register subbufer along with the buffer type so that
5966         it does not accidentally gets registered from N
5967         different streaming threads in a non threadsafe way.
5968
5969 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
5970
5971         * gst/gstbuffer.h:
5972         * gst/gstevent.h:
5973         * gst/gstmessage.h:
5974           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
5975           gst_event_ref() and gst_message_ref() functions again
5976           (ugly hack, please do fix if there's a better way besides
5977           overrides.txt, which doesn't seem to work).
5978
5979 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5980
5981         * libs/gst/check/gstcheck.h:
5982           add an assert for setting state to avoid lots of repetitive code
5983           in the future
5984
5985 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5986
5987         * gst/gstvalue.c: (gst_value_serialize_flags):
5988           fix a leak if no flags are set
5989         * tests/check/gst/gstvalue.c: (GST_START_TEST):
5990           fix leak in tests
5991
5992 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
5993
5994         * docs/manual/basics-pads.xml:
5995           Expand a bit on caps and filtered links and update
5996           examples that were still using the no longer existing
5997           gst_pad_link_filtered() (#338206).
5998
5999 2006-05-10  Wim Taymans  <wim@fluendo.com>
6000
6001         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
6002         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
6003         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
6004         (gst_collect_pads_stop):
6005         * libs/gst/base/gstcollectpads.h:
6006         No need to call _stop in _finalize.
6007         Iterate the main pad list in _finalize.
6008         Added some more debug.
6009         Free lists and data in the right order.
6010         Also free data whem doing _remove_pad when stopped for
6011         backward compatibility protect ::started with PAD_LOCK as
6012         well.
6013
6014 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6015
6016         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
6017         (gst_structure_parse_value):
6018           add some comments
6019           rename a method so that it actually says what it does better
6020
6021 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6022
6023         * gst/gstevent.c: (_gst_event_initialize):
6024         * gst/gstformat.c: (_gst_format_initialize):
6025           make sure some essential types used by events are registered
6026           as part of gst_init()
6027         * gst/gstvalue.c: (gst_value_serialize_flags):
6028           if no flags are set, serialize them to a value that represents NONE
6029           so that deserializing them works
6030         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6031           add tests for serialization and deserialization of flags
6032
6033 2006-05-10  Wim Taymans  <wim@fluendo.com>
6034
6035         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
6036         (gst_collect_pads_collect_range), (gst_collect_pads_available),
6037         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
6038         (gst_collect_pads_event), (gst_collect_pads_chain):
6039         Update docs.
6040         Better debug info.
6041         Catch and return errors from the collect function
6042         Refuse data on eos pads.
6043
6044 2006-05-10  Edward Hervey  <edward@fluendo.com>
6045
6046         * gst/gstinterface.h:
6047         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
6048         GInterface type checking.
6049         They were previously using non-defined macros.
6050
6051 2006-05-09  Wim Taymans  <wim@fluendo.com>
6052
6053         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
6054         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
6055         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
6056         (gst_collect_pads_start), (gst_collect_pads_stop),
6057         (gst_collect_pads_peek), (gst_collect_pads_pop),
6058         (gst_collect_pads_available), (gst_collect_pads_read),
6059         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
6060         (gst_collect_pads_is_collected), (gst_collect_pads_event),
6061         (gst_collect_pads_chain):
6062         * libs/gst/base/gstcollectpads.h:
6063         Clean up the mess that is collectpads, add comments and
6064         FIXMEs where needed.
6065         Maintain a separate pad list so we can add pads while
6066         collecting the other ones. For this we need a new separate 
6067         lock (see comics).
6068         Fix memory leak in finalize.
6069         Refactor some weird code to set/unset pad flushing flags, mark
6070         with comments.
6071         Don't crash in _available, _read, _flush when we're EOS.
6072
6073         * tests/check/libs/.cvsignore:
6074         Ignore adapter check binary.
6075
6076 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
6077
6078         * gst/gstindex.c: (gst_index_resolver_get_type):
6079         * plugins/elements/gstfakesink.c:
6080         (gst_fake_sink_state_error_get_type):
6081         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
6082         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
6083         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
6084           Const-ify GEnumValue arrays.
6085
6086 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
6087
6088         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
6089           Add test case for flags + gst_buffer_make_metadata_writable().
6090
6091 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
6092
6093         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
6094           gst_buffer_make_metadata_writable() should maintain the
6095           buffer flags (those that make sense at least) (see #340859).
6096
6097 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
6098
6099         * tools/gst-inspect.c:
6100         * tools/gst-launch.c:
6101         * tools/gst-typefind.c:
6102         * tools/gst-xmlinspect.c:
6103         * tools/tools.h:
6104           Fix up includes: need to include stdlib.h in tools.h for exit().
6105
6106 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
6107
6108         * gst/gsttaglist.c: (_gst_tag_initialize):
6109         * gst/gsttaglist.h:
6110           API: add GST_TAG_IMAGE tag (#340721).
6111
6112 2006-05-08  Wim Taymans  <wim@fluendo.com>
6113
6114         * gst/gstquery.c:
6115         Added some docs for the segment query.
6116
6117 2006-05-08  Wim Taymans  <wim@fluendo.com>
6118
6119         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
6120         (gst_base_src_loop), (gst_base_src_change_state):
6121         Always push non-flushing serialized events in the streaming 
6122         thread.
6123
6124 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6125
6126         * gst/gsterror.c: (_gst_stream_errors_init):
6127           Add a missing error string.
6128
6129 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
6130
6131         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
6132         Add applied_rate to the debug
6133
6134         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
6135         Copy applied_rate into the outgoing NEWSEGMENT event
6136
6137 2006-05-08  Wim Taymans  <wim@fluendo.com>
6138
6139         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
6140
6141         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
6142         (gst_base_sink_change_state):
6143         call ::unlock before taking the PREROLL_LOCK so we can safely
6144         handle elements that lock in ::render.
6145         Fixes #340174.
6146
6147 2006-05-08  Edward Hervey  <edward@fluendo.com>
6148
6149         * autogen.sh: (CONFIGURE_DEF_OPT): 
6150         Darwin's libtoolize is in fact called glibtoolize.
6151         Adding glibtoolize to the list of accepted names for libtoolize.
6152
6153 2006-05-08  Wim Taymans  <wim@fluendo.com>
6154
6155         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
6156         Unify error handling, don't post an error message
6157         when a push() returns EOS but perform our normal EOS
6158         handling code. Fixes #340772.
6159
6160 2006-05-08  Wim Taymans  <wim@fluendo.com>
6161
6162         * docs/design/part-overview.txt:
6163         Make upsteam/downstream concepts more clear.
6164         Give an example of serialized/non-serialized events.
6165
6166         * docs/design/part-events.txt:
6167         * docs/design/part-streams.txt:
6168         Mention applied_rate.
6169
6170         * docs/design/part-trickmodes.txt:
6171         Mention applied rate, flesh out some more use cases.
6172
6173         * gst/gstevent.c: (gst_event_new_new_segment),
6174         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
6175         (gst_event_parse_new_segment_full), (gst_event_new_tag),
6176         (gst_event_parse_tag), (gst_event_new_buffer_size),
6177         (gst_event_parse_buffer_size), (gst_event_new_qos),
6178         (gst_event_parse_qos), (gst_event_parse_seek),
6179         (gst_event_new_navigation):
6180         * gst/gstevent.h:
6181         Add applied_rate field to NEWSEGMENT event.
6182         API: gst_event_new_new_segment_full()
6183         API: gst_event_parse_new_segment_full()
6184
6185         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
6186         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
6187         (gst_segment_to_stream_time), (gst_segment_to_running_time):
6188         * gst/gstsegment.h:
6189         Add applied_rate to GstSegment structure.
6190         Make calculation of stream_time and running_time more correct
6191         wrt rate/applied_rate.
6192         Add some more docs.
6193         API: GstSegment::applied_rate field
6194         API: gst_segment_set_newsegment_full();
6195
6196         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
6197         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
6198         * libs/gst/base/gstbasetransform.c:
6199         (gst_base_transform_sink_eventfunc),
6200         (gst_base_transform_handle_buffer):
6201         Parse and use applied_rate in the GstSegment field.
6202
6203         * tests/check/gst/gstevent.c: (GST_START_TEST):
6204         Add check for applied_rate field.
6205
6206         * tests/check/gst/gstsegment.c: (GST_START_TEST),
6207         (gstsegments_suite):
6208         Add more checks for various GstSegment operations.
6209
6210 2006-05-08  Wim Taymans  <wim@fluendo.com>
6211
6212         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
6213         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
6214         (gst_base_sink_get_position), (gst_base_sink_change_state):
6215         Store the sync time of the buffer end position separatly in a
6216         new variable eos_rtime so we can properly sync the EOS event.
6217         Fixes #340697.
6218         Fix the docs for gst_base_sink_set_qos_enabled().
6219         Don't set segment start to invalid value when we receive a 
6220         non TIME newsegment.
6221         get closer to handling position reporting for negative rates 
6222         correctly.
6223
6224 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
6225
6226         * gst/gstcaps.c:
6227         Docs about how to print caps for debug purposes.
6228
6229         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
6230         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
6231
6232 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
6233
6234         * gst/gstelement.c:
6235           use full enum names and preprend a '%' in docs strings to make recent 
6236           gtk-doc turn that into a link
6237
6238 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6239
6240         * docs/manual/basics-bins.xml:
6241         * docs/manual/basics-bus.xml:
6242         * docs/manual/basics-pads.xml:
6243           Some typo fixes, some additions, some clarifications. 
6244
6245 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6246
6247         * tools/gst-inspect.c: (main):
6248         * tools/gst-launch.c: (main):
6249         * tools/gst-run.c: (main):
6250         * tools/gst-typefind.c: (main):
6251         * tools/gst-xmlinspect.c: (main):
6252           Use the string passed to g_option_context_new() for
6253           what it's intended for - the program name is already
6254           printed elsewhere.
6255
6256 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6257
6258         * tools/Makefile.am:
6259         * tools/gst-inspect.c: (main):
6260         * tools/gst-launch.c: (main):
6261         * tools/gst-xmlinspect.c: (main):
6262         * tools/tools.h:
6263           Add back --version command line option (#340460).
6264
6265         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
6266           Add --version option and use GOption for argument parsing; refactor a
6267           bit; accept directories as arguments and recurse into them; lastly,
6268           print a decent error message when things go wrong.
6269
6270 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
6271
6272         * docs/manual/basics-bins.xml:
6273         Don't mention GstThread (#340611)
6274         * docs/manual/basics-elements.xml:
6275         Update link to GObject tutorial (#340607)
6276         
6277 2006-05-05  Wim Taymans  <wim@fluendo.com>
6278
6279         * gst/gstbuffer.h:
6280         * gst/gstminiobject.c:
6281         Add note about refcounting and miniobject/buffer writeability
6282         to docs. Fixes #340604
6283
6284         * gst/gstelementfactory.h:
6285         Added some explanation about @klass.
6286
6287 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
6288
6289         * docs/manual/intro-motivation.xml:
6290         * docs/manual/manual.xml:
6291         Avoid CORBA & Bonobo references (#340598)
6292
6293 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
6294
6295         * docs/manual/basics-bus.xml:
6296         * docs/manual/basics-pads.xml:
6297         Fix up some inaccuracies and omissions (#340609)
6298         
6299 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
6300
6301         * gst/gstghostpad.c:
6302           Small typo in docs (#340625)
6303
6304 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6305
6306         * gst/parse/Makefile.am:
6307           Make 'make -j' proof (see #340698).
6308
6309 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6310
6311         * configure.ac:
6312           Require GLib-2.8 here as well.
6313
6314 2006-05-05  Wim Taymans  <wim@fluendo.com>
6315
6316         * gst/glib-compat.c:
6317         * gst/gst.c: (init_pre):
6318         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
6319         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
6320         (gst_object_dispatch_properties_changed):
6321         * gst/gstobject.h:
6322         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
6323         * gst/gststructure.c: (gst_structure_set_valist):
6324         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
6325         Remove pre glib2.8 compatibility, fixes #340508
6326
6327 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
6328
6329         * gst/gsttaglist.h:
6330           Mention type of tags in doc blurbs.
6331
6332 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
6333
6334         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
6335         (gst_pad_configure_src), (gst_pad_push):
6336         Restore acceptcaps checking behaviour now that good plugins have
6337         been released.
6338
6339 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
6340
6341         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
6342
6343         * gst/gst.c:
6344         * gst/gstbus.c:
6345         * gst/gstclock.c:
6346         * gst/gstevent.c:
6347         * gst/gstformat.c:
6348         * gst/gstmessage.c:
6349         * gst/gstparse.c:
6350         * gst/gstquery.c:
6351         * gst/gstutils.c:
6352         * gst/parse/Makefile.am:
6353         * libs/gst/base/gstadapter.c:
6354         * libs/gst/base/gstbasesrc.c:
6355         * libs/gst/base/gstpushsrc.c:
6356         * libs/gst/base/gsttypefindhelper.c:
6357         * plugins/elements/gstfakesrc.c:
6358         * plugins/elements/gstidentity.c:
6359           Make sure gstprivate.h and/or config.h are
6360           always included first, otherwise some of our
6361           defines (like _FILE_OFFSET_BITS) might be
6362           redefined in the system headers. Fixes build
6363           on opensolaris (#340016).
6364
6365 2006-05-04  Wim Taymans  <wim@fluendo.com>
6366
6367         * docs/libs/gstreamer-libs-sections.txt:
6368         API: addition: gst_adapter_take_buffer()
6369         
6370         * libs/gst/base/gstadapter.c: (gst_adapter_push),
6371         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
6372         (gst_adapter_available_fast):
6373         * libs/gst/base/gstadapter.h:
6374         Prepare for optimizing the hell out of this hugely inefficient
6375         piece of code. 
6376         Added gst_adapter_take_buffer() so we can at least start thinking
6377         about subbuffering and merging.
6378         Added some comments.
6379
6380         * tests/check/Makefile.am:
6381         * tests/check/libs/adapter.c: (GST_START_TEST),
6382         (gst_adapter_suite), (main):
6383         Added GstAdapter check.
6384
6385 2006-05-04  Wim Taymans  <wim@fluendo.com>
6386
6387         * docs/design/part-overview.txt:
6388         Fix some typos, add blurb about buffer flags.
6389
6390 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6391
6392         * docs/libs/gstreamer-libs-sections.txt:
6393           make sure GstBaseTransformClass shows up in the docs
6394         * libs/gst/base/gstbasetransform.c:
6395         * libs/gst/base/gstbasetransform.h:
6396           move docs so gtk-doc picks it up now
6397
6398 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
6399
6400         * docs/libs/gstreamer-libs-sections.txt:
6401           add missing symbols to docs
6402
6403 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
6404
6405         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
6406           back out the newsegment handling change, see #340060 for ongoing
6407           discussion
6408
6409 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
6410
6411         * tools/gst-run.c: (get_candidates), (main):
6412           Fix wrong g_file_test() usage (see glib docs for why it doesn't
6413           work); fix typo in error message. Fixes #340079.
6414
6415 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6416
6417         * common/Makefile.am:
6418         * docs/Makefile.am:
6419         * docs/faq/Makefile.am:
6420         * docs/gst/Makefile.am:
6421         * docs/libs/Makefile.am:
6422         * docs/manual/Makefile.am:
6423         * docs/plugins/Makefile.am:
6424         * docs/pwg/Makefile.am:
6425         * docs/slides/Makefile.am:
6426         * docs/upload.mak:
6427         * common/upload.mak:
6428           move upload.mak to common
6429
6430 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6431
6432         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
6433           add more asserts on refcounts
6434           do more cleanup at end of tests
6435           fix test leaks showing in FC5
6436
6437 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
6438
6439         * plugins/elements/gsttypefindelement.c:
6440         (gst_type_find_element_handle_event):
6441         reverted wrong change and reflowed code to avoid others falling into
6442         this trap
6443
6444 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6445
6446         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
6447           fix changelog entry about last collectpads change,
6448           add notes about proper fix
6449
6450 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6451
6452         * gst/gst.c:
6453         * gst/gstregistry.c: (gst_registry_scan_path_level),
6454         (gst_registry_scan_path):
6455         * gst/gstregistry.h:
6456           only write out registry if it has changed, fixes #338339
6457
6458 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6459
6460         * gst/gstbin.c:
6461         * gst/gstpipeline.c:
6462         * plugins/elements/gstcapsfilter.c:
6463         * plugins/elements/gstfakesink.c:
6464         * plugins/elements/gstfakesrc.c:
6465         * plugins/elements/gstfdsink.c:
6466         * plugins/elements/gstfdsrc.c:
6467         * plugins/elements/gstfilesink.c:
6468         * plugins/elements/gstfilesrc.c:
6469         * plugins/elements/gstidentity.c:
6470         * plugins/elements/gstqueue.c:
6471         * plugins/elements/gsttee.c:
6472         * plugins/elements/gsttypefindelement.c:
6473         (gst_type_find_element_handle_event):
6474           make GstElementDetails const
6475
6476 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6477
6478         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
6479         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
6480         (gst_collect_pads_is_collected), (gst_collect_pads_event):
6481           more detailed debug and formatting cleanup,
6482           forward newsegments to src-pad (so that e.g. adder not eats them)
6483
6484 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6485
6486         * gst/gstutils.c: (gst_element_link_pads):
6487           cleanup double code
6488
6489 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6490
6491         * libs/gst/controller/gstcontroller.c:
6492         (gst_controller_sync_values):
6493           some little tuning
6494         * tests/check/libs/controller.c: (GST_START_TEST),
6495         (gst_controller_suite):
6496           a new test for live value handling
6497
6498 2006-04-28  Wim Taymans  <wim@fluendo.com>
6499
6500         * gst/gstutils.c: (push_and_ref):
6501         Added some more docs.
6502         Fix refcount issue whith gst_element_found_tags() helper 
6503         function. Fixes #338335
6504
6505         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6506         Added testsuite for gst_element_found_tags().
6507
6508 2006-04-28  Michael Smith  <msmith@fluendo.com>
6509
6510         * gst/gstvalue.c: (gst_value_serialize_flags):
6511           Avoid NULL dereference when trying to serialize flags containing
6512           invalid values.
6513
6514 2006-04-28  Michael Smith  <msmith@fluendo.com>
6515
6516         * plugins/elements/gsttypefindelement.c:
6517         (gst_type_find_element_handle_event):
6518           If we get EOS before any data is accumulated, don't use
6519           uninitialised local variables.
6520
6521 2006-04-28  Michael Smith  <msmith@fluendo.com>
6522
6523         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
6524         (gst_dp_event_from_packet):
6525           Fixes in reading/writing events over GDP (not currently used?) - 
6526           dereferencing NULL events for unknown/invalid event types, memory
6527           leak, and change g_warning to GST_WARNING.
6528
6529 2006-04-28  Wim Taymans  <wim@fluendo.com>
6530
6531         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
6532         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
6533         (gst_base_sink_get_position), (gst_base_sink_change_state):
6534         When frame dropping is enabled, we should not ignore frames
6535         without a duration.
6536         Update some documentation.
6537
6538 2006-04-28  Wim Taymans  <wim@fluendo.com>
6539
6540         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
6541         (gst_base_src_send_event), (gst_base_src_change_state):
6542         Documentation updates.
6543
6544 2006-04-28  Wim Taymans  <wim@fluendo.com>
6545
6546         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
6547         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
6548         handle EAGAIN, EINTR and short writes correctly. Also clean
6549         up some error cases, avoid a deadlock on bad file descriptors and
6550         use GST_DEBUG_OBJECT.
6551         Fixes #339843
6552
6553 2006-04-28  Wim Taymans  <wim@fluendo.com>
6554
6555         * gst/gstvalue.c: (gst_value_serialize_buffer),
6556         (gst_value_deserialize_buffer):
6557         Don't try to serialize a GValue with a NULL buffer. 
6558         Fixes #339821.
6559
6560         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6561         Added check for serialisation of NULL buffers.
6562
6563 2006-04-28  Wim Taymans  <wim@fluendo.com>
6564
6565         * gst/gstminiobject.c: (gst_value_take_mini_object):
6566         Taking a NULL miniobject is valid, fix the case where
6567         we try to unref the NULL miniobject.
6568
6569 2006-04-28  Wim Taymans  <wim@fluendo.com>
6570
6571         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
6572
6573         * gst/gstbin.c: (gst_bin_handle_message_func):
6574         Update docs.
6575         Don't leak bin refcount when a state recalc is
6576         in progress and we delay another one #339808.
6577
6578 2006-04-28  Wim Taymans  <wim@fluendo.com>
6579
6580         * docs/design/part-TODO.txt:
6581         Mention QoS as an ongoing work item.
6582
6583         * docs/design/part-buffering.txt:
6584         New doc about buffering that needs to be fleshed out
6585         at some point.
6586
6587         * docs/design/part-qos.txt:
6588         More QoS policy for decoders/demuxers/transforms
6589
6590         * docs/design/part-trickmodes.txt:
6591         Small update.
6592
6593 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6594
6595         * configure.ac:
6596           back to HEAD
6597
6598 === release 0.10.5 ===
6599
6600 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
6601
6602         * configure.ac:
6603           releasing 0.10.5, "Fogo"
6604
6605 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6606
6607         patch by: Wim Taymans
6608
6609         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
6610         (gst_pad_configure_src), (gst_pad_push):
6611         * gst/gstpipeline.c: (gst_pipeline_init):
6612           Fix internal data flow errors.  Fixes #338711.
6613
6614 2006-04-12  Wim Taymans  <wim@fluendo.com>
6615
6616         * tests/check/gst/gstelement.c: (GST_START_TEST):
6617         Don't leak the factory.
6618
6619 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6620
6621         * configure.ac:
6622         * win32/common/config.h:
6623           prerelease
6624
6625 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
6626
6627         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
6628         (gst_controller_unset_all):
6629           Free allocated GstTimedValues when freeing list nodes.
6630           Should fix leaks 'make check-valgrind' complains about.
6631
6632         * win32/common/libgstcontroller.def:
6633           Add gst_controller_unset_all.
6634
6635 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
6636
6637         * docs/libs/gstreamer-libs-sections.txt:
6638         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
6639         (gst_controller_unset_all):
6640         * libs/gst/controller/gstcontroller.h:
6641         API: Added new method gst_controller_unset_all()
6642         fixed gst_controller_unset()
6643         * tests/check/libs/controller.c: (GST_START_TEST),
6644         (gst_controller_suite):
6645         Added two testcases for new and fixed method
6646
6647 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
6648
6649         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
6650           MSG_DONTWAIT is not defined on Cygwin, so work
6651           around that (fixes #317048).
6652           
6653 2006-04-11  Wim Taymans  <wim@fluendo.com>
6654
6655         * gst/gstelementfactory.c: (gst_element_register),
6656         (gst_element_factory_create), (gst_element_factory_make):
6657         Some cleanups.
6658         Fixed a FIXME.
6659         Updated docs (Fixes #131079)
6660
6661         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
6662         Small cleanups.
6663
6664         * tests/check/gst/gstelement.c: (GST_START_TEST),
6665         (gst_element_suite):
6666         Added testcase for elementfactory class field.
6667
6668 2006-04-10  Wim Taymans  <wim@fluendo.com>
6669
6670         * gst/gstsegment.c:
6671         Added some more docs.
6672
6673         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
6674         (gst_base_sink_reset_qos):
6675         Calculate more accurate rate values.
6676
6677 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
6678
6679         * gst/gst_private.h:
6680           add a new #ifdef to use __declspec(dllimport) only for
6681           other modules and not for gstreamer core
6682         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
6683           use gst_guint64_to_gdouble for conversion
6684         * win32/common/libgstreamer.def:
6685           add new exported functions
6686         * win32/vs6/gst_inspect.dsp:
6687         * win32/vs6/gst_launch.dsp:
6688         * win32/vs6/libgstbase.dsp:
6689         * win32/vs6/libgstcontroller.dsp:
6690         * win32/vs6/libgstcoreelements.dsp:
6691         * win32/vs6/libgstdataprotocol.dsp:
6692         * win32/vs6/libgstnet.dsp:
6693           update project files
6694
6695 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
6696
6697         * gst/gstbuffer.c: (gst_subbuffer_class_init):
6698         * gst/gstclock.c: (gst_clock_class_init):
6699         * gst/gstelement.c: (gst_element_class_init):
6700         * gst/gstindex.c: (gst_index_class_init):
6701         * gst/gstindexfactory.c: (gst_index_factory_class_init):
6702         * gst/gstobject.c: (gst_object_class_init),
6703         (gst_signal_object_class_init):
6704         * gst/gstpad.c: (gst_pad_class_init):
6705         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
6706         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
6707         * gst/gstregistry.c: (gst_registry_class_init):
6708         * gst/gstsystemclock.c: (gst_system_clock_class_init):
6709         * gst/gsttask.c: (gst_task_class_init):
6710         * gst/gstxml.c: (gst_xml_class_init):
6711         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
6712         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6713         (gst_base_src_loop):
6714         * libs/gst/controller/gstcontroller.c:/
6715         (_gst_controller_class_init):
6716         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
6717         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
6718         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
6719         * tests/old/examples/plugins/example.c: (gst_example_class_init):
6720         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
6721         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
6722
6723 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
6724
6725         * gst/gstpad.c: (gst_pad_link):
6726           Must set peer pads before calling the link function, otherwise
6727           a task started from a link function might get a flow-not-linked
6728           result when trying to push because the other thread where the
6729           linking happens hasn't had a chance to set the peers yet. This
6730           might happen for example when a queue gets linked to a downstream
6731           element, as queue starts a streaming task when its source pad
6732           gets linked. Happens in real life when playing back flac/musepack
6733           files in playbin (#332390).
6734           
6735 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
6736
6737         * gst/gstindex.h:
6738         * gst/gstxml.h:
6739         * libs/gst/base/gstadapter.h:
6740         * libs/gst/base/gstbasesink.h:
6741         * libs/gst/base/gstbasesrc.h:
6742         * libs/gst/base/gstbasetransform.h:
6743         * libs/gst/base/gstcollectpads.h:
6744         * libs/gst/base/gstpushsrc.h:
6745         Fix broken GObject macros
6746
6747 2006-04-07  Wim Taymans  <wim@fluendo.com>
6748
6749         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
6750         Initialize start and stop times, thanks valgrind.
6751
6752 2006-04-07  Wim Taymans  <wim@fluendo.com>
6753
6754         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
6755         Be a bit nicer to badly behaving upstream elements that expect
6756         us to deal with non TIME segments and timestamps (such as fakesrc
6757         in the testsuite).
6758
6759 2006-04-07  Wim Taymans  <wim@fluendo.com>
6760
6761         * gst/gstbus.c:
6762         Small documentation clarification about the signal watch.
6763
6764         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
6765         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
6766         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
6767         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
6768         (gst_base_sink_get_position_last),
6769         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
6770         Convert and store timestamps in stream time and running time, the
6771         raw timestamps are not useful, also document this better.
6772         Use different window sizes for good and bad QoS observations so
6773         we react to badness a little quicker.
6774         Keep track of the amount of rendered and dropped buffers.
6775         Send QoS timestamps in running time.
6776
6777         * libs/gst/base/gstbasetransform.c:
6778         (gst_base_transform_sink_eventfunc),
6779         (gst_base_transform_handle_buffer):
6780         Compare QoS timestamps against running time.
6781
6782 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
6783
6784         * gst/gstpad.c:
6785           Typo fixes in docs.
6786
6787 2006-04-06  Michael Smith  <msmith@fluendo.com>
6788
6789         * gst/gstpad.c: (gst_pad_set_property):
6790           Use g_value_get_object() instead of g_value_dup_gst_object(),
6791           to avoid double-reffing the pad template (which we then sink,
6792           so this worked previously if (and only if) the pad template
6793           was floating.
6794
6795         * gst/gstpadtemplate.c: (gst_pad_template_init),
6796         (gst_pad_template_pad_created):
6797           Never return floating references to pad templates, create
6798           them as initially-sunken.
6799
6800           Document an extra function (and make this stop sinking our
6801           pad template, since that is now guaranteed to do nothing,
6802           since we created it sunken).
6803
6804         * gst/gstghostpad.c:
6805           Fix docs typo.
6806
6807 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
6808
6809         * gst/gstinfo.c: (__gst_in_valgrind):
6810           Add some newlines.
6811
6812         * plugins/elements/gsttypefindelement.c:
6813         (gst_type_find_element_chain):
6814           Don't leak buffer caps.
6815
6816 2006-04-06  Michael Smith  <msmith@fluendo.com>
6817
6818         * gst/parse/grammar.y:
6819           Fix a leak in parse-launch for any source-or-sink named element 
6820           references used.
6821
6822         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
6823           Unref the pipeline if it exists after we've failed parsing.
6824
6825 2006-04-05  Michael Smith  <msmith@fluendo.com>
6826
6827         * gst/gstpipeline.c: (gst_pipeline_init):
6828           When we create a pipeline bus, initially create it in flushing mode.
6829           Fixes leaks in at least one test, and makes a new pipeline work the
6830           same as one that has gone to READY and then back to NULL.
6831
6832         * gst/gstelement.c:
6833           Typo fix in docs.
6834
6835 2006-04-05  Michael Smith  <msmith@fluendo.com>
6836
6837         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
6838           Unref a pad we reffed.
6839         * tests/check/gst/gstutils.c: (GST_START_TEST):
6840           Unref bins
6841
6842 2006-04-05  Michael Smith  <msmith@fluendo.com>
6843
6844         * gst/gstquery.c: (gst_query_set_formats),
6845         (gst_query_set_formatsv):
6846           Fix leaking GValues in queries, as shown by valgrind/testsuite.
6847
6848 2006-04-05  Michael Smith  <msmith@fluendo.com>
6849
6850         * tests/check/generic/sinks.c: (GST_START_TEST):
6851           Fix a variety of memleaks in sinks check, which are only sometimes 
6852           shown by running the tests under valgrind (weird?).
6853
6854 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
6855
6856         * docs/version.entities.in:
6857           Fix the substituted entity name after thomas' changes on the
6858           weekend.
6859
6860 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6861
6862         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
6863         VALGRIND_PRINTF
6864         
6865 2006-04-05  Andy Wingo  <wingo@pobox.com>
6866
6867         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
6868
6869         * libs/gst/base/gstbasetransform.c
6870         (gst_base_transform_sink_eventfunc): When resetting our segment on
6871         FLUSH_STOP, also update the flag saying we haven't seen a
6872         newsegment.
6873
6874 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
6875
6876         Patch by: Paolo Borelli  <pborelli at katamail dot com>
6877
6878         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
6879         (gst_plugin_check_license):
6880           minor clean-ups: G_DEFINE_TYPE already takes care of the
6881           parent_class stuff, no need to do it twice. Mark array of
6882           license strings as constant. (#337103)
6883           
6884 2006-04-04  Michael Smith  <msmith@fluendo.com>
6885
6886         * tools/gst-inspect.c: (print_element_list):
6887           Free the right plugin list; fixes a memory leak.
6888
6889 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
6890
6891         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
6892
6893         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
6894           Don't error out on empty buffers (#336945).
6895           
6896 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
6897
6898         * docs/libs/gstreamer-libs-sections.txt:
6899         * gst/gsttaglist.c:
6900         * libs/gst/base/gstbasesink.c:
6901         * libs/gst/base/gstbasesink.h:
6902         * libs/gst/base/gstbasesrc.c:
6903         * libs/gst/base/gstbasesrc.h:
6904           Documentation updates. Make BaseSink and BaseSrc docs contain the
6905           class structure so that people can actually see the prototypes for
6906           virtual functions they're supposed to be overriding.
6907
6908 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
6909
6910         * plugins/elements/gsttypefindelement.c:
6911         (gst_type_find_element_chain):
6912           More debug info; when skipping typefinding, send cached
6913           events in all cases.
6914
6915 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
6916
6917         * configure.ac:
6918           use new AS_VERSION and AS_NANO macros
6919         * gst/gst-i18n-lib.h:
6920         * gst/gst.c:
6921         * gst/gsterror.c:
6922         * gst/gstversion.h.in:
6923         * win32/common/config.h:
6924         * win32/common/config.h.in:
6925           update accordingly
6926
6927 2006-03-31  Michael Smith  <msmith@fluendo.com>
6928
6929         * plugins/elements/gsttypefindelement.c:
6930         (gst_type_find_element_chain):
6931           Do not typefind content if the buffers already have caps.
6932           Neccesary for icydemux (#333657), and the right thing to do anyway.
6933
6934 2006-03-30  Wim Taymans  <wim@fluendo.com>
6935
6936         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
6937         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
6938         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
6939         (gst_base_sink_record_qos_observation),
6940         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
6941         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
6942         (gst_base_sink_change_state):
6943         More QoS measurements as described in the design doc.
6944         Get rid of ringbuffer with observations, running average is
6945         more simple and equally good.
6946         Calculates valid proportion now.
6947         Added beginning of flood measurement.
6948
6949 2006-03-29  Wim Taymans  <wim@fluendo.com>
6950
6951         * docs/design/part-qos.txt:
6952         * gst/gstclock.c:
6953         Small documentation updates and additions.
6954
6955 2006-03-29  Wim Taymans  <wim@fluendo.com>
6956
6957         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
6958         (gst_base_src_send_event), (gst_base_src_loop),
6959         (gst_base_src_change_state):
6960         Perform the EOS logic when we reach the segment stop position.
6961         Fix compilation on gcc4.1
6962
6963 2006-03-29  Wim Taymans  <wim@fluendo.com>
6964
6965         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
6966
6967         * plugins/elements/gstqueue.c: (gst_queue_init),
6968         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
6969         (gst_queue_set_property):
6970         * plugins/elements/gstqueue.h:
6971         In queue, when EOS is received, if minimum threshold > max_size -
6972         current_level, there is chance that queue blocks forever in conditional
6973         item del wait. This is because the queue is not emptied completely due
6974         to minimum threshold.  Here is another approach. Instead of setting
6975         cur_levels to max in EOS, just zero all minimum threshold levels. This
6976         should make sure that queue gives out all data. When going to READY
6977         (stop) state, just reset the original minimum threshold levels.
6978         Fixes #336336.
6979
6980 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
6981
6982         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
6983         (gst_type_find_element_handle_event),
6984         (gst_type_find_element_send_cached_events),
6985         (gst_type_find_element_change_state):
6986         * plugins/elements/gsttypefindelement.h:
6987           When typefinding is done in push mode, we should cache
6988           events we receive during typefinding instead of just
6989           dropping them (e.g. newsegment, custom events from
6990           dvdreadsrc etc.) and then send them out once we've
6991           determined the type of the stream (and decodebin
6992           has had a chance to plug in a decoder/demuxer).
6993           
6994 2006-03-27  Wim Taymans  <wim@fluendo.com>
6995
6996         * docs/design/part-qos.txt:
6997         First QoS ideas.
6998
6999 2006-03-27  Wim Taymans  <wim@fluendo.com>
7000
7001         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
7002
7003         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
7004         (gst_base_src_send_event), (gst_base_src_change_state):
7005         Handle element seek correctly when we are streaming.
7006         Fixes #326998.
7007
7008 2006-03-24  Michael Smith  <msmith@fluendo.com>
7009
7010         * docs/faq/gst-uninstalled:
7011           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
7012           allow you to correctly run intalled applications built against old 
7013           core, using plugins that require updated core (e.g. running
7014           installed totem against a full uninstalled gstreamer stack)
7015
7016 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
7017
7018         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
7019         more debug details
7020
7021 2006-03-24  Wim Taymans  <wim@fluendo.com>
7022
7023         * docs/gst/gstreamer-sections.txt:
7024         Rearrange the order of the methods so that related methods
7025         are grouped together in sections.
7026
7027 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
7028
7029         * gst/gstelement.c:
7030           Little clarification in the docs
7031
7032 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
7033
7034         * docs/README:
7035         formatting fix
7036         * plugins/elements/gstidentity.c:
7037         * plugins/elements/gstqueue.c:
7038         * plugins/elements/gsttee.c:
7039         * plugins/elements/gsttypefindelement.c:
7040         GST_ELEMENT_DETAILS formatting
7041
7042 2006-03-24  Wim Taymans  <wim@fluendo.com>
7043
7044         * libs/gst/base/gstbasesink.h:
7045         Only add fields, not insert or we break ABI.
7046
7047 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
7048
7049         * win32/common/libgstbase.def:
7050         * win32/common/libgstreamer.def:
7051           Update, add recently added functions.
7052
7053 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
7054
7055         * docs/gst/gstreamer-sections.txt:
7056         * gst/gstutils.c: (gst_pad_query_peer_position),
7057         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
7058         * gst/gstutils.h:
7059           API: add some new utility functions:
7060            - gst_pad_query_peer_position()
7061            - gst_pad_query_peer_duration()
7062            - gst_pad_query_peer_convert()
7063           
7064 2006-03-23  Wim Taymans  <wim@fluendo.com>
7065
7066         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
7067         (gst_base_sink_init), (gst_base_sink_finalize),
7068         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
7069         (gst_base_sink_set_property), (gst_base_sink_get_property),
7070         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
7071         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
7072         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
7073         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
7074         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
7075         (gst_base_sink_preroll_object), (gst_base_sink_event),
7076         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
7077         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
7078         (gst_base_sink_query), (gst_base_sink_change_state):
7079         Decouple max-lateness and the fact that QoS messages are generated
7080         with a new property (qos).
7081         added API: GstBaseSink::async_play()
7082         Add vmethod so subclasses can be notified of ASYNC playing
7083         state changes.
7084         Collect timestamp start and stop to report better current
7085         position in EOS/PLAYING/PAUSED/READY/NULL.
7086         Refactor QoS/frame dropping and other measurements.
7087         API: GstBaseSrc::qos
7088         Fixes #326311
7089
7090         * libs/gst/base/gstbasesink.h:
7091         Added Private struct.
7092         API: gst_base_sink_set_qos_enabled()
7093         API: gst_base_sink_is_qos_enabled()
7094
7095 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
7096
7097         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
7098           If compiling against GLib-2.8 or newer, try to read the
7099           registry file using GMappedFile first before falling back
7100           to fopen() + fread() (#332151).
7101
7102 2006-03-22  Wim Taymans  <wim@fluendo.com>
7103
7104         * gst/gstinfo.c: (gst_debug_set_active),
7105         (gst_debug_category_set_threshold):
7106         Disable debugging unless explicitly activated.
7107         Fixes #335480.
7108
7109 2006-03-22  Wim Taymans  <wim@fluendo.com>
7110
7111         * gst/gstelement.c: (gst_element_set_locked_state),
7112         (gst_element_dispose):
7113         Cleanup the error case.
7114
7115         * gst/gstobject.c: (gst_object_dispose):
7116         print a critical when some object was disposed with
7117         a parent, also revive the object since it might
7118         crash the parent.
7119
7120 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
7121
7122         * tools/gst-launch.1.in:
7123           Fix another typo.
7124
7125 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7126
7127         * configure.ac:
7128         * tests/check/Makefile.am:
7129           disable some tests when we don't have a registry
7130         * tests/check/gst/gstutils.c: (gst_utils_suite):
7131           don't build the part that needs parsing
7132
7133 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7134
7135         * gst/Makefile.am
7136         * tests/examples/Makefile.am:
7137           fix --disable-parse build
7138
7139 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
7140
7141         * tools/gst-feedback.1.in:
7142           Fix typo: s/feeback/feedback/ (#133494).
7143
7144 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
7145
7146         * tools/Makefile.am:
7147         * tools/gst-launch.1.in:
7148           Add FILES section and correct entry about GST_REGISTRY_PATH
7149           environment variable (#133495; #133494).
7150
7151 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
7152
7153         * tools/Makefile.am:
7154         * tools/gst-md5sum.1.in:
7155         * tools/gst-md5sum.c:
7156           Remove gst-md5sum and man page (the md5sink element
7157           required was removed ages ago)
7158
7159 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
7160
7161         * gst/gststructure.c: (gst_structure_id_set_value):
7162           Make sure that string fields in structures/taglists
7163           contain valid UTF-8 - we don't want to pass rubbish to
7164           applications because of a buggy plugin (cp. #334167).
7165
7166 2006-03-21  Edward Hervey  <edward@fluendo.com>
7167
7168         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
7169         (gst_bin_handle_message_func):
7170         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
7171         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
7172         (gst_element_set_bus_func):
7173         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
7174         * gst/gstminiobject.c: (gst_value_set_mini_object),
7175         (gst_value_take_mini_object):
7176         * gst/gstpad.c: (gst_pad_set_pad_template):
7177         * gst/gstpipeline.c: (gst_pipeline_dispose),
7178         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
7179         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
7180         (gst_collect_pads_chain):
7181         * libs/gst/net/gstnettimeprovider.c:
7182         (gst_net_time_provider_set_property):
7183         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
7184         It's in fact all issues with gst_*object_replace().
7185
7186 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
7187
7188         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
7189         
7190         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7191         * pkgconfig/gstreamer-check.pc.in:
7192           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
7193
7194 2006-03-21  Edward Hervey  <edward@fluendo.com>
7195
7196         * gst/gstbuffer.h:
7197         * gst/gstevent.h:
7198         * gst/gstmessage.h:
7199         gst_[buffer|event|message]_ref() macros are replaced by a static
7200         inline functions because gcc-4.1 will about if the return value
7201         isn't used.
7202         * tests/check/gst/gstevent.c: (event_probe):
7203         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
7204
7205 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
7206
7207         * gst/gstutils.h:
7208         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
7209         the type' case. (Closes: #335195 for now). In the future, when we
7210         depend on GLib 2.10, we could also intern the type name using
7211         g_intern_static_string()
7212
7213 2006-03-20  Wim Taymans  <wim@fluendo.com>
7214
7215         * gst/gstbin.c: (gst_bin_handle_message_func),
7216         (bin_query_max_init), (bin_query_position_fold),
7217         (bin_query_position_done), (gst_bin_query):
7218         Position query should also take max of all streams.
7219
7220 2006-03-20  Wim Taymans  <wim@fluendo.com>
7221
7222         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
7223         (gst_fake_src_finalize):
7224         Fix leaks in fakesrc.
7225
7226         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
7227         Fix leaks in the testcase.
7228
7229 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
7230
7231         * gst/gst_private.h:
7232           add win32 specific import decoration(__declspec(dllimport)) 
7233           for all extern GstDebugCategory * variables
7234         * win32/common/libgstbase.def:
7235         * win32/common/libgstcontroller.def:
7236         * win32/common/libgstreamer.def:
7237           Add some exports, remove empty lines
7238         * win32/common/libgstdataprotocol.def:
7239         * win32/common/libgstdataprotocol.dsp:
7240         * win32/common/libgstnet.def:
7241         * win32/common/libgstnet.dsp:
7242           new project files and exportation files added
7243         
7244 2006-03-19  Wim Taymans  <wim@fluendo.com>
7245
7246         * tests/check/libs/basesrc.c: (eos_event_counter):
7247         Use proper return value for probe.
7248
7249 2006-03-17  Wim Taymans  <wim@fluendo.com>
7250
7251         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
7252         (gst_pad_push):
7253         Don't leak buffers, caps and pads on negotiation errors.
7254
7255 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
7256
7257         * docs/faq/cvs.xml:
7258         * docs/faq/dependencies.xml:
7259         * docs/faq/developing.xml:
7260         * docs/faq/faq.xml:
7261         * docs/faq/general.xml:
7262         * docs/faq/getting.xml:
7263         * docs/faq/legal.xml:
7264         * docs/faq/troubleshooting.xml:
7265         * docs/faq/using.xml:
7266         Faq review and update.
7267
7268 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
7269
7270         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
7271         (gst_pad_push):
7272         Don't pound the cpu to pieces by checking get_caps when accept_caps
7273         is called with the same caps as the pad already has.
7274         Use GST_DEBUG_OBJECT when outputting caps change information.
7275
7276 2006-03-15  Wim Taymans  <wim@fluendo.com>
7277
7278         * gst/gstclock.c: (gst_clock_class_init):
7279         Fix docs.
7280
7281 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
7282
7283         * gst/gstbuffer.h:
7284         Documentation fix.
7285
7286         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
7287         (gst_pad_accept_caps), (gst_pad_configure_sink),
7288         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
7289         Make the default acceptcaps behaviour be to check the requested 
7290         caps against the gst_pad_get_caps output. 
7291
7292         Ensure that gst_pad_accept_caps is used to check caps when a pad
7293         doesn't have a setcaps function, so that pads automatically refuse 
7294         caps that they don't allow in their pad template. (Fixes #332986)
7295
7296         When a buffer with attached caps is pushed, ensure that the source 
7297         pad receives those caps even if the element didn't call
7298         gst_pad_set_caps first.
7299
7300 2006-03-15  Wim Taymans  <wim@fluendo.com>
7301
7302         * libs/gst/base/gstadapter.c:
7303         Add some docs.
7304
7305 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
7306
7307         * win32/common/libgstbase.def:
7308         * win32/common/libgstcontroller.def:
7309         * win32/common/libgstreamer.def:
7310           Add a whole bunch of missing functions (#334434).
7311
7312 2006-03-14  Wim Taymans  <wim@fluendo.com>
7313
7314         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
7315         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
7316         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
7317         Better debug info when we receive a segment event.
7318         Reorganize a bit so we can pass the get_times() results around.
7319         Use the segment format when calculating the running time.
7320         Don't do QoS is sync is disabled or we have no clock or the
7321         element does not want us to sync to the clock.
7322         Don't drop buffers if QoS is disabled for now.
7323
7324 2006-03-14  Wim Taymans  <wim@fluendo.com>
7325
7326         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
7327         Marked the stats property as unimplemented so people don't get
7328         wild ideas.
7329         Add debug message when regression goes wrong.
7330         Added some more docs.
7331
7332 2006-03-14  Wim Taymans  <wim@fluendo.com>
7333
7334         * gst/gstsegment.c: (gst_segment_to_stream_time):
7335         Return correct return type in case of errors.
7336
7337 2006-03-14  Wim Taymans  <wim@fluendo.com>
7338
7339         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
7340           Don't segfault on invalid formats.
7341
7342 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
7343
7344         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
7345           Can't use gst_segment_to_running_time() when the segment
7346           is not in GST_TIME_FORMAT (like with filesink, for example).
7347           Stops flac encoding pipelines from spewing critical warnings
7348           at EOS (#331248).
7349           
7350 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
7351
7352         * gst/gstpipeline.c: (gst_pipeline_class_init):
7353           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
7354
7355         * plugins/elements/gsttypefindelement.c:
7356         (gst_type_find_element_handle_event):
7357           Don't try to typefind empty streams.
7358
7359 2006-03-14  Wim Taymans  <wim@fluendo.com>
7360
7361         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
7362         (gst_base_sink_do_qos):
7363         Separate QoS calculation.
7364         Only drop buffers when lateness is bigger than the 
7365         duration of the buffer.
7366
7367 2006-03-13  Wim Taymans  <wim@fluendo.com>
7368
7369         * gst/gstpipeline.c: (gst_pipeline_set_property),
7370         (gst_pipeline_get_property), (do_pipeline_seek),
7371         (gst_pipeline_change_state), (gst_pipeline_set_delay),
7372         (gst_pipeline_get_delay):
7373         Don't deadlock when reading properties.
7374
7375 2006-03-13  Wim Taymans  <wim@fluendo.com>
7376
7377         * libs/gst/base/gstbasetransform.c:
7378         (gst_base_transform_class_init), (gst_base_transform_init),
7379         (gst_base_transform_sink_event),
7380         (gst_base_transform_sink_eventfunc),
7381         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
7382         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
7383         (gst_base_transform_set_property),
7384         (gst_base_transform_get_property),
7385         (gst_base_transform_change_state), (gst_base_transform_update_qos),
7386         (gst_base_transform_set_qos_enabled),
7387         (gst_base_transform_is_qos_enabled):
7388         * libs/gst/base/gstbasetransform.h:
7389         Make basetransform virtual method for src events too.
7390         Handle QOS in basetransform.
7391         API: gst_base_transform_update_qos()
7392         API: gst_base_transform_set_qos_enabled()
7393         API: gst_base_transform_is_qos_enabled()
7394
7395 2006-03-13  Wim Taymans  <wim@fluendo.com>
7396
7397         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
7398         (gst_base_sink_do_sync):
7399         Small cleanups.
7400         Use QOS debug category.
7401
7402 2006-03-13  Wim Taymans  <wim@fluendo.com>
7403
7404         * plugins/elements/gstqueue.c:
7405         Very small doc update.
7406
7407 2006-03-13  Wim Taymans  <wim@fluendo.com>
7408
7409         * gst/gst_private.h:
7410         * gst/gstinfo.c: (_gst_debug_init):
7411         Added QOS debug category
7412
7413 2006-03-13  Wim Taymans  <wim@fluendo.com>
7414
7415         * docs/gst/gstreamer-sections.txt:
7416         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
7417         * gst/gstbin.h:
7418         * gst/gstbus.c: (gst_bus_class_init):
7419         * gst/gstbus.h:
7420         * gst/gstclock.c:
7421         * gst/gstelement.c: (gst_element_set_locked_state):
7422         * gst/gstsegment.c:
7423         Documentation updates.
7424
7425         * gst/gstpipeline.c: (gst_pipeline_get_type),
7426         (gst_pipeline_class_init), (gst_pipeline_init),
7427         (gst_pipeline_dispose), (gst_pipeline_set_property),
7428         (gst_pipeline_get_property), (do_pipeline_seek),
7429         (gst_pipeline_send_event), (gst_pipeline_change_state),
7430         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
7431         (gst_pipeline_get_delay):
7432         * gst/gstpipeline.h:
7433         Added methods for setting the delay.
7434         API: gst_pipeline_set_delay()
7435         API: gst_pipeline_get_delay()
7436         Add pipeline debug category
7437         Various cleanups.
7438         Updated docs.
7439         Don't reset stream time when seek failed.
7440
7441 2006-03-13  Wim Taymans  <wim@fluendo.com>
7442
7443         * docs/design/draft-klass.txt:
7444         * docs/design/part-clocks.txt:
7445         * docs/design/part-events.txt:
7446         * docs/design/part-gstbin.txt:
7447         * docs/design/part-gstpipeline.txt:
7448         * docs/design/part-messages.txt:
7449         * docs/design/part-negotiation.txt:
7450         * docs/design/part-overview.txt:
7451         * docs/design/part-preroll.txt:
7452         * docs/design/part-seeking.txt:
7453         * docs/design/part-states.txt:
7454         * docs/design/part-streams.txt:
7455         Documentation updates.
7456
7457 2006-03-12  Julien MOUTTE  <julien@moutte.net>
7458
7459         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
7460         us to leak strings...
7461
7462 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7463
7464         * libs/gst/net/gstnettimeprovider.c:
7465           fix docs
7466         * win32/common/config.h:
7467           update
7468
7469 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
7470
7471         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
7472
7473         * configure.ac:
7474           Don't check for libgnomeui (leftover from old examples
7475           that aren't built or disted any longer) (#334303).
7476           
7477 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
7478
7479         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
7480         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
7481           Emit RESOURCE_NO_SPACE_LEFT error here as well when
7482           there's no space left on the device.
7483
7484 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
7485
7486         * gst/gstclock.h:
7487           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
7488           to cast the input to GstClockTime before comparing with
7489           another GstClockTime value.
7490
7491 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7492
7493         * configure.ac:
7494           back to trunk
7495
7496 === release 0.10.4 ===
7497
7498 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
7499
7500         * configure.ac:
7501           releasing 0.10.4, "Light"
7502
7503 2006-03-10  Michael Smith  <msmith@fluendo.com>
7504
7505         * libs/gst/dataprotocol/dataprotocol.c:
7506           Fix docs for dataprocotol to not get the return types completely
7507           wrong for a few functions.
7508
7509 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
7510
7511         * docs/gst/gstreamer-sections.txt:
7512         * gst/gstpipeline.c: (gst_pipeline_class_init),
7513         (gst_pipeline_init), (gst_pipeline_set_property),
7514         (gst_pipeline_get_property), (gst_pipeline_change_state),
7515         (gst_pipeline_set_auto_flush_bus),
7516         (gst_pipeline_get_auto_flush_bus):
7517         * gst/gstpipeline.h:
7518           Add new API: gst_pipeline_set_auto_flush_bus() and
7519           gst_pipeline_get_auto_flush_bus() to disable automatic
7520           flushing of the pipeline's GstBus when going from READY
7521           to NULL state (#332045).
7522
7523 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
7524
7525         * docs/gst/gstreamer-sections.txt:
7526         * gst/gsturi.c: (gst_uri_has_protocol):
7527         * gst/gsturi.h:
7528            Add new API: gst_uri_has_protocol() (#333779).
7529
7530 2006-03-09  Wim Taymans  <wim@fluendo.com>
7531
7532         * gst/gstclock.c: (gst_clock_entry_new),
7533         (gst_clock_id_compare_func), (gst_clock_id_wait),
7534         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
7535         (gst_clock_init), (gst_clock_get_internal_time),
7536         (gst_clock_set_master), (do_linear_regression),
7537         (gst_clock_add_observation), (gst_clock_set_property):
7538         * gst/gstclock.h:
7539         Review docs.
7540         Small cleanups.
7541         Fix a possible segfault when the window-size is made smaller.
7542         Calculate jitter before performing the clock wait. Ideally
7543         the clock implementation should calculate jitter but we need
7544         API breakage for that.
7545
7546         * gst/gstsystemclock.c: (gst_system_clock_init):
7547         Docs review.
7548         
7549         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7550         Remove leftover else
7551
7552         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
7553         (gst_systemclock_suite):
7554         Added check to test GST_CLOCK_DIFF.
7555
7556 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
7557
7558         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
7559         (gst_type_find_helper_get_range):
7560           If we are provided with the size, we should implement
7561           GstTypeFind::get_length, so that typefind functions who
7562           want to can actually peek at the middle of a file.
7563
7564 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
7565
7566         * docs/manual/advanced-dataaccess.xml:
7567           Add some very very basic error checking.
7568
7569         * docs/pwg/appendix-checklist.xml:
7570           Some updates to the list of things to check when writing an element.
7571
7572 2006-03-08  Wim Taymans  <wim@fluendo.com>
7573
7574         * docs/design/part-element-transform.txt:
7575         Added some docs about the design of tranform elements.
7576
7577         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
7578         (gst_base_src_loop), (gst_base_src_change_state):
7579         Mark buffers with the DISCONT flag.
7580
7581 2006-03-08  Michael Smith  <msmith@fluendo.com>
7582
7583         * gst/gstregistry.h:
7584         * gst/gstregistryxml.c: (gst_registry_save),
7585         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
7586         (gst_registry_xml_save_pad_template),
7587         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
7588         (gst_registry_xml_write_cache):
7589           Rewrite registry-saving to avoid race conditions and check for
7590           failed writes.
7591
7592 2006-03-08  Wim Taymans  <wim@fluendo.com>
7593
7594         * libs/gst/base/gstbasetransform.c:
7595         (gst_base_transform_transform_caps),
7596         (gst_base_transform_transform_size),
7597         (gst_base_transform_prepare_output_buffer),
7598         (gst_base_transform_get_unit_size),
7599         (gst_base_transform_buffer_alloc),
7600         (gst_base_transform_handle_buffer),
7601         (gst_base_transform_change_state):
7602         Cleanups, separate normal flow from errors, add sensible
7603         DEBUG lines.
7604         Don't try to renegotiate when allocating an output buffer.
7605         Also copy DISCONT buffer flag when copying a buffer.
7606         Reset the transform after we finish streaming, not during.
7607
7608 2006-03-08  Wim Taymans  <wim@fluendo.com>
7609
7610         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7611         Use last buffer timestamp in qos message.
7612
7613 2006-03-07  Wim Taymans  <wim@fluendo.com>
7614
7615         Patch by: Christophe Fergeau
7616
7617         * docs/pwg/advanced-tagging.xml:
7618         * docs/pwg/building-pads.xml:
7619           fixes #333416
7620
7621 2006-03-07  Wim Taymans  <wim@fluendo.com>
7622
7623         * docs/libs/gstreamer-libs-sections.txt:
7624         Added basesink new methods.
7625
7626         * gst/gstevent.c:
7627         * gst/gstevent.h:
7628         Docs updates. Flesh out the QoS docs.
7629
7630         * libs/gst/base/gstadapter.c:
7631         Small doc clarification about ownership and flushing.
7632
7633         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
7634         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
7635         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
7636         (gst_base_sink_get_property), (gst_base_sink_do_sync):
7637         * libs/gst/base/gstbasesink.h:
7638         API additions: 
7639         Added new methods to allow subclass to control max-lateness 
7640         and sync.
7641         Generate very basic QoS events based on last sync observation.
7642         Updated docs, fix typo, added some QoS blurb.
7643
7644         * libs/gst/base/gstbasesrc.c:
7645         Remove obsolete _get_state() calls from docs.
7646
7647 2006-03-07  Wim Taymans  <wim@fluendo.com>
7648
7649         * docs/libs/gstreamer-libs-sections.txt:
7650         * libs/gst/base/gstbasetransform.h:
7651         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
7652         Fix docs for GstBaseSrc.
7653
7654 2006-03-07  Wim Taymans  <wim@fluendo.com>
7655
7656         * docs/gst/gstreamer-sections.txt:
7657         * gst/gstbuffer.h:
7658         * gst/gstvalue.c:
7659         * libs/gst/base/gstbasetransform.h:
7660         Small documentation fixes.
7661
7662 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
7663
7664         * gst/gstvalue.c:
7665           Document thread-unsafety of gst_value_register_foo_func()
7666           when used at the same time as gst_value_foo() (#322628).
7667
7668 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
7669
7670         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
7671         (gst_push_src_check_get_range):
7672           Push sources don't support pull mode by default.
7673
7674 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
7675
7676         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
7677         (gst_base_src_init), (gst_base_src_pad_check_get_range),
7678         (gst_base_src_default_check_get_range):
7679         * libs/gst/base/gstbasesrc.h:
7680           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
7681           provide default implementation, and rename
7682           gst_base_src_check_get_range() to
7683           gst_base_src_pad_check_get_range() for clarity.
7684
7685 2006-03-06  Wim Taymans  <wim@fluendo.com>
7686
7687         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
7688         Make property overridable.
7689
7690 2006-03-06  Wim Taymans  <wim@fluendo.com>
7691
7692         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
7693         (gst_base_sink_init), (gst_base_sink_set_property),
7694         (gst_base_sink_get_property), (gst_base_sink_do_sync):
7695         * libs/gst/base/gstbasesink.h:
7696         API addition: Make max-lateness a property.
7697
7698 2006-03-06  Wim Taymans  <wim@fluendo.com>
7699
7700         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
7701         (gst_base_sink_do_sync), (gst_base_sink_render_object):
7702         Don't ever draw a frame that is >10ms late.
7703
7704 2006-03-06  Michael Smith  <msmith@fluendo.com>
7705
7706         * gst/gstmessage.c: (_gst_message_copy):
7707           When copying a message, set the parent_refcount of the enclosed
7708           structure to point at the copy, not the original message.
7709
7710 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
7711
7712         Patch by: Christophe Fergeau
7713
7714         * gst/gstutils.h:
7715           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
7716           usable in c++ code (#333417)
7717
7718 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7719
7720         * gst/gstclock.h:
7721           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
7722
7723 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
7724
7725         * libs/gst/base/gstbasetransform.c:
7726         (gst_base_transform_transform_caps):
7727           Make sure caps are writable before passing them to
7728           gst_caps_append().
7729
7730 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
7731
7732         * gst/gsterror.h:
7733           Fix some minor docs errors.
7734
7735 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
7736
7737           Patch by: Ross Burton <ross at burtonini dot com>
7738
7739         * gst/gsterror.c: (_gst_resource_errors_init):
7740         * gst/gsterror.h:
7741           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
7742
7743 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
7744
7745         * gst/gst.c:
7746         Add a check and output a g_warning when GStreamer is built
7747         against GLib 2.6 but running against 2.8 or higher, and vice 
7748         versa. (Closes: #323542)
7749
7750 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
7751
7752         * gst/parse/parse.l:
7753           Commit patch for parse_launch syntax from #331255. Removes 
7754           support for quoted strings and mimetypes when writing filtered 
7755           caps. See the bug report for more details - I'm pretty sure this
7756           obscure feature is not in use by _anyone_ anywhere.
7757
7758           With this simple change, the size of the gstreamer.so here 
7759           drops from 2193KB to 1565KB.
7760
7761 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
7762
7763         * plugins/elements/gsttypefindelement.h:
7764         * plugins/elements/gsttypefindelement.c:
7765         (gst_type_find_element_src_event), (start_typefinding),
7766         (stop_typefinding), (gst_type_find_element_handle_event),
7767         (gst_type_find_element_chain),
7768         (gst_type_find_element_chain_do_typefinding):
7769           Use gst_type_find_helper_for_buffer() for chain-based
7770           typefinding.
7771
7772 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
7773
7774         * plugins/elements/gsttypefindelement.c:
7775         (gst_type_find_element_class_init),
7776         (gst_type_find_element_set_property),
7777         (gst_type_find_element_get_property):
7778           Deprecate "maximum" property (not only was it only taken into
7779           account for typefinding in push-mode anyway, it also was never
7780           actually possible to set it in the first place because the
7781           property was registered with the numeric property ID for the
7782           "minimum" property). Register "maximum" property correctly,
7783           for the sake of future copy'n'pasters. Remove some cruft
7784           from property get/set functions.
7785
7786 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
7787
7788         * plugins/elements/gsttypefindelement.c:
7789         (gst_type_find_element_activate):
7790           Use gst_type_find_helper_get_range() here, so we
7791           can honour the "minimum" property and also emit
7792           the signal with the correct probability of the found caps.
7793
7794 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
7795
7796         * docs/libs/gstreamer-libs-sections.txt:
7797         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
7798         (helper_find_suggest), (gst_type_find_helper_get_range),
7799         (gst_type_find_helper):
7800         * libs/gst/base/gsttypefindhelper.h:
7801           New API: gst_type_find_helper_get_range() (#333042).
7802
7803 2006-03-02  Michael Smith  <msmith@fluendo.com>
7804
7805         * gst/gstregistryxml.c: (load_feature):
7806           Asserting on a failure to read part of the registry is Not Cool.
7807           Just log a warning and return NULL (which is already handled)
7808
7809 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
7810
7811         * win32/common/libgstbase.def:
7812           added export of gst_type_find_helper_for_buffer
7813         * win32/common/libgstbase.def:
7814           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
7815           gst_ghost_pad_get_target
7816
7817 2006-02-28  Wim Taymans  <wim@fluendo.com>
7818
7819         * docs/design/draft-klass.txt:
7820         We use Filter now.
7821         Added Connector to mark elements that are only used to
7822         allow pipeline connections.
7823         Moved Debug to extra feature since most of them are 
7824         functionally something else.
7825
7826 2006-02-28  Wim Taymans  <wim@fluendo.com>
7827
7828         * docs/design/draft-klass.txt:
7829         Some updates and clarifications.
7830
7831 2006-02-28  Wim Taymans  <wim@fluendo.com>
7832
7833         * docs/design/draft-klass.txt:
7834         Proposal for klass field values.
7835
7836         * docs/design/part-streams.txt:
7837         Start of a doc describing stream anatomy.
7838
7839 2006-02-28  Wim Taymans  <wim@fluendo.com>
7840
7841         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
7842         Help the compiler a bit with type registration.
7843         Use existing forward cod path instead of duplicating it when 
7844         handling a message.
7845         
7846         * gst/gstbus.c: (gst_bus_get_type):
7847         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
7848         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
7849         * gst/gstclock.c: (gst_clock_get_type):
7850         * gst/gstelement.c: (gst_element_get_type),
7851         * gst/gstelementfactory.c: (gst_element_factory_get_type):
7852         * gst/gstindexfactory.c: (gst_index_factory_get_type):
7853         * gst/gstminiobject.c: (gst_mini_object_get_type):
7854         * gst/gstpad.c: (gst_pad_get_type):
7855         * gst/gstsegment.c: (gst_segment_get_type):
7856         * gst/gststructure.c: (gst_structure_get_type):
7857         * gst/gstsystemclock.c: (gst_system_clock_get_type):
7858         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
7859         * gst/gstvalue.c:
7860         Help compiler with type registration.
7861
7862         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
7863         Small doc update.
7864
7865 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
7866
7867         * plugins/elements/gsttypefindelement.c:
7868         (gst_type_find_element_handle_event):
7869           When we get an EOS event and have not found a type yet
7870           (most likely because we had not yet accumulated
7871           TYPE_FIND_MIN_SIZE of data yet), try to determine the
7872           type given the data we have so far. Fixes typefinding
7873           for very short streams again, most notably quicktime
7874           redirections as used on Apple's trailer site (#331701).
7875
7876 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
7877
7878         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
7879         (gst_type_find_helper):
7880           Try typefinding factories with the highest rank first.
7881
7882 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
7883
7884         * docs/libs/gstreamer-libs-docs.sgml:
7885         * docs/libs/gstreamer-libs-sections.txt:
7886         * libs/gst/base/gsttypefindhelper.c:
7887           Add section for typefind helper and add documentation
7888           for the old and the new function.
7889
7890 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
7891
7892         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
7893         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
7894         (gst_type_find_helper_for_buffer):
7895         * libs/gst/base/gsttypefindhelper.h:
7896           New API: gst_type_find_helper_for_buffer() (#332723).
7897           
7898 2006-02-27  Michael Smith  <msmith@fluendo.com>
7899
7900         Patch by: Loïc Minier
7901
7902         * configure.ac:
7903         * docs/Makefile.am:
7904         * docs/slides/Makefile.am:
7905           prevent CVS directories getting disted.
7906
7907 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
7908
7909         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
7910           Use the REFCOUNTING category for caps refcounting.
7911           
7912 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
7913
7914         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
7915           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
7916
7917 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
7918
7919         * plugins/elements/gsttypefindelement.c:
7920         (gst_type_find_element_activate):
7921           Use gst_pad_check_pull_range() before _activate_pull()
7922           to avoid unnecessary open/close (see #331690).
7923
7924 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
7925
7926         * gst/gstutils.c:
7927           Docs enhancement: make it crystal clear what the
7928           gst_pad_add_*_probe() callbacks should look like.
7929
7930 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
7931
7932         * libs/gst/base/gstbasesrc.c:
7933           Document how applications can stop recording from
7934           live sources (see #330996).
7935
7936 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
7937
7938         * tests/check/Makefile.am:
7939         * tests/check/libs/basesrc.c: (eos_event_counter),
7940         (basesrc_eos_events_pull), (basesrc_eos_events_push),
7941         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
7942         (gst_basesrc_suite), (main):
7943           ... and add some tests for the base source EOS stuff.
7944
7945 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
7946
7947         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
7948           Test case originally showed the problem fixed below,
7949           but was then amended. Add checks back at the place
7950           where they used to be.
7951
7952 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
7953
7954         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
7955         (gst_base_src_init), (gst_base_src_loop),
7956         (gst_base_src_activate_push), (gst_base_src_activate_pull),
7957         (gst_base_src_change_state):
7958         * libs/gst/base/gstbasesrc.h:
7959           Don't unconditionally send EOS when going from PAUSED to
7960           READY state, esp. make sure we don't send two EOS events
7961           in some cases (e.g. one when reaching EOS and one when
7962           going from PAUSED to READY). Also, we don't want to send
7963           EOS events when operating in pull mode. However, we do
7964           want to send an EOS event when shutting down a live
7965           source explicitly, for example (fixes #330996).
7966           
7967 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
7968
7969         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
7970           Update src->read_position after a seek when not using mmap.
7971           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
7972
7973 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
7974
7975         * gst/Makefile.am:
7976         * gst/gstparse.h:
7977         * gst/gstutils.c:
7978         * gst/gstutils.h:
7979         Make things work with --disable-parse as they do with 
7980         --disable-load-save - the symbols involved disappear, but the
7981         header is still installed and GST_DISABLE_PARSE is included via
7982         gstconfig.h
7983
7984 2006-02-20  Julien MOUTTE  <julien@moutte.net>
7985
7986         * libs/gst/base/gstbasetransform.c:
7987         (gst_base_transform_change_state): Fix a stupid bug. I was 
7988         sure I compiled that.
7989
7990 2006-02-20  Julien MOUTTE  <julien@moutte.net>
7991
7992         * gst/gstpad.c: (gst_pad_set_blocked_async):
7993         * gst/gstutils.c: (gst_pad_add_data_probe),
7994         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
7995         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
7996         (gst_pad_remove_buffer_probe): Make those function act on the
7997         ghostpad target when it's a ghostpad. (Closes #331727)
7998
7999 2006-02-20  Julien MOUTTE  <julien@moutte.net>
8000
8001         * libs/gst/base/gstbasetransform.c:
8002         (gst_base_transform_change_state): Make basetransform reusable.
8003         (Closes #331898)
8004
8005 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
8006
8007         * docs/random/release:
8008         Move the current documentation of how to do a release to the top
8009         of the file.
8010
8011         * gst/gstbin.c: (gst_bin_class_init),
8012         (gst_bin_handle_message_func):
8013         Allow multiple state-recalculation threads. (Closes #328873)
8014
8015 2006-02-19  Julien MOUTTE  <julien@moutte.net>
8016
8017         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
8018         * gst/gstpad.c: (gst_pad_set_event_function),
8019         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
8020         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
8021         2 strings. You can't use the STR_NULL macro on that.
8022
8023 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
8024
8025         * gst/gstpad.c: (gst_pad_set_event_function),
8026         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
8027         (gst_pad_set_getcaps_function)
8028         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
8029           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
8030           So now, we can use --gst-debug-level=5 on Windows
8031         * win32/common/libgstcontroller.def:
8032           Added export of gst_controller_init
8033         * win32/vs6/libgstcontroller.dsp:
8034           Fixed Release post build configuration
8035
8036 2006-02-17  Wim Taymans  <wim@fluendo.com>
8037
8038         * tests/check/gst/gstquery.c: (GST_START_TEST):
8039         Added another check.
8040
8041 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
8042
8043         * plugins/elements/gsttypefindelement.c: (find_peek):
8044           We can do peeks at non-zero offsets, as long as they
8045           fall within the buffer we have.
8046
8047 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
8048
8049         * tests/check/Makefile.am:
8050         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
8051         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
8052         (parse_suite), (main):
8053           Add testsuite for parse launch syntax
8054
8055 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
8056
8057         * plugins/elements/gsttypefindelement.c:
8058         (gst_type_find_element_chain):
8059           When typefinding is unsuccessful in the chain function, don't
8060           error out immediately. Only error out with NO_CAPS_FOUND if
8061           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
8062           otherwise simply wait for more data so we can try typefinding
8063           again with more data later. Also, don't attempt to typefind
8064           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
8065           this should improve typefinding from network sources where the
8066           size of the first buffer can be somewhat random.
8067
8068 2006-02-14  Wim Taymans  <wim@fluendo.com>
8069
8070         * docs/gst/gstreamer-sections.txt:
8071         * gst/gstpadtemplate.c:
8072         * gst/gstpadtemplate.h:
8073         Fix padtemplate docs, fixes #328805.
8074
8075 2006-02-14  Wim Taymans  <wim@fluendo.com>
8076
8077         * tools/gst-launch.c: (main):
8078         NO_PREROLL is not an ERROR so don't send confusing messages
8079         to the user.
8080
8081 2006-02-14  Wim Taymans  <wim@fluendo.com>
8082
8083         Patch by: Torsten Schoenfeld
8084
8085         * gst/gstregistry.c: (gst_registry_get_default),
8086         (_gst_registry_cleanup):
8087         Protect default registry with lock and ref/sink it.
8088         Fixes #324818
8089
8090 2006-02-14  Wim Taymans  <wim@fluendo.com>
8091
8092         * gst/gstbuffer.c:
8093         * gst/gstquery.c: (gst_query_list_add_format),
8094         (gst_query_set_formatsv), (gst_query_parse_formats_length),
8095         (gst_query_parse_formats_nth):
8096         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
8097         Docs fixes.
8098
8099 2006-02-14  Wim Taymans  <wim@fluendo.com>
8100
8101         * docs/gst/gstreamer-sections.txt:
8102         Reworked query docs.
8103
8104         * gst/gstquery.c: (gst_query_new_formats),
8105         (gst_query_list_add_format), (gst_query_set_formats),
8106         (gst_query_set_formatsv), (gst_query_parse_formats_length),
8107         (gst_query_parse_formats_nth):
8108         * gst/gstquery.h:
8109         Flesh out formats query, added some new methods.
8110         Fix part of #324398.
8111
8112         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
8113         Added query creation tests.
8114
8115 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
8116
8117         * gst/gstpad.c: (fixate_value):
8118         Add a default fixation for fraction lists.
8119
8120 2006-02-13  Wim Taymans  <wim@fluendo.com>
8121
8122         * gst/gsttask.c: (gst_task_init), (gst_task_func),
8123         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
8124         (gst_task_join):
8125         * gst/gsttask.h:
8126         Detect and warn for obvious deadlocks. fixes #320340
8127         Fix error case where lock was not released.
8128
8129         * tests/check/Makefile.am:
8130         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
8131         (task_func), (gst_element_suite), (main):
8132         Add task check.
8133
8134 2006-02-13  Wim Taymans  <wim@fluendo.com>
8135
8136         * docs/gst/gstreamer-sections.txt:
8137         * gst/gstbus.c:
8138         Add new functions to docs.
8139
8140 2006-02-13  Wim Taymans  <wim@fluendo.com>
8141
8142         * docs/design/part-TODO.txt:
8143         Updated TODO list, basesrc supports seeking to non-bytes
8144         formats.
8145
8146         * docs/design/part-element-sink.txt:
8147         Update docs.
8148
8149         * gst/gstbin.c: (bin_replace_message),
8150         (gst_bin_handle_message_func):
8151         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
8152         * gst/gstevent.c: (gst_event_finalize):
8153         * gst/gstpad.c: (gst_pad_event_default_dispatch),
8154         (gst_pad_send_event):
8155         Use shiny new _TYPE_NAME macros.
8156
8157         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
8158         Move debug statement up.
8159
8160         * gst/gstelement.c: (gst_element_set_locked_state):
8161         Add some debugging.
8162
8163 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
8164
8165         * docs/gst/gstreamer-sections.txt:
8166         * gst/gstmessage.h:
8167         * gst/gstquery.h:
8168           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
8169           macros (#330906). Also, document the already existing
8170           GST_QUERY_TYPE macro.
8171
8172 2006-02-13  Wim Taymans  <wim@fluendo.com>
8173
8174         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
8175         (event_probe), (GST_START_TEST):
8176         Only events up to the pipeline EOS are counted, there are
8177         some more when going to NULL currently which we don't care
8178         about for now.
8179
8180 2006-02-13  Wim Taymans  <wim@fluendo.com>
8181
8182         * gst/gstpad.c: (gst_pad_send_event):
8183         Correctly check flushing and emit probes. fixes #330125
8184
8185 2006-02-10  Andy Wingo  <wingo@pobox.com>
8186
8187         * gst/gstbus.c (gst_bus_class_init): Declare our private data
8188         structure.
8189         (gst_bus_init): Cache the location of the private data in the
8190         instance structure.
8191         (gst_bus_enable_sync_message_emission) 
8192         (gst_bus_disable_sync_message_emission): Implement new public
8193         functions.
8194         (gst_bus_post): Emit the sync-message signal if the user asked for
8195         it. Fixes #330684.
8196
8197         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
8198         location of the bus-private structure.
8199         (gst_bus_enable_sync_message_emission)
8200         (gst_bus_disable_sync_message_emission): API addition
8201
8202 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
8203
8204         Patch by: Vincent Torri
8205
8206         * docs/pwg/building-boiler.xml:
8207         PWG patch from #326800
8208
8209 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
8210
8211         * configure.ac:
8212         * docs/Makefile.am:
8213         * docs/design/Makefile.am:
8214           Dist design docs.
8215
8216 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
8217
8218         * configure.ac:
8219           back to CVS
8220
8221 === release 0.10.3 ===
8222
8223 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
8224
8225         * configure.ac:
8226           releasing 0.10.3, "Like a virgin"
8227
8228 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
8229
8230         * configure.ac:
8231           2nd prerelease of 0.10.3
8232           Bump libtool versioning.
8233
8234 2006-02-07  Andy Wingo  <wingo@pobox.com>
8235
8236         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
8237         update last_stop if we're in TIME format and the timestamp is
8238         valid.
8239
8240         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
8241         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
8242         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
8243         If we get a new newsegment with a different format, adapt
8244         accordingly.
8245
8246         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
8247         of 0. Not a problem, really.
8248
8249         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
8250         warn if sync=true.
8251
8252 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
8253
8254         * configure.ac:
8255           Prelease of 0.10.3
8256
8257 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
8258
8259         * win32/vs7:
8260           project files updated to the default vs7 configuration
8261         * win32/common/libgstbase.def:
8262         * win32/common/libgstreamer.def:
8263           added new symbols,
8264           removed empty lines,
8265           sorted all exported symbols alphabetically
8266         * win32/common/dirent.c:
8267         * win32/common/dirent.h:
8268         * win32/common/gchar.h:
8269           use windows line end.
8270           
8271 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
8272
8273         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
8274           Send EOS event when stopping.
8275
8276 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
8277
8278         * docs/README:
8279           Tell folks what to do if the plugin-foobar.xml file
8280           hasn't been generated for a newly-added plugin.
8281
8282 2006-02-05  Julien MOUTTE  <julien@moutte.net>
8283
8284         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
8285         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
8286         (gst_collect_pads_start), (gst_collect_pads_stop),
8287         (gst_collect_pads_event): Collectpads now holds a reference
8288         to the GstPad that was added. Indeed we don't want to look
8289         at pads that might just go away with no warning...
8290
8291 2006-02-05  Julien MOUTTE  <julien@moutte.net>
8292
8293         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
8294         (gst_collect_pads_start), (gst_collect_pads_stop),
8295         (gst_collect_pads_event), (gst_collect_pads_chain):
8296         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
8297         Mark Nauwelaerts's patch on bug #328491.
8298
8299 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
8300
8301         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
8302         (gst_utils_suite):
8303           Add some simple tests for gst_parse_bin_from_description() and
8304           gst_bin_find_unconnected_pad() (#329069).
8305
8306 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
8307
8308         * tools/gst-launch.c: (event_loop), (main):
8309           Catch errors during preroll (#320084).
8310
8311 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
8312
8313         * plugins/elements/gsttypefindelement.c:
8314         (gst_type_find_element_activate):
8315           Post TYPE_NOT_FOUND error message when typefinding
8316           is unsuccessful in the activate function as well.
8317
8318 2006-02-02  Wim Taymans  <wim@fluendo.com>
8319
8320         * docs/design/part-element-sink.txt:
8321         Updated doc.
8322
8323 2006-02-02  Wim Taymans  <wim@fluendo.com>
8324
8325         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
8326         (gst_base_sink_render_object),
8327         (gst_base_sink_queue_object_unlocked):
8328         Only keep track of prerollable items when we are 
8329         prerolling.
8330         Before rendering after preroll, always check if we
8331         have queued items.
8332         Added some more debugging.
8333
8334 2006-02-02  Wim Taymans  <wim@fluendo.com>
8335
8336         * gst/gstelement.c: (gst_element_continue_state),
8337         (gst_element_set_state_func), (gst_element_change_state):
8338         Fixed #326576, been running this for quite some time with
8339         no regressions at all.
8340
8341 2006-02-02  Wim Taymans  <wim@fluendo.com>
8342
8343         * common/gst.supp:
8344         Added more suppressions
8345
8346 2006-02-02  Wim Taymans  <wim@fluendo.com>
8347
8348         * docs/design/part-element-sink.txt:
8349         Updated document.
8350
8351         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
8352         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
8353         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
8354         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
8355         (gst_base_sink_do_sync), (gst_base_sink_render_object),
8356         (gst_base_sink_preroll_object),
8357         (gst_base_sink_queue_object_unlocked),
8358         (gst_base_sink_queue_object), (gst_base_sink_event),
8359         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
8360         (gst_base_sink_loop), (gst_base_sink_activate_pull),
8361         (gst_base_sink_get_position), (gst_base_sink_change_state):
8362         * libs/gst/base/gstbasesink.h:
8363         Totally refactored matching the design doc.
8364         Use two segments, one to clip incomming buffers and another to
8365         perform sync.
8366         Handle queueing correctly, bypass the queue when playing.
8367         Make EOS cancelable.
8368         Handle errors correctly when operating in pull based mode.
8369
8370         * tests/check/elements/fakesink.c: (GST_START_TEST),
8371         (fakesink_suite):
8372         Added new check for sinks.
8373
8374 2006-02-02  Wim Taymans  <wim@fluendo.com>
8375
8376         * gst/gstsegment.c: (gst_segment_clip):
8377         No reason to refuse to clip when start == -1
8378
8379 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
8380
8381         * docs/README:
8382         * docs/manual/intro-basics.xml:
8383         * docs/manual/intro-preface.xml:
8384         * docs/manual/manual.xml:
8385         * docs/pwg/advanced-dparams.xml:
8386         * docs/pwg/intro-basics.xml:
8387         * docs/pwg/intro-preface.xml:
8388         * docs/pwg/pwg.xml:
8389           describe dparams (controller) for plugins
8390           unify docs a little more
8391
8392 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
8393
8394         * docs/gst/gstreamer-sections.txt:
8395         * gst/gstutils.c: (element_find_unconnected_pad),
8396         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
8397         * gst/gstutils.h:
8398           Add new API: gst_parse_bin_from_description() and
8399           gst_bin_find_unconnected_pad() (#329069).
8400
8401 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
8402
8403         * docs/manual/README:
8404           uncover a nasty detail of the docs build
8405
8406 2006-01-31  Wim Taymans  <wim@fluendo.com>
8407
8408         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
8409         Don't cache duration messages if we're not going to use or
8410         free them.
8411
8412 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
8413
8414         * docs/manual/advanced-dparams.xml:
8415         * docs/pwg/advanced-dparams.xml:
8416           more dparam docs
8417         * gst/gstindex.c:
8418           fix docs
8419         * libs/gst/controller/lib.c: (gst_controller_init):
8420           init just once
8421
8422 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
8423
8424         * gst/gstelement.c: (gst_element_message_full):
8425           also show file/line/func if no additional debug was given
8426
8427 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
8428         
8429         * win32/vs7/grammar.vcproj:
8430           activate copy of autogenerated files for Release mode
8431
8432 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
8433         
8434         * win32/common/libgstreamer.def:
8435           export gst_value_compare
8436
8437 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
8438
8439         * plugins/elements/Makefile.am:
8440         * plugins/elements/gstelements.c:
8441         * plugins/elements/gstfdsink.c: (_do_init),
8442         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
8443         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
8444         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
8445         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
8446         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
8447         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
8448         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
8449         * plugins/elements/gstfdsink.h:
8450         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
8451
8452 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
8453
8454         * docs/manual/advanced-dparams.xml:
8455           describe controller
8456         * docs/manual/advanced-position.xml:
8457         * docs/manual/basics-init.xml:
8458         * docs/manual/manual.xml:
8459         * docs/manual/titlepage.xml:
8460         * docs/pwg/pwg.xml:
8461         * docs/pwg/titlepage.xml:
8462           cleanup xml (more to come)
8463         * libs/gst/controller/gstcontroller.c:
8464           fix typo
8465
8466 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
8467         
8468         * win32/vs6/grammar.dsp:
8469           add autogen of gstmarshal.c,h for Release mode
8470                 
8471 2006-01-30  Wim Taymans  <wim@fluendo.com>
8472
8473         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
8474         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
8475         (gst_base_sink_handle_object), (gst_base_sink_event),
8476         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
8477         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
8478         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
8479         (gst_base_sink_deactivate), (gst_base_sink_activate),
8480         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
8481         (gst_base_sink_query), (gst_base_sink_change_state):
8482         Basesink cleanups, remove some old code.
8483         Handle the case where a subclass can preroll in the render
8484         method (mostly audiosinks).
8485         Handle more events.
8486         Remove some locks around variables that are now protected
8487         with the PREROLL_LOCK (clock_id, flushing, ..).
8488         Optimize position query some more, do correct locking.
8489         Remove old code to push queue in state change, this is not
8490         needed anymore since preroll blocks on all prerollable items 
8491         now.
8492         Almost implemented as described in design doc.
8493
8494 2006-01-30  Wim Taymans  <wim@fluendo.com>
8495
8496         * tests/check/gst/gstbin.c: (GST_START_TEST):
8497         Wait for refcount to settle down before checking.
8498
8499 2006-01-30  Wim Taymans  <wim@fluendo.com>
8500
8501         * docs/design/part-element-sink.txt:
8502         Pseudo code overview of desired sink behaviour regarding
8503         preroll.
8504
8505 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
8506         * win32/vs6/grammar.dsp:
8507           fix some bugs in Release mode for autogenerated files
8508                 
8509 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
8510         * win32/common/libgstbase.def:
8511         * win32/common/libgstreamer.def:
8512           export some new symbols: gst_base_src_set_format,
8513           gst_iterator_next, gst_structure_set_valist
8514
8515 2006-01-29  Julien MOUTTE  <julien@moutte.net>
8516
8517         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
8518         Set pad functions unconditionally. Fixes #329105.
8519
8520 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
8521         * win32/vs8:
8522           add vs8 project files created by Sergey Scobich
8523
8524 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
8525
8526         * gst/gstutils.c: (gst_element_unlink_pads):
8527         Don't leak pad references.
8528
8529         * tests/check/elements/fakesink.c: (GST_START_TEST):
8530         * tests/check/generic/sinks.c: (GST_START_TEST):
8531         * tests/check/generic/states.c: (GST_START_TEST):
8532         * tests/check/gst/gstbin.c: (GST_START_TEST):
8533         * tests/check/gst/gstcaps.c: (GST_START_TEST):
8534         * tests/check/gst/gstelement.c: (GST_START_TEST):
8535         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
8536         * tests/check/gst/gstiterator.c: (GST_START_TEST):
8537         * tests/check/gst/gstvalue.c: (GST_START_TEST):
8538         Fix a bunch of leaks. Make generic/sinks.c
8539         use a bit less cpu by slowing the buffer rate
8540         between fakesrc and fakesink.
8541         
8542 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
8543         * gst/gstcaps.c:
8544         * gst/gstelement.c: (gst_element_send_event):
8545         * gst/gstevent.c:
8546         * gst/gstinfo.c:
8547         * gst/gstiterator.c:
8548         * gst/gstiterator.h:
8549         * gst/gstpad.c: (gst_pad_send_event):
8550         * gst/gststructure.c:
8551         * gst/gsturi.c:
8552         * gst/gstutils.c:
8553         * gst/gstvalue.c:
8554         * libs/gst/base/gstadapter.c:
8555           doc fixes, to link to function, just write gst_cool_function(), don't
8556           prefix with '#'
8557
8558 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
8559
8560         * plugins/elements/gsttee.c: (gst_tee_do_push),
8561         (gst_tee_handle_buffer):
8562         Always prefer an actual return value from a src
8563         pad in place of NOT_LINKED. This means we return
8564         WRONG_STATE when all src pads are WRONG_STATE
8565         instead of NOT_LINKED.
8566
8567         Lock when replacing the last message to prevent
8568         racing with the get_property method.
8569
8570         Add debug output
8571
8572 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
8573
8574         * tests/check/Makefile.am:
8575         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
8576         (main):
8577         Add a very simple check that should have caught the memleak I fixed
8578         last night (if not for the slice allocator hiding it)
8579
8580 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
8581
8582         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
8583         (gst_bin_remove_func), (gst_bin_handle_message_func),
8584         (bin_query_duration_fold), (bin_query_generic_fold):
8585         Clean up references to the clock provider when disposed or when
8586         handling a clock-lost message from it.
8587
8588         Unref sinks when performing a query via gst_iterator_fold, as the
8589         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
8590
8591         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
8592         (gst_clock_set_master):
8593         Drop our reference to the master clock, if any, when we are disposed.
8594
8595         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
8596         Chain up in dispose. 
8597
8598 2006-01-26  Wim Taymans  <wim@fluendo.com>
8599
8600         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
8601         Add some debugging.
8602
8603 2006-01-26  Julien MOUTTE  <julien@moutte.net>
8604
8605         * plugins/elements/gsttee.c: (gst_tee_do_push),
8606         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
8607         handles pad being NOT_LINKED or in WRONG_STATE.
8608
8609 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
8610
8611         * win32/MANIFEST:
8612           more updating
8613
8614 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
8615
8616         * win32/MANIFEST:
8617           remove obsolete entry
8618
8619 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
8620
8621         * docs/gst/gstreamer-sections.txt:
8622         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
8623         (gst_bin_iterate_sources), (gst_bin_send_event):
8624         * gst/gstbin.h:
8625         * gst/gstelement.c: (gst_element_send_event):
8626         * gst/gstevent.c:
8627         * gst/gstpad.c: (gst_pad_send_event):
8628           added code for downstream events, reviewed docs in gstevent.c
8629
8630 2006-01-25  Julien MOUTTE  <julien@moutte.net>
8631
8632         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
8633         We only query position using the clock in the playing state.
8634         Query peer in the other cases.
8635         * win32/common/config.h: Updates.
8636
8637 2006-01-24  Wim Taymans  <wim@fluendo.com>
8638
8639         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
8640         A clock entry that is scheduled for the exact time of the
8641         clock is still in time.
8642
8643         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8644         (gst_base_sink_do_sync):
8645         Add some more debug info.
8646
8647 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
8648
8649         * win32/vs7:
8650           Add new vs7 project files and solution.
8651
8652 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
8653
8654         * win32/vs7:
8655           all files removed as they were out-dated.
8656
8657 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8658
8659         * docs/random/release:
8660           update notes
8661         * gst/gstbin.c: (gst_bin_init):
8662         * gst/gstbus.c: (gst_bus_new):
8663         * gst/gstbus.h:
8664         * gst/gstpipeline.c: (gst_pipeline_init):
8665           use gst_bus_new(), improve logging, fix docs
8666         * win32/common/config.h:
8667           update for cvs build
8668
8669 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8670
8671         * autogen.sh:
8672           up required version of automake to 1.7
8673
8674 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
8675
8676         * win32/common/libgstreamer.def:
8677           export gst_buffer_is_metadata_writable
8678
8679 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
8680
8681         * docs/gst/gstreamer-sections.txt:
8682         * gst/gstevent.h:
8683           Add gst_event_replace() (#327001)
8684
8685 2006-01-20  Wim Taymans  <wim@fluendo.com>
8686
8687         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
8688         Make it actually compile too..
8689
8690 2006-01-20  Wim Taymans  <wim@fluendo.com>
8691
8692         * gst/gstcaps.c:
8693         Clarify behaviour of _is_equal() when passing NULL parameters.
8694
8695         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
8696         (gst_pad_set_caps):
8697         Cleanups. Don't unref NULL caps.
8698         When setting the same caps, protect caps of the pad with
8699         proper lock.
8700         Use full functionality of _is_equal() when comparing caps.
8701
8702 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
8703
8704         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
8705         Don't loop infinitely if there are no buffers to present. Partially
8706         fixes #327197, but collectpads is just broken for reusing elements
8707         to do multiple encodes atm.
8708
8709 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
8710
8711         * tools/gst-inspect.c: (print_element_features):
8712         * tools/gst-xmlinspect.c: (main):
8713         URL_HANDLER is not a plugin feature we can search for in
8714         the registry.
8715
8716 2006-01-19  Edward Hervey  <edward@fluendo.com>
8717
8718         * gst/gstelement.c: (gst_element_pads_activate): 
8719         When activating, do src pads first, then sink pads.
8720         When de-activating, do sink pads first, then src pads.
8721
8722 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
8723
8724         * docs/gst/gstreamer-sections.txt:
8725         Add gst_index_add_associationv to the docs
8726
8727 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
8728
8729         * gst/gstevent.c:
8730           Fix docs typo
8731
8732         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
8733         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
8734           Do some refactoring. Doesn't actually change functionality,
8735           but makes landing the DRAIN event easier later.
8736
8737 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
8738
8739         * docs/pwg/advanced-scheduling.xml:
8740           Update from 0.9.x to 0.10 API and make example a bit
8741           clearer.
8742
8743 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
8744
8745         * docs/gst/gstreamer-sections.txt:
8746         Add gst_buffer_(is|make)_metadata_writable methods.
8747
8748 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
8749
8750         * docs/design/part-sparsestreams.txt:
8751         Update sparse streams doc, hopefully for greater clarity
8752
8753 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
8754
8755         * docs/design/part-events.txt:
8756         Remove mention of FILLER events.
8757         Add DRAIN event.
8758
8759         * docs/design/part-sparsestreams.txt:
8760         Write some things about using NEWSEGMENT to keep sparse streams
8761         flowing.
8762
8763 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
8764
8765         * gst/gstbin.c: (gst_bin_dispose):
8766           Guard gst_object_unref call against a NULL object (dispose
8767           can theoretically be called multiple times).
8768           
8769 2006-01-18  Wim Taymans  <wim@fluendo.com>
8770
8771         * gst/gstbin.c: (gst_bin_element_set_state):
8772         * gst/gstclock.c: (gst_clock_id_wait):
8773         Added some more debug info.
8774
8775         * libs/gst/base/gstadapter.c:
8776         Added more docs.
8777
8778         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8779         (gst_base_sink_do_sync), (gst_base_sink_chain):
8780         Added some comments.
8781
8782 2006-01-18  Wim Taymans  <wim@fluendo.com>
8783
8784         * tests/check/Makefile.am:
8785         * tests/check/elements/fakesink.c: (chain_async_buffer),
8786         (chain_async), (chain_async_return), (GST_START_TEST),
8787         (fakesink_suite), (main):
8788         Added fakesink test that checks prerolling and clipping
8789         behaviour.
8790
8791         * tests/check/gst/gstutils.c: (GST_START_TEST):
8792         Make check run faster so that buildbots don't timeout.
8793
8794 2006-01-18  Wim Taymans  <wim@fluendo.com>
8795
8796         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8797         (gst_base_sink_do_sync):
8798         Some cleanups.
8799         When the sink finishes blocking on the preroll buffer, it can
8800         immediatly render it instead of rendering when the next buffer
8801         arrives.
8802
8803 2006-01-18  Wim Taymans  <wim@fluendo.com>
8804
8805         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
8806         (gst_base_sink_get_property), (gst_base_sink_do_sync),
8807         (gst_base_sink_chain):
8808         Small cleanups.
8809         GST_ELEMENT_CLOCK and sync are protected with LOCK.
8810         Don't store _last_stop if the buffer is dropped.
8811
8812 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
8813
8814         * plugins/elements/gsttypefindelement.c:
8815         (gst_type_find_element_class_init):
8816           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
8817           object method handler that sets the caps on the pad and we want
8818           that to happen before we emit the signal (fixes e.g. feeding a
8819           plain text file to decodebin).
8820
8821 2006-01-18  Christian Schaller  <Christian@fluendo.com>
8822
8823         * gst/gstplugin.c: Add MPL and Proprietary as license options
8824
8825 2006-01-18  Andy Wingo  <wingo@pobox.com>
8826
8827         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
8828         symbol was exported before, it appears this was just an oversight.
8829         Fixes #168703.
8830         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
8831
8832         * gst/gstindex.c (gst_index_add_associationv): Changed int in
8833         prototype to gint. OK since this prototype was not in the header.
8834
8835 2006-01-17  Andy Wingo  <wingo@pobox.com>
8836
8837         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
8838         registry while we remove plugins.
8839
8840         * tools/gst-inspect.c (print_element_info): Don't unref the
8841         factory arg, that should be the responsibility of whatever code
8842         received the ref. Fixes a double-free when called from
8843         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
8844         (main): Unref the factory if we have one.
8845         (print_element_list): No change -- relies on the
8846         plugin_feature_list_free to free the list of features.
8847
8848 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
8849
8850         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
8851         (gst_buffer_make_metadata_writable):
8852         * gst/gstbuffer.h:
8853         * libs/gst/base/gstbasetransform.c:
8854         (gst_base_transform_prepare_output_buf):
8855         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
8856         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8857           Replace gst_buffer_(make|is)_metadata_writable patch now
8858           that the release is out.
8859
8860 2006-01-17  Andy Wingo  <wingo@pobox.com>
8861
8862         * gst/gstregistry.c: Reflow design comment. Update so as to speak
8863         in the present tense without reference to versions.
8864
8865         * gst/gstregistry.c (gst_registry_add_plugin)
8866         (gst_registry_remove_plugin, gst_registry_remove_feature)
8867         (gst_registry_find_feature, gst_registry_get_feature_list)
8868         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
8869         (gst_registry_lookup, gst_registry_scan_path)
8870         (_gst_registry_remove_cache_plugins)
8871         (gst_registry_get_feature_list_by_plugin): Add argument
8872         validation.
8873
8874 === release 0.10.2 ===
8875
8876 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
8877
8878         * configure.ac:
8879           releasing 0.10.2, "If man is five"
8880
8881 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
8882
8883         * gst/gstbuffer.c:
8884         * gst/gstbuffer.h:
8885         * libs/gst/base/gstbasetransform.c:
8886         (gst_base_transform_prepare_output_buf):
8887         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
8888         * tests/check/gst/gstbuffer.c: (gst_test_suite):
8889           Back out patch until after the release.
8890
8891 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
8892
8893         * gst/gstminiobject.c:
8894           Spelling fix in docs.
8895         * ChangeLog - remove conflict indicator
8896
8897 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
8898
8899         Reviewed By: Andy Wingo
8900
8901         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
8902         (gst_buffer_make_metadata_writable):
8903         * gst/gstbuffer.h:
8904           Add gst_buffer_(is|make)_metadata_writable as analogues of
8905           gst_buffer_(is|make)_writable.
8906
8907         * libs/gst/base/gstbasetransform.c:
8908         (gst_base_transform_prepare_output_buf):
8909         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
8910           Use name gst_buffer_(is|make)_metadata_writable functions.
8911
8912         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8913           Test gst_buffer_(is|make)_metadata_writable
8914         
8915           (Closes: #324162)
8916
8917 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8918
8919         * docs/manual/Makefile.am:
8920           don't do parallel make
8921         * configure.ac:
8922           AC_SUBST HOST_CPU
8923         * win32/common/config.h.in:
8924           add generations for HOST_CPU and GST_MAJORMINOR
8925         * win32/common/config.h:
8926           commit generated result
8927
8928 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
8929
8930         * docs/manual/appendix-integration.xml:
8931           Update GNOME integration section to use gst_init_get_option_group()
8932           instead of the old popt stuff (#322911). Also, GNOME applications
8933           should  now use gconf*sink and gconf*src instead of the old gconf
8934           helper lib we had.
8935
8936 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
8937
8938
8939         * docs/gst/gstreamer-docs.sgml:
8940         * docs/gst/gstreamer-sections.txt:
8941         * docs/libs/gstreamer-libs-sections.txt:
8942           add new API entries to the docs
8943         * libs/gst/controller/Makefile.am:
8944         * libs/gst/controller/gstcontroller.c:
8945         * libs/gst/controller/gstcontroller.h:
8946         * libs/gst/controller/gstcontrollerprivate.h:
8947         * libs/gst/controller/gsthelper.c:
8948         * libs/gst/controller/gstinterpolation.c:
8949           move private structs to private header
8950         * po/README:
8951           gstreamer-0.7 -> gstreamer-0.10
8952         * tests/check/libs/struct_i386.h:
8953           remove private structs
8954
8955 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8956
8957         * plugins/indexers/Makefile.am:
8958           Fixes as part of #317048
8959
8960 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8961
8962         * plugins/indexers/Makefile.am:
8963           fix #316086 - compilation when mmap is missing
8964
8965 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
8966
8967         * libs/gst/base/gstbasesink.c:
8968           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
8969           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
8970         * win32/common/config.h:
8971           added some defines GST_MAJORMINOR and HOST_CPU
8972         * win32/common/libgstbase.def:
8973         * win32/common/libgstreamer.def:
8974           added some exported functions.
8975
8976 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
8977
8978         * libs/gst/controller/gstcontroller.c:
8979         (gst_controlled_property_set_interpolation_mode),
8980         (gst_controlled_property_new):
8981         * libs/gst/controller/gstcontroller.h:
8982         * libs/gst/controller/gstinterpolation.c:
8983         (interpolate_none_get_string_value_array):
8984           make G_TYPE_STRING controlable
8985
8986 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
8987
8988         * tools/README:
8989         * tools/gst-feedback.1.in:
8990         * tools/gst-inspect.1.in:
8991         * tools/gst-launch.1.in:
8992         * tools/gst-md5sum.1.in:
8993         * tools/gst-typefind.1.in:
8994         * tools/gst-xmlinspect.1.in:
8995         * tools/gst-xmllaunch.1.in:
8996           cleanup man-pages, remove reference to gst-register, document env-vars
8997
8998 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
8999
9000         * gst/gstbuffer.c: (gst_buffer_span):
9001           gst_buffer_span should copy the timestamp of the first buffer
9002           if they were both originally overlapping subbuffers of the 
9003           same parent, using the same logic as the 'slow copy' case.
9004
9005 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
9006
9007         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
9008           Need to awaken ALL the pads when we pop a buffer, otherwise
9009           collectpads only works when there is 2 input streams.
9010
9011 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
9012
9013         * docs/random/ensonic/media-device-daemon.txt:
9014           more ideas (dbus)
9015         * gst/gstbuffer.c:
9016           fix doc example, add clarification
9017         * tools/gst-launch.1.in:
9018           add initial info about GST_PLUGIN_PATH, needs more work
9019
9020 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
9021
9022         * docs/manual/basics-bins.xml:
9023         * docs/manual/basics-elements.xml:
9024         * docs/manual/intro-basics.xml:
9025           Some more minor docs additions and updates.
9026
9027 2006-01-11  Wim Taymans  <wim@fluendo.com>
9028
9029         * docs/manual/basics-bins.xml:
9030         * docs/manual/basics-elements.xml:
9031         Some small fixes as pointed out by Ser-ver on IRC.
9032
9033 2006-01-10  Edward Hervey  <edward@fluendo.com>
9034
9035         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
9036         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
9037         the single-segment mode.
9038
9039 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
9040
9041         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9042
9043         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
9044         (gst_base_src_perform_seek), (gst_base_src_send_event),
9045         (gst_base_src_set_property), (gst_base_src_get_property),
9046         (gst_base_src_loop), (gst_base_src_start),
9047         (gst_base_src_activate_push):
9048         * libs/gst/base/gstbasesrc.h:
9049           Name (private) union; makes Sun's Forte compiler happy (#324900).
9050
9051 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
9052
9053         * README:
9054           gst-register is gone.
9055
9056 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9057
9058         * gst/gstvalue.c: (_gst_value_initialize):
9059           make the G_TYPE_DATE instantiation work if debug is disabled
9060
9061 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
9062
9063         * gst/gstmessage.c: (gst_message_parse_tag),
9064         (gst_message_parse_error), (gst_message_parse_warning):
9065           Don't crash when return location for error/warning debug
9066           string is NULL; add fact that return locations can be
9067           NULL to docs where appropriate.
9068
9069 2006-01-05  Wim Taymans  <wim@fluendo.com>
9070
9071         * gst/gstplugin.c: (gst_plugin_load_file):
9072         Replace strdup by g_strdup.
9073
9074 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9075
9076         * docs/pwg/advanced-types.xml:
9077           fix doc borkage
9078
9079 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9080
9081         submitted by: Abel Cheung
9082
9083         * po/LINGUAS:
9084         * po/zh_TW.po:
9085           Added Chinese (traditional) translation
9086
9087 2006-01-04  Wim Taymans  <wim@fluendo.com>
9088
9089         * docs/manual/basics-pads.xml:
9090         * docs/plugins/Makefile.am:
9091         * docs/plugins/gstreamer-plugins-docs.sgml:
9092         * docs/plugins/gstreamer-plugins-sections.txt:
9093         * docs/pwg/advanced-clock.xml:
9094         * docs/pwg/advanced-scheduling.xml:
9095         * docs/pwg/advanced-types.xml:
9096         * plugins/elements/gstfdsink.c:
9097         * plugins/elements/gstfdsrc.c:
9098         * plugins/elements/gstfdsrc.h:
9099         * plugins/elements/gstidentity.c: (gst_identity_class_init):
9100         * plugins/elements/gstidentity.h:
9101         * plugins/elements/gstqueue.h:
9102         * plugins/elements/gsttee.c:
9103         * plugins/elements/gsttee.h:
9104         * plugins/elements/gsttypefindelement.c:
9105         (gst_type_find_element_class_init):
9106         * plugins/elements/gsttypefindelement.h:
9107         Small updates to various docs.
9108         Added core plugins to docs.
9109
9110 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9111
9112         * common/gst.supp:
9113           add a suppression for liboil's uninitialized variable
9114
9115 2006-01-02  James Livingston  <jrl at ids dot org dot au>
9116
9117         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9118
9119         * gst/gstutils.h:
9120           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
9121           macro, so that gcc doesn't complain if the -Wmissing-prototypes
9122           compiler switch is being used (#325429).
9123
9124 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
9125
9126         * gst/gstbin.c: (gst_bin_query):
9127           Disable duration query caching in bins until it gets
9128           fixed (see #324807).
9129
9130 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
9131
9132         * tools/gst-inspect.c: (print_element_properties_info):
9133           Handle properties of POINTER and BOXED type.
9134
9135 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
9136
9137         * gst/gst.c: (init_post):
9138           Init tags stuff and some other things before loading
9139           any static plugins (there may be other static plugins
9140           than just the GStreamer ones, and they may want to
9141           register their own tags or formats or whatever, and
9142           preferably without segfaulting).
9143
9144         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
9145           Print at least a warning in the debug logs if we drop a
9146           query just because we don't know how to adjust the value
9147           in the particular format.
9148
9149 2005-12-24  David Schleef  <ds@schleef.org>
9150
9151         * tools/gstreamer-completion:
9152           Replacement for gst-complete written in sh and sed.  Only
9153           completes names of features, but that's 90% of what I want
9154           it for.  Properties are not available in registry.xml.  (Maybe
9155           they should be...)
9156
9157 === release 0.10.1 ===
9158
9159 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
9160
9161         * configure.ac:
9162           releasing 0.10.1, "Nollaig chridheil"
9163
9164 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
9165
9166         * docs/faq/cvs.xml:
9167           Add missing quote, should be make ERROR_CFLAGS="".
9168
9169 2005-12-20  Wim Taymans  <wim@fluendo.com>
9170
9171         * docs/design/part-trickmodes.txt:
9172         More documentation on trickmodes.
9173
9174 2005-12-20  Edward Hervey  <edward@fluendo.com>
9175
9176         * gst/gstcaps.c: (gst_static_caps_get_type):
9177         * gst/gstcaps.h:
9178           API addition: GST_TYPE_STATIC_CAPS
9179         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
9180         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
9181         * gst/gstpadtemplate.h:
9182           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
9183         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
9184         bindings.
9185
9186 2005-12-18  Wim Taymans  <wim@fluendo.com>
9187
9188         * libs/gst/base/gstadapter.c:
9189         * libs/gst/base/gstadapter.h:
9190         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
9191         (gst_base_sink_get_position):
9192         * libs/gst/base/gstbasesink.h:
9193         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9194         (gst_base_src_default_query), (gst_base_src_default_do_seek),
9195         (gst_base_src_do_seek), (gst_base_src_perform_seek),
9196         (gst_base_src_send_event), (gst_base_src_update_length),
9197         (gst_base_src_get_range), (gst_base_src_loop),
9198         (gst_base_src_start):
9199         * libs/gst/base/gstbasesrc.h:
9200         * libs/gst/base/gstbasetransform.h:
9201         * libs/gst/base/gstcollectpads.h:
9202         * libs/gst/base/gstpushsrc.c:
9203         * libs/gst/base/gstpushsrc.h:
9204         * libs/gst/dataprotocol/dataprotocol.c:
9205         * libs/gst/dataprotocol/dataprotocol.h:
9206         * libs/gst/net/gstnetclientclock.h:
9207         * libs/gst/net/gstnettimeprovider.h:
9208         Documentation updates.
9209
9210 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
9211
9212         * docs/manual/basics-helloworld.xml:
9213           Remove superfluous closing bracket in helloworld example.
9214
9215 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
9216
9217         * tools/gst-launch.1.in:
9218           Update gst-launch man page; add a section with useful
9219           environment variables. Fixes #323882.
9220
9221 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
9222
9223         * gst/gst.c:
9224         * gst/gst_private.h:
9225           change some char* into char[]
9226
9227 2005-12-16  Wim Taymans  <wim@fluendo.com>
9228
9229         * gst/gstregistryxml.c: (load_feature):
9230         Cleanups.
9231         Don't use g_object_unref on GstObjects so that we avoid
9232         leaks on unsafe glibs.
9233
9234 2005-12-16  Wim Taymans  <wim@fluendo.com>
9235
9236         * gst/gstbin.c: (gst_bin_recalc_state):
9237         Small doc updates.
9238
9239 2005-12-16  Wim Taymans  <wim@fluendo.com>
9240
9241         * common/check.mak:
9242         Added make forever target for check.
9243
9244 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9245
9246         * gst/gst.c: (init_post):
9247           make the registry cache file HOST_CPU-dependent
9248
9249 2005-12-16  Andy Wingo  <wingo@pobox.com>
9250
9251         * plugins/elements/gstbufferstore.c
9252         (gst_buffer_store_cleared_func): Pay attention to g_list_append
9253         return value.
9254
9255         * tests/check/gst/gstobject.c
9256         (test_fake_object_name_threaded_unique): Pay attention to
9257         g_list_sort return value.
9258
9259 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
9260
9261         * tools/gst-feedback-m.m:
9262           Update for 0.9/0.10 (fixes #323870).
9263
9264 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
9265
9266         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
9267           Fix lcopy for mini objects, the mini object needs to be ref'ed.
9268           
9269         * tests/check/gst/gstminiobject.c: (my_foo_init),
9270         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
9271         (test_value_collection), (gst_mini_object_suite):
9272           Add test to ensure refcounts end up as expected when passing
9273           GstMiniObjects through g_object_get() and g_object_set().
9274
9275 2005-12-14  Julien MOUTTE  <julien@moutte.net>
9276
9277         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
9278         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
9279         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
9280         of collectpads. This version removes a lot of races without
9281         touching API/ABI. Yay !
9282
9283 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
9284
9285         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
9286           Don't allow activation of a srcpad in pull_range if it has no
9287           getrange function.
9288           Change some debug statements to be a little clearer
9289
9290         * plugins/elements/gsttypefindelement.c:
9291         (gst_type_find_handle_src_query):
9292           Check that we have a peer before executing queries thereupon.
9293
9294         * tests/examples/metadata/read-metadata.c: (message_loop):
9295           Use gst_bus_pop instead of gst_bus_poll when we just want it to
9296           immediately return us any available message with 0 timeout.
9297
9298 2005-12-12  Michael Smith  <msmith@fluendo.com>
9299
9300         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
9301           Don't unref factories after calling them.
9302         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
9303         * plugins/elements/gsttypefindelement.c:
9304         (gst_type_find_element_chain):
9305           Free lists of factories after using them. Fixing typefinding memory
9306           leaks.
9307
9308 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9309
9310         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
9311         (gst_plugin_feature_load):
9312           more meaningful debug output
9313         * configure.ac:
9314         * tests/Makefile.am:
9315         * tests/old/examples/Makefile.am:
9316           make make distcheck happy again
9317
9318 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
9319
9320         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
9321           Catch the special case where we are operating chain-based,
9322           but the downstream peer pad has no chain function. Emit a
9323           custom error message in this case instead of letting the
9324           core generate one implying that this is some sort of core
9325           bug. It's not, it just means that whatever got plugged
9326           into the pipeline downstream when we announced the type
9327           can only operate pull-based, while our source can only
9328           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
9329           Error string has not been marked for translation yet, as
9330           it probably needs some more work first.
9331
9332         (gst_type_find_element_get_best_possibility):
9333           Add helper function to find the best of all available
9334           found possibilities that qualify given the min. threshold.
9335
9336         (gst_type_find_element_handle_event):
9337           Fix the case where we get an EOS while still in TYPEFIND
9338           mode (we want to chose the best of all possible types,
9339           not just the first type that happens to be in our unsorted
9340           list of possible types).
9341
9342         (gst_type_find_element_chain):
9343           Make sure we return GST_FLOW_ERROR when we errored out
9344           in stop_typefinding(); also, don't just find the best of
9345           all found type entries and then use the last examined
9346           type entry, but actually use the best entry.
9347
9348 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
9349
9350         * tests/examples/typefind/typefind.c: (type_found):
9351         * tests/examples/xml/runxml.c: (xml_loaded):
9352           More gcc4 fixes and a mem leak fix.
9353
9354 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9355
9356         * tests/examples/xml/createxml.c: (object_saved):
9357           gcc 4 fixes
9358
9359 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9360
9361         * tests/Makefile.am:
9362           enable the examples even more
9363
9364 2005-12-12  Andy Wingo  <wingo@pobox.com>
9365
9366         * libs/gst/net/gstnettimeprovider.c
9367         (gst_net_time_provider_class_init, gst_net_time_provider_init)
9368         (gst_net_time_provider_set_property)
9369         (gst_net_time_provider_get_property):
9370         API addition: Export "active" as a GObject property.
9371         (gst_net_time_provider_thread): Only respond to time queries if
9372         the time provider is active.
9373
9374         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
9375         NetTimeProvider, preserving binary compat.
9376
9377 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9378
9379         * tests/examples/controller/audio-example.c: (main):
9380         * tests/examples/launch/Makefile.am:
9381           convert comments again
9382
9383 2005-12-12  Wim Taymans  <wim@fluendo.com>
9384
9385         * libs/gst/base/gstpushsrc.c:
9386         Fix typo.
9387
9388 2005-12-12  Wim Taymans  <wim@fluendo.com>
9389
9390         * docs/libs/gstreamer-libs-sections.txt:
9391         Added new symbol to docs.
9392
9393         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9394         (gst_base_src_init), (gst_base_src_set_format),
9395         (gst_base_src_default_query), (gst_base_src_query),
9396         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
9397         (gst_base_src_perform_seek), (gst_base_src_send_event),
9398         (gst_base_src_default_event), (gst_base_src_event_handler),
9399         (gst_base_src_set_property), (gst_base_src_get_property),
9400         (gst_base_src_wait), (gst_base_src_do_sync),
9401         (gst_base_src_update_length), (gst_base_src_get_range),
9402         (gst_base_src_check_get_range), (gst_base_src_loop),
9403         (gst_base_src_default_negotiate), (gst_base_src_start),
9404         (gst_base_src_activate_push), (gst_base_src_activate_pull),
9405         (gst_base_src_change_state):
9406         * libs/gst/base/gstbasesrc.h:
9407         Implement seeking to other formats than _BYTES.
9408         Implement more seeking methods correctly.
9409         Doc updates.
9410         Added query vmethod.
9411         Added do_seek vmethod to make life easier for subclasses
9412         when seeking.
9413         API addition: gst_base_src_set_format()
9414
9415 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9416
9417         * tests/examples/Makefile.am:
9418           added that too
9419
9420 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9421
9422         * configure.ac:
9423         * docs/random/ensonic/media-device-daemon.txt:
9424         * tests/examples/controller/.cvsignore:
9425         * tests/examples/controller/Makefile.am:
9426         * tests/examples/controller/audio-example.c: (main):
9427         * tests/examples/helloworld/.cvsignore:
9428         * tests/examples/helloworld/Makefile.am:
9429         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
9430         * tests/examples/launch/.cvsignore:
9431         * tests/examples/launch/Makefile.am:
9432         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
9433         * tests/examples/metadata/.cvsignore:
9434         * tests/examples/metadata/Makefile.am:
9435         * tests/examples/metadata/read-metadata.c: (message_loop),
9436         (make_pipeline), (print_tag), (main):
9437         * tests/examples/queue/.cvsignore:
9438         * tests/examples/queue/Makefile.am:
9439         * tests/examples/queue/queue.c: (event_loop), (main):
9440         * tests/examples/typefind/.cvsignore:
9441         * tests/examples/typefind/Makefile.am:
9442         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
9443         (main):
9444         * tests/examples/xml/.cvsignore:
9445         * tests/examples/xml/Makefile.am:
9446         * tests/examples/xml/createxml.c: (object_saved), (main):
9447         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
9448         * tests/old/examples/Makefile.am:
9449         * tests/old/examples/TODO:
9450         * tests/old/examples/controller/.cvsignore:
9451         * tests/old/examples/controller/Makefile.am:
9452         * tests/old/examples/controller/audio-example.c:
9453         * tests/old/examples/helloworld/.cvsignore:
9454         * tests/old/examples/helloworld/Makefile.am:
9455         * tests/old/examples/helloworld/helloworld.c:
9456         * tests/old/examples/launch/.cvsignore:
9457         * tests/old/examples/launch/Makefile.am:
9458         * tests/old/examples/launch/mp3parselaunch.c:
9459         * tests/old/examples/launch/mp3play:
9460         * tests/old/examples/manual/Makefile.am:
9461         * tests/old/examples/metadata/Makefile.am:
9462         * tests/old/examples/metadata/read-metadata.c:
9463         * tests/old/examples/queue/.cvsignore:
9464         * tests/old/examples/queue/Makefile.am:
9465         * tests/old/examples/queue/queue.c:
9466         * tests/old/examples/typefind/.cvsignore:
9467         * tests/old/examples/typefind/Makefile.am:
9468         * tests/old/examples/typefind/typefind.c:
9469         * tests/old/examples/xml/.cvsignore:
9470         * tests/old/examples/xml/Makefile.am:
9471         * tests/old/examples/xml/createxml.c:
9472         * tests/old/examples/xml/runxml.c:
9473           applied some simple fixing to some examples
9474           re-enabled the working examples
9475
9476 2005-12-12  Wim Taymans  <wim@fluendo.com>
9477
9478         * gst/gstsegment.c: (gst_segment_init),
9479         (gst_segment_set_last_stop), (gst_segment_set_seek),
9480         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
9481         (gst_segment_to_running_time):
9482         Added more documentation.
9483         Make sure the last_pos value is updated properly.
9484         Make sure to_stream_time and to_running_time don't
9485         operate on wrong values.
9486
9487         * tests/check/gst/gstsegment.c: (GST_START_TEST):
9488         Update check.
9489
9490 2005-12-12  Michael Smith  <msmith@fluendo.com>
9491
9492         * plugins/elements/gsttypefindelement.c: (free_entry),
9493         (gst_type_find_element_chain):
9494           Now that we're not leaking factories, make sure we keep references
9495           to them while we need them.
9496
9497 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9498
9499         * tests/check/gst/struct_i386.h:
9500           ifdef out the XML structs
9501
9502 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9503
9504         * gst/gstvalue.c: (gst_value_transform_double_fraction):
9505           floor is not needed, F is always positive; this obviates the
9506           need for adding -lm when building without libxml
9507
9508 2005-12-12  Wim Taymans  <wim@fluendo.com>
9509
9510         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
9511         Take current playback rate into account when reporting
9512         the position.
9513
9514 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9515
9516         * docs/manual/mime-world.fig:
9517           Let's try this again, this time with a file that is
9518           actually in XFig format.
9519
9520 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9521
9522         * docs/manual/mime-world.fig:
9523           Add audioconvert element to diagram so that it
9524           matches the text and the code (fixes #319526).
9525
9526 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9527
9528         * docs/pwg/building-chainfn.xml:
9529         * docs/pwg/building-pads.xml:
9530         * docs/pwg/building-state.xml:
9531         * docs/pwg/other-source.xml:
9532           Update state change stuff for 0.10 (fixes #322969).
9533
9534 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9535
9536         * docs/manual/advanced-dataaccess.xml:
9537         * docs/manual/appendix-checklist.xml:
9538         * docs/manual/appendix-programs.xml:
9539         * docs/manual/basics-pads.xml:
9540         * docs/manual/highlevel-components.xml:
9541         * docs/manual/manual.xml:
9542           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
9543           add converters in front of pipelines; remove curly
9544           brackets for threads stuff, they no longer exist; use
9545           GST_TYPE_FRACTION for framerates; update some pieces of
9546           code to 0.10, but there's plenty more to do.
9547
9548         * docs/manual/appendix-porting.xml:
9549           Expand on asynchroneous state changes; s/0.9/0.10/;
9550           mention disappearance of gst_init_get_popt_table()
9551           (fixes #322916).
9552
9553 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9554
9555         * docs/faq/using.xml:
9556           Spider no longer exists, and neither does gst-launch-ext.
9557           Update examples to use decodebin and playbin and put
9558           converters in front of sinks (fixes #323726).
9559
9560 2005-12-09  Michael Smith  <msmith@fluendo.com>
9561
9562         * plugins/elements/gsttypefindelement.c: (find_peek),
9563         (gst_type_find_element_chain):
9564           Fix leaking element factories in typefinding.
9565           Fix problem where we forgot about a probable type on non-seekable
9566           files, and thus later mis-typefound it.
9567
9568 2005-12-09  Michael Smith  <msmith@fluendo.com>
9569
9570         * common/m4/gst-makecontext.m4:
9571         * common/m4/gst-mcsc.m4:
9572         * configure.ac:
9573         * win32/common/config.h:
9574         * win32/common/config.h.in:
9575           Remove makecontext stuff; not used in 0.10 and causes problems on
9576           HPUX according to bug #322441
9577
9578 2005-12-07  Wim Taymans  <wim@fluendo.com>
9579
9580         * tests/check/Makefile.am:
9581         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
9582         (main):
9583         * tests/check/libs/struct_i386.h:
9584         Added ABI check for libs
9585
9586 2005-12-07  Wim Taymans  <wim@fluendo.com>
9587
9588         * tests/check/Makefile.am:
9589         And add the struct_i386.h to dist.
9590
9591 2005-12-07  Wim Taymans  <wim@fluendo.com>
9592
9593         * tests/check/Makefile.am:
9594         * tests/check/gst/.cvsignore:
9595         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
9596         (main):
9597         * tests/check/gst/struct_i386.h:
9598         Added check for ABI compatibility.
9599
9600 2005-12-07  Wim Taymans  <wim@fluendo.com>
9601
9602         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
9603         (gst_fake_src_get_times), (gst_fake_src_create):
9604         Fix broken sync option, fixes #323259
9605
9606 2005-12-07  Wim Taymans  <wim@fluendo.com>
9607
9608         * gst/gstbuffer.c:
9609         Small docs update.
9610
9611         * gst/gstcaps.c: (gst_caps_is_equal):
9612         Don't assert on NULL <--> X. Fixes #323260
9613
9614         * gst/gstminiobject.c: (gst_mini_object_replace):
9615         If we're doing atomic operations, we might just as well use
9616         the proper way to get an atomic pointer.
9617
9618         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
9619         Clean up debugging.
9620
9621 2005-12-07  Michael Smith  <msmith@fluendo.com>
9622
9623         * gst/parse/grammar.y:
9624           Remove handling of { } for threads.
9625
9626 2005-12-06  David Schleef  <ds@schleef.org>
9627
9628         * libs/gst/base/gstbasetransform.c: speling fix.
9629
9630 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9631
9632         * docs/libs/tmpl/gstdataprotocol.sgml:
9633         * docs/random/omega/testing/gstobject.c:
9634         * gst/gst.c:
9635         * gst/gstclock.c:
9636         * gst/gstelement.c:
9637         * gst/gstelementfactory.c:
9638         * gst/gsterror.c:
9639         * gst/gstevent.c:
9640         * gst/gstghostpad.c:
9641         * gst/gstinfo.c:
9642         * gst/gstpadtemplate.c:
9643         * gst/gstregistryxml.c:
9644         * gst/gsttaglist.c:
9645         * gst/gsttagsetter.c:
9646         * gst/gsttypefind.c:
9647         * gst/gstvalue.c:
9648         * libs/gst/base/gstbasesrc.c:
9649         * libs/gst/net/gstnetclientclock.c:
9650         * libs/gst/net/gstnettimeprovider.c:
9651         * plugins/elements/gstfakesrc.c:
9652         * plugins/elements/gstfdsrc.c:
9653         * plugins/elements/gstfilesrc.c:
9654         * plugins/elements/gstidentity.c:
9655         * plugins/elements/gstqueue.c:
9656         * plugins/elements/gsttypefindelement.c:
9657         * plugins/indexers/gstfileindex.c:
9658         * plugins/indexers/gstmemindex.c:
9659         * tests/check/gst/gsttag.c:
9660         * tests/old/examples/cutter/cutter.c:
9661         * tests/old/examples/mixer/mixer.c:
9662         * tests/old/examples/xml/runxml.c: (main):
9663         * tests/old/testsuite/caps/normalisation.c:
9664         * tests/old/testsuite/debug/global.c:
9665         * tests/old/testsuite/parse/parse1.c:
9666         * tools/gst-xmlinspect.c:
9667         * win32/common/dirent.c:
9668           expand tabs
9669
9670 === release 0.10.0 ===
9671
9672 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9673
9674         * configure.ac:
9675           releasing 0.10.0, "Maroilles"
9676
9677 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9678
9679         submitted by: Funda Wang <fundawang@linux.net.cn>
9680
9681         * po/LINGUAS:
9682         * po/zh_CN.po:
9683           added Chinese (Traditional) translation
9684
9685 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9686
9687         * docs/gst/gstreamer-sections.txt:
9688         * docs/libs/tmpl/gstdataprotocol.sgml:
9689         * docs/random/thomasvs/TODO:
9690         * gst/gstutils.c:
9691         * gst/gstutils.h:
9692           fix docs
9693
9694 2005-12-05  Andy Wingo  <wingo@pobox.com>
9695
9696         patch by: Wim Taymans <wim@fluendo.com>
9697
9698         * libs/gst/base/gstbasetransform.c
9699         (gst_base_transform_prepare_output_buf)
9700         (gst_base_transform_buffer_alloc):
9701         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
9702         alloc_buffer_and_set_caps.
9703
9704         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
9705         set_caps on the source pad.
9706         (gst_pad_alloc_buffer_and_set_caps): New function, does what
9707         alloc_buffer used to do. Fixes #322874.
9708
9709         * docs/gst/gstreamer-sections.txt: 
9710         * docs/design/part-negotiation.txt: 
9711         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
9712         changes.
9713
9714 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9715
9716         patch by: Sebastien Moutte
9717
9718         * win32/MANIFEST:
9719         * win32/common/config.h.in:
9720         * win32/vs6/libgstcontroller.dsp:
9721           win32 build fixes
9722
9723 2005-12-05  Wim Taymans  <wim@fluendo.com>
9724
9725         * gst/gstcaps.c: (gst_caps_is_equal):
9726         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
9727         (gst_fake_src_create):
9728         Back out previous code changes, leave doc updates, file bugs 
9729         instead. 
9730
9731 2005-12-05  Wim Taymans  <wim@fluendo.com>
9732
9733         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
9734         (gst_fake_src_get_times), (gst_fake_src_create):
9735         * plugins/elements/gstfakesrc.h:
9736         Fix broken sync code.
9737
9738 2005-12-05  Wim Taymans  <wim@fluendo.com>
9739
9740         * gst/gstcaps.c: (gst_caps_is_equal):
9741         Comparing NULL against !NULL yields different caps, not a
9742         failure.
9743
9744 2005-12-05  Wim Taymans  <wim@fluendo.com>
9745
9746         * gst/gstpipeline.c:
9747         Fix small typo in docs.
9748
9749 2005-12-05  Andy Wingo  <wingo@pobox.com>
9750
9751         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
9752
9753         * gst/gst.c (init_post): remove hard-coded 0.9 location for
9754         registries/plugins with a MAJORMINOR one.
9755         (plugin_desc): Rename library from gstcoreleements to
9756         staticelements. Fixes #323222.
9757
9758 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
9759
9760         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
9761           Change debug category to 'collectpads' from 'collect_pads'
9762           (fixes #323250).
9763
9764 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9765
9766         patch by: Sebastien Moutte
9767
9768         * libs/gst/controller/gstinterpolation.c:
9769           use convert function for uint64/double
9770         * win32/vs6/libgstcontroller.dsp:
9771           link to GLib
9772
9773 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9774
9775         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
9776         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
9777         * gst/gstutils.h:
9778         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
9779           add tests that seem to show that the guint64/gdouble conversions
9780           are correct.
9781
9782 2005-12-02  Wim Taymans  <wim@fluendo.com>
9783
9784         * gst/gstregistry.c: (gst_registry_add_path):
9785         * gst/gstregistry.h:
9786         * gst/gstregistryxml.c:
9787         Fix docs again.
9788
9789 2005-12-02  Wim Taymans  <wim@fluendo.com>
9790
9791         * gst/gstutils.c: (gst_util_uint64_scale_int64),
9792         (gst_util_uint64_scale_int):
9793         Small cleanup.
9794
9795         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9796         Add debug log line.
9797
9798         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
9799         Add FIXME.
9800
9801 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9802
9803         * win32/MANIFEST:
9804         * win32/common/config.h:
9805         * win32/vs6/gstreamer.dsw:
9806         * win32/vs6/libgstcoreelements.dsp:
9807         * win32/vs6/libgstelements.dsp:
9808           renamed core elements plugin
9809
9810 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9811
9812         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
9813         (get_candidates):
9814           do piece-wise major/minor comparison so 0.9 < 0.10
9815           also allow .exe extensions for tools
9816
9817 2005-12-02  Michael Smith  <msmith@fluendo.com>
9818
9819         * gst/gst.c:
9820           Escape a % to make gtkdoc happier; bug 322958.
9821
9822 === release 0.9.7 ===
9823
9824 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
9825
9826         * configure.ac:
9827           releasing 0.9.7, "My Dog Has No Nose"
9828
9829 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9830
9831         * common/gst-xmlinspect.py:
9832         * configure.ac:
9833         * docs/libs/tmpl/gstdataprotocol.sgml:
9834         * docs/random/release:
9835         * po/af.po:
9836         * po/az.po:
9837         * po/bg.po:
9838         * po/ca.po:
9839         * po/cs.po:
9840         * po/de.po:
9841         * po/en_GB.po:
9842         * po/fr.po:
9843         * po/it.po:
9844         * po/nb.po:
9845         * po/nl.po:
9846         * po/ru.po:
9847         * po/sq.po:
9848         * po/sr.po:
9849         * po/sv.po:
9850         * po/tr.po:
9851         * po/uk.po:
9852         * po/vi.po:
9853         * win32/common/config.h:
9854         * win32/common/config.h.in:
9855         * win32/vs6/gst_inspect.dsp:
9856         * win32/vs6/gst_launch.dsp:
9857         * win32/vs6/libgstbase.dsp:
9858         * win32/vs6/libgstelements.dsp:
9859         * win32/vs6/libgstreamer.dsp:
9860         * win32/vs7/GStreamer.vcproj:
9861         * win32/vs7/gst-inspect.vcproj:
9862         * win32/vs7/gst-launch.vcproj:
9863         * win32/vs7/libgstbase.vcproj:
9864           bump GST_MAJORMINOR to 0.10
9865           reset libtool version
9866
9867 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9868
9869         * po/LINGUAS:
9870         * po/bg.po:
9871           Added Bulgarian translation by (Alexander Shopov)
9872
9873 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9874
9875         * tests/check/gst/gstplugin.c:
9876           fix test
9877
9878 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9879
9880         * common/gst-xmlinspect.py:
9881         * common/gtk-doc-plugins.mak:
9882         * configure.ac:
9883         * docs/Makefile.am:
9884         * docs/gst/Makefile.am:
9885         * docs/gst/gstreamer-docs.sgml:
9886         * docs/gst/gstreamer-sections.txt:
9887         * docs/gst/gstreamer.types:
9888         * docs/gst/gstreamer.types.in:
9889         * docs/plugins/Makefile.am:
9890         * docs/plugins/gstreamer-plugins-docs.sgml:
9891         * docs/plugins/gstreamer-plugins-sections.txt:
9892         * docs/plugins/gstreamer-plugins.types:
9893         * docs/plugins/inspect.stamp:
9894         * docs/plugins/inspect/plugin-coreelements.xml:
9895         * docs/plugins/inspect/plugin-coreindexers.xml:
9896         * docs/plugins/scanobj-build.stamp:
9897         * gstreamer.spec.in:
9898         * plugins/elements/Makefile.am:
9899         * plugins/elements/gstelements.c:
9900         * plugins/elements/gstfakesink.c:
9901         * plugins/elements/gstfakesrc.c:
9902         * plugins/elements/gstfilesink.c:
9903         * plugins/elements/gstfilesrc.c:
9904         * plugins/elements/gstqueue.c:
9905         * plugins/indexers/Makefile.am:
9906         * plugins/indexers/gstindexers.c:
9907           document core plugins in a separate document just like all the
9908           others
9909           rename these plugins to something starting with core
9910
9911 2005-12-01  Andy Wingo  <wingo@pobox.com>
9912
9913         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
9914         padding here before, but it missed the commit.
9915
9916 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
9917
9918         * libs/gst/controller/gstinterpolation.c:
9919           whitespace prices have crashed, we should feel free to use some now
9920           use gst_guint64_to_gdouble
9921
9922 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
9923
9924         * libs/gst/controller/gstcontroller.c:
9925         * libs/gst/controller/gsthelper.c:
9926         * libs/gst/controller/gstinterpolation.c:
9927         * libs/gst/controller/lib.c:
9928           wrap config.h include
9929
9930 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
9931
9932         * docs/gst/gstreamer-sections.txt:
9933           update docs
9934
9935 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
9936
9937         * plugins/elements/gstelements.c:
9938         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
9939         (gst_fd_sink__class_init), (gst_fd_sink__init),
9940         (gst_fd_sink__chain), (gst_fd_sink__set_property),
9941         (gst_fd_sink__get_property):
9942         * plugins/elements/gstfdsink.h:
9943         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
9944         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
9945         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
9946         (gst_fd_src_unlock), (gst_fd_src_set_property),
9947         (gst_fd_src_get_property), (gst_fd_src_create),
9948         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
9949         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
9950         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
9951         (gst_fd_src_uri_handler_init):
9952         * plugins/elements/gstfdsrc.h:
9953         * plugins/elements/gstqueue.c: (gst_queue_get_type):
9954           more anal cleanup
9955
9956 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9957
9958         * docs/gst/Makefile.am:
9959         * docs/gst/gstreamer.types.in:
9960         * gst/Makefile.am:
9961           fix the docs build
9962
9963 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9964
9965         * configure.ac:
9966         * gst/Makefile.am:
9967         * gst/gst.c:
9968         * gst/gstplugin.h:
9969         * gst/gstregistry.h:
9970         * tests/benchmarks/complexity.c:
9971         * tests/benchmarks/mass-elements.c:
9972         * tests/check/Makefile.am:
9973         * tools/Makefile.am:
9974         * tools/gst-inspect.c:
9975         * tools/gst-xmlinspect.c:
9976           various fixes to make
9977           --disable-nls --disable-registry --disable-loadsave
9978           --disable-parse --disable-gst-debug
9979           work and get the core .so down to 360444 bytes after stripping
9980
9981 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9982
9983         * Makefile.am:
9984         * configure.ac:
9985           descend into tests
9986         * docs/random/thomasvs/TODO:
9987         * tests/Makefile.am:
9988         * tests/README:
9989           add a README
9990
9991 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9992
9993         * win32/GStreamer.vcproj:
9994         * win32/MANIFEST:
9995         * win32/Makefile:
9996         * win32/Makefile.inspect:
9997         * win32/Makefile.launch:
9998         * win32/Makefile.register:
9999         * win32/README.txt:
10000         * win32/gst-inspect.vcproj:
10001         * win32/gst-launch.vcproj:
10002         * win32/gst-register.vcproj:
10003         * win32/gstelements.vcproj:
10004         * win32/gstgetbits.def:
10005         * win32/gstgetbits.vcproj:
10006         * win32/gstreamer-dbg.def:
10007         * win32/gstreamer.def:
10008         * win32/libgstbase.def:
10009         * win32/libgstbase.vcproj:
10010         * win32/link_oldruntime.c:
10011         * win32/mman.c:
10012         * win32/mman.h:
10013         * win32/mman.inl:
10014         * win32/msvc71.sln:
10015           move even more stuff, win32/ is nice and clean now
10016
10017 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10018
10019         * libs/gst/control/.cvsignore:
10020         * win32/MANIFEST:
10021         * win32/config.h:
10022         * win32/dirent.c:
10023         * win32/dirent.h:
10024         * win32/gstbytestream.def:
10025         * win32/gstbytestream.vcproj:
10026         * win32/gstconfig.h:
10027         * win32/gstenumtypes.c:
10028         * win32/gstenumtypes.h:
10029         * win32/gstoptimalscheduler.vcproj:
10030         * win32/gstversion.h:
10031         * win32/gtchar.h:
10032         * win32/testsuite/bins.vcproj:
10033         * win32/testsuite/bytestream.vcproj:
10034         * win32/testsuite/caps.vcproj:
10035         * win32/testsuite/cleanup.vcproj:
10036         * win32/testsuite/clock.vcproj:
10037         * win32/testsuite/debug.vcproj:
10038         * win32/testsuite/dlopen.vcproj:
10039         * win32/testsuite/dynparams.vcproj:
10040         * win32/testsuite/elements.vcproj:
10041         * win32/testsuite/ghostpads.vcproj:
10042         * win32/testsuite/indexers.vcproj:
10043         * win32/testsuite/negotiation.vcproj:
10044         * win32/testsuite/parse.vcproj:
10045         * win32/testsuite/plugin.vcproj:
10046         * win32/testsuite/refcounting.vcproj:
10047         * win32/testsuite/schedulers.vcproj:
10048         * win32/testsuite/states.vcproj:
10049         * win32/testsuite/tags.vcproj:
10050         * win32/testsuite/threads.vcproj:
10051           remove old win32 stuff that isn't maintained and should be
10052           reorganized
10053
10054 2005-11-30  Andy Wingo  <wingo@pobox.com>
10055
10056         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
10057         loading the gst.interfaces python module bork.
10058
10059         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
10060         available since GLib 2.2. Fixes #318031.
10061
10062 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10063
10064         * Makefile.am:
10065         * check/.cvsignore:
10066         * check/Makefile.am:
10067         * check/elements/.cvsignore:
10068         * check/elements/fakesrc.c:
10069         * check/elements/fdsrc.c:
10070         * check/elements/identity.c:
10071         * check/generic/.cvsignore:
10072         * check/generic/states.c:
10073         * check/gst-libs/.cvsignore:
10074         * check/gst-libs/controller.c:
10075         * check/gst-libs/gdp.c:
10076         * check/gst/.cvsignore:
10077         * check/gst/capslist.h:
10078         * check/gst/gst.c:
10079         * check/gst/gstbin.c:
10080         * check/gst/gstbuffer.c:
10081         * check/gst/gstbus.c:
10082         * check/gst/gstcaps.c:
10083         * check/gst/gstelement.c:
10084         * check/gst/gstevent.c:
10085         * check/gst/gstghostpad.c:
10086         * check/gst/gstiterator.c:
10087         * check/gst/gstmessage.c:
10088         * check/gst/gstminiobject.c:
10089         * check/gst/gstobject.c:
10090         * check/gst/gstpad.c:
10091         * check/gst/gstpipeline.c:
10092         * check/gst/gstplugin.c:
10093         * check/gst/gstsegment.c:
10094         * check/gst/gststructure.c:
10095         * check/gst/gstsystemclock.c:
10096         * check/gst/gsttag.c:
10097         * check/gst/gstutils.c:
10098         * check/gst/gstvalue.c:
10099         * check/net/.cvsignore:
10100         * check/net/gstnetclientclock.c:
10101         * check/net/gstnettimeprovider.c:
10102         * check/pipelines/.cvsignore:
10103         * check/pipelines/cleanup.c:
10104         * check/pipelines/simple_launch_lines.c:
10105         * check/pipelines/stress.c:
10106         * check/states/.cvsignore:
10107         * check/states/sinks.c:
10108         * configure.ac:
10109         * examples/Makefile.am:
10110         * examples/appreader/.cvsignore:
10111         * examples/appreader/Makefile.am:
10112         * examples/appreader/appreader.c:
10113         * examples/controller/.cvsignore:
10114         * examples/controller/Makefile.am:
10115         * examples/controller/audio-example.c:
10116         * examples/cutter/.cvsignore:
10117         * examples/cutter/Makefile.am:
10118         * examples/cutter/cutter.c:
10119         * examples/cutter/cutter.h:
10120         * examples/events/Makefile.am:
10121         * examples/events/seek.c:
10122         * examples/helloworld/.cvsignore:
10123         * examples/helloworld/Makefile.am:
10124         * examples/helloworld/helloworld.c:
10125         * examples/helloworld2/.cvsignore:
10126         * examples/helloworld2/Makefile.am:
10127         * examples/helloworld2/helloworld2.c:
10128         * examples/launch/.cvsignore:
10129         * examples/launch/Makefile.am:
10130         * examples/launch/mp3parselaunch.c:
10131         * examples/launch/mp3play:
10132         * examples/manual/.cvsignore:
10133         * examples/manual/Makefile.am:
10134         * examples/manual/extract.pl:
10135         * examples/metadata/Makefile.am:
10136         * examples/metadata/read-metadata.c:
10137         * examples/mixer/.cvsignore:
10138         * examples/mixer/Makefile.am:
10139         * examples/mixer/mixer.c:
10140         * examples/mixer/mixer.h:
10141         * examples/pingpong/.cvsignore:
10142         * examples/pingpong/Makefile.am:
10143         * examples/pingpong/pingpong.c:
10144         * examples/plugins/.cvsignore:
10145         * examples/plugins/Makefile.am:
10146         * examples/plugins/example.c:
10147         * examples/plugins/example.h:
10148         * examples/pwg/.cvsignore:
10149         * examples/pwg/Makefile.am:
10150         * examples/pwg/extract.pl:
10151         * examples/queue/.cvsignore:
10152         * examples/queue/Makefile.am:
10153         * examples/queue/queue.c:
10154         * examples/queue2/.cvsignore:
10155         * examples/queue2/Makefile.am:
10156         * examples/queue2/queue2.c:
10157         * examples/queue3/.cvsignore:
10158         * examples/queue3/Makefile.am:
10159         * examples/queue3/queue3.c:
10160         * examples/queue4/.cvsignore:
10161         * examples/queue4/Makefile.am:
10162         * examples/queue4/queue4.c:
10163         * examples/retag/.cvsignore:
10164         * examples/retag/Makefile.am:
10165         * examples/retag/retag.c:
10166         * examples/retag/transcode.c:
10167         * examples/thread/.cvsignore:
10168         * examples/thread/Makefile.am:
10169         * examples/thread/thread.c:
10170         * examples/typefind/.cvsignore:
10171         * examples/typefind/Makefile.am:
10172         * examples/typefind/typefind.c:
10173         * examples/xml/.cvsignore:
10174         * examples/xml/Makefile.am:
10175         * examples/xml/createxml.c:
10176         * examples/xml/runxml.c:
10177         * tests/Makefile.am:
10178         * tests/check/Makefile.am:
10179         * testsuite/.cvsignore:
10180         * testsuite/Makefile.am:
10181         * testsuite/Rules:
10182         * testsuite/caps/.cvsignore:
10183         * testsuite/caps/Makefile.am:
10184         * testsuite/caps/app_fixate.c:
10185         * testsuite/caps/audioscale.c:
10186         * testsuite/caps/caps.c:
10187         * testsuite/caps/caps.h:
10188         * testsuite/caps/caps_strings:
10189         * testsuite/caps/compatibility.c:
10190         * testsuite/caps/deserialize.c:
10191         * testsuite/caps/enumcaps.c:
10192         * testsuite/caps/eratosthenes.c:
10193         * testsuite/caps/filtercaps.c:
10194         * testsuite/caps/fixed.c:
10195         * testsuite/caps/fraction-convert.c:
10196         * testsuite/caps/fraction-multiply-and-zero.c:
10197         * testsuite/caps/intersect2.c:
10198         * testsuite/caps/intersection.c:
10199         * testsuite/caps/normalisation.c:
10200         * testsuite/caps/random.c:
10201         * testsuite/caps/renegotiate.c:
10202         * testsuite/caps/sets.c:
10203         * testsuite/caps/simplify.c:
10204         * testsuite/caps/string-conversions.c:
10205         * testsuite/caps/structure.c:
10206         * testsuite/caps/subtract.c:
10207         * testsuite/caps/union.c:
10208         * testsuite/debug/.cvsignore:
10209         * testsuite/debug/Makefile.am:
10210         * testsuite/debug/category.c:
10211         * testsuite/debug/commandline.c:
10212         * testsuite/debug/global.c:
10213         * testsuite/debug/output.c:
10214         * testsuite/debug/printf_extension.c:
10215         * testsuite/dlopen/.cvsignore:
10216         * testsuite/dlopen/Makefile.am:
10217         * testsuite/dlopen/dlopen_gst.c:
10218         * testsuite/dlopen/loadgst.c:
10219         * testsuite/elements/.cvsignore:
10220         * testsuite/elements/Makefile.am:
10221         * testsuite/elements/gst-inspect-check.in:
10222         * testsuite/elements/struct_i386.h:
10223         * testsuite/elements/struct_size.c:
10224         * testsuite/indexers/.cvsignore:
10225         * testsuite/indexers/Makefile.am:
10226         * testsuite/indexers/cache1.c:
10227         * testsuite/indexers/indexdump.c:
10228         * testsuite/parse/.cvsignore:
10229         * testsuite/parse/Makefile.am:
10230         * testsuite/parse/parse1.c:
10231         * testsuite/parse/parse2.c:
10232         * testsuite/plugin/.cvsignore:
10233         * testsuite/plugin/Makefile.am:
10234         * testsuite/plugin/README:
10235         * testsuite/plugin/dynamic.c:
10236         * testsuite/plugin/linked.c:
10237         * testsuite/plugin/loading.c:
10238         * testsuite/plugin/registry.c:
10239         * testsuite/plugin/static.c:
10240         * testsuite/plugin/static2.c:
10241         * testsuite/plugin/testplugin.c:
10242         * testsuite/plugin/testplugin2.c:
10243         * testsuite/plugin/testplugin2_s.c:
10244         * testsuite/plugin/testplugin_s.c:
10245         * testsuite/refcounting/.cvsignore:
10246         * testsuite/refcounting/Makefile.am:
10247         * testsuite/refcounting/bin.c:
10248         * testsuite/refcounting/element.c:
10249         * testsuite/refcounting/element_pad.c:
10250         * testsuite/refcounting/mainloop.c:
10251         * testsuite/refcounting/mem.c:
10252         * testsuite/refcounting/mem.h:
10253         * testsuite/refcounting/object.c:
10254         * testsuite/refcounting/pad.c:
10255         * testsuite/refcounting/sched.c:
10256         * testsuite/refcounting/thread.c:
10257         * testsuite/states/.cvsignore:
10258         * testsuite/states/Makefile.am:
10259         * testsuite/states/bin.c:
10260         * testsuite/states/locked.c:
10261         * testsuite/states/parent.c:
10262         * testsuite/threads/.cvsignore:
10263         * testsuite/threads/159566.c:
10264         * testsuite/threads/159852.c:
10265         * testsuite/threads/Makefile.am:
10266         * testsuite/threads/queue.c:
10267         * testsuite/threads/signals.c:
10268         * testsuite/threads/staticrec.c:
10269         * testsuite/threads/thread.c:
10270         * testsuite/threads/threadb.c:
10271         * testsuite/threads/threadc.c:
10272         * testsuite/threads/threadd.c:
10273         * testsuite/threads/threade.c:
10274         * testsuite/threads/threadf.c:
10275         * testsuite/threads/threadg.c:
10276         * testsuite/threads/threadh.c:
10277         * testsuite/threads/threadi.c:
10278           move all of these under tests
10279
10280 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10281
10282         * configure.ac:
10283         * tests/Makefile.am:
10284           fix distcheck
10285
10286 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10287
10288         * docs/gst/gstreamer-sections.txt:
10289         * tests/sched/.cvsignore:
10290         * tests/sched/Makefile.am:
10291         * tests/sched/cases/(fs-fs).xml:
10292         * tests/sched/cases/(fs-i-fs).xml:
10293         * tests/sched/cases/(fs-i-i-fs).xml:
10294         * tests/sched/cases/(fs-i-q[i-fs]).xml:
10295         * tests/sched/dynamic-pipeline.c:
10296         * tests/sched/interrupt1.c:
10297         * tests/sched/interrupt2.c:
10298         * tests/sched/interrupt3.c:
10299         * tests/sched/runtestcases:
10300         * tests/sched/runxml.c:
10301         * tests/sched/sched-stress.c:
10302         * tests/sched/sort.c:
10303         * tests/sched/testcases:
10304         * tests/sched/testcases1.tc:
10305         * tests/seeking/.cvsignore:
10306         * tests/seeking/Makefile.am:
10307         * tests/seeking/seeking1.c:
10308         * tests/threadstate/.cvsignore:
10309         * tests/threadstate/Makefile.am:
10310         * tests/threadstate/test1.c:
10311         * tests/threadstate/test2.c:
10312         * tests/threadstate/threadstate1.c:
10313         * tests/threadstate/threadstate2.c:
10314         * tests/threadstate/threadstate3.c:
10315         * tests/threadstate/threadstate4.c:
10316         * tests/threadstate/threadstate5.c:
10317           remove obsolete tests
10318         * configure.ac:
10319         * tests/bench-complexity.scm:
10320         * tests/bench-mass_elements.scm:
10321         * tests/complexity.c:
10322         * tests/complexity.gnuplot:
10323         * tests/instantiate/.cvsignore:
10324         * tests/instantiate/Makefile.am:
10325         * tests/instantiate/caps.c:
10326         * tests/mass_elements.c:
10327         * tests/network-clock-utils.scm:
10328         * tests/network-clock.scm:
10329         * tests/plot-data:
10330         First pass at cleaning up tests/ dir before moving the rest
10331         Combined with CVS surgery
10332
10333 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10334
10335         * po/POTFILES.in:
10336           queue has moved, update
10337
10338 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10339
10340         * docs/gst/gstreamer-sections.txt:
10341           remove double entries from the docs
10342         * gst/gst_private.h:
10343         * gst/gstinfo.c: (_gst_debug_init):
10344           remove the THREAD debug category
10345         * gst/Makefile.am:
10346         * gst/gstqueue.c:
10347         * gst/gstqueue.h:
10348         * docs/gst/gstreamer.types:
10349         * plugins/elements/gstqueue.c: (gst_queue_get_type),
10350         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
10351           completely move queue and fix up debugging categories
10352
10353 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10354
10355         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
10356           make initialization portable, using LL is not
10357
10358 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10359
10360         * win32/common/gstconfig.h:
10361           add large padding
10362
10363 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10364
10365         * win32/common/libgstreamer.def:
10366           rename symbols; sort base section
10367
10368 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10369
10370         * gst/gstclock.c: (do_linear_regression):
10371           remove crack non-portable handrolled DEBUG macro
10372
10373 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10374
10375         * docs/random/release:
10376           update notes
10377         * win32/common/gstenumtypes.c: (register_gst_object_flags),
10378         (gst_object_flags_get_type), (register_gst_bin_flags),
10379         (gst_bin_flags_get_type), (register_gst_buffer_flag),
10380         (gst_buffer_flag_get_type), (register_gst_bus_flags),
10381         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
10382         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
10383         (gst_caps_flags_get_type), (register_gst_clock_return),
10384         (gst_clock_return_get_type), (register_gst_clock_entry_type),
10385         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
10386         (gst_clock_flags_get_type), (register_gst_state),
10387         (gst_state_get_type), (register_gst_state_change_return),
10388         (gst_state_change_return_get_type), (register_gst_state_change),
10389         (gst_state_change_get_type), (register_gst_element_flags),
10390         (gst_element_flags_get_type), (register_gst_core_error),
10391         (gst_core_error_get_type), (register_gst_library_error),
10392         (gst_library_error_get_type), (register_gst_resource_error),
10393         (gst_resource_error_get_type), (register_gst_stream_error),
10394         (gst_stream_error_get_type), (register_gst_event_type_flags),
10395         (gst_event_type_flags_get_type), (register_gst_event_type),
10396         (gst_event_type_get_type), (register_gst_seek_type),
10397         (gst_seek_type_get_type), (register_gst_seek_flags),
10398         (gst_seek_flags_get_type), (register_gst_format),
10399         (gst_format_get_type), (register_gst_index_certainty),
10400         (gst_index_certainty_get_type), (register_gst_index_entry_type),
10401         (gst_index_entry_type_get_type),
10402         (register_gst_index_lookup_method),
10403         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
10404         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
10405         (gst_index_resolver_method_get_type), (register_gst_index_flags),
10406         (gst_index_flags_get_type), (register_gst_debug_level),
10407         (gst_debug_level_get_type), (register_gst_debug_color_flags),
10408         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
10409         (gst_iterator_result_get_type), (register_gst_iterator_item),
10410         (gst_iterator_item_get_type), (register_gst_message_type),
10411         (gst_message_type_get_type), (register_gst_mini_object_flags),
10412         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
10413         (gst_pad_link_return_get_type), (register_gst_flow_return),
10414         (gst_flow_return_get_type), (register_gst_activate_mode),
10415         (gst_activate_mode_get_type), (register_gst_pad_direction),
10416         (gst_pad_direction_get_type), (register_gst_pad_flags),
10417         (gst_pad_flags_get_type), (register_gst_pad_presence),
10418         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
10419         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
10420         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
10421         (gst_plugin_error_get_type), (register_gst_plugin_flags),
10422         (gst_plugin_flags_get_type), (register_gst_rank),
10423         (gst_rank_get_type), (register_gst_query_type),
10424         (gst_query_type_get_type), (register_gst_tag_merge_mode),
10425         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
10426         (gst_tag_flag_get_type), (register_gst_task_state),
10427         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
10428         (gst_alloc_trace_flags_get_type),
10429         (register_gst_type_find_probability),
10430         (gst_type_find_probability_get_type), (register_gst_uri_type),
10431         (gst_uri_type_get_type), (register_gst_parse_error),
10432         (gst_parse_error_get_type):
10433         * win32/common/gstenumtypes.h:
10434         * win32/common/gstversion.h:
10435           update visual studio generated files
10436
10437 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10438
10439         * win32/vs6/libgstbase.dsp:
10440         * win32/vs6/libgstelements.dsp:
10441           update project files for new locations
10442
10443 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10444
10445         * Makefile.am:
10446           remove some files
10447         * README:
10448           reinstate and update
10449         * DEVEL:
10450         * REQUIREMENTS:
10451           removed
10452         * LICENSE:
10453         * docs/random/LICENSE:
10454           moved to random
10455
10456 2005-11-30  Edward Hervey  <edward@fluendo.com>
10457
10458         * gst/gsttypefind.c: (gst_type_find_register):
10459         * gst/gsttypefind.h:
10460         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
10461         (gst_type_find_factory_dispose):
10462         * gst/gsttypefindfactory.h:
10463         Fix memory leak in GstTypeFindFactory.
10464
10465 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10466
10467         * gst/gst.c:
10468         * plugins/elements/Makefile.am:
10469         * plugins/elements/gstelements.c:
10470         * plugins/elements/gstqueue.c:
10471           move queue from core to the elements plugin
10472
10473 2005-11-29  Andy Wingo  <wingo@pobox.com>
10474
10475         * libs/gst/base/gstbasetransform.h: 
10476         * libs/gst/base/gstbasesrc.h: 
10477         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
10478
10479         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
10480         of pointers by which to pad very extensible base classes (like the
10481         ones in libs/gst/base).
10482
10483 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10484
10485         * docs/gst/gstreamer-docs.sgml:
10486         * docs/gst/gstreamer-sections.txt:
10487         * docs/libs/gstreamer-libs-docs.sgml:
10488         * docs/libs/gstreamer-libs-sections.txt:
10489           moving documentation from core to lib
10490
10491 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10492
10493         * check/Makefile.am:
10494         * configure.ac:
10495         * docs/gst/Makefile.am:
10496         * gst/Makefile.am:
10497         * gst/base/.cvsignore:
10498         * gst/base/Makefile.am:
10499         * gst/base/README:
10500         * gst/base/gstadapter.c:
10501         * gst/base/gstadapter.h:
10502         * gst/base/gstbasesink.c:
10503         * gst/base/gstbasesink.h:
10504         * gst/base/gstbasesrc.c:
10505         * gst/base/gstbasesrc.h:
10506         * gst/base/gstbasetransform.c:
10507         * gst/base/gstbasetransform.h:
10508         * gst/base/gstcollectpads.c:
10509         * gst/base/gstcollectpads.h:
10510         * gst/base/gstpushsrc.c:
10511         * gst/base/gstpushsrc.h:
10512         * gst/base/gsttypefindhelper.c:
10513         * gst/base/gsttypefindhelper.h:
10514         * gst/check/Makefile.am:
10515         * gst/check/gstcheck.c:
10516         * gst/check/gstcheck.h:
10517         * gst/net/Makefile.am:
10518         * gst/net/gstnet.h:
10519         * gst/net/gstnetclientclock.c:
10520         * gst/net/gstnetclientclock.h:
10521         * gst/net/gstnettimepacket.c:
10522         * gst/net/gstnettimepacket.h:
10523         * gst/net/gstnettimeprovider.c:
10524         * gst/net/gstnettimeprovider.h:
10525         * libs/gst/Makefile.am:
10526         * libs/gst/base/Makefile.am:
10527         * libs/gst/base/gstbasetransform.c:
10528         * libs/gst/check/Makefile.am:
10529         * plugins/elements/Makefile.am:
10530         * po/POTFILES.in:
10531           CVS surgery + support to move base, check, and net out of gst
10532           and into libs/gst
10533
10534 2005-11-29  Andy Wingo  <wingo@pobox.com>
10535
10536         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
10537
10538         * gst/gststructure.h (struct _GstStructure): Only one pointer of
10539         padding.
10540
10541         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
10542
10543         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
10544
10545         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
10546
10547         * gst/gstobject.h: (struct _GstObject): Only one pointer of
10548         padding; reduces object size by about 30%. We don't expect
10549         anything else to go into gstobject.
10550
10551         * gst/gstminiobject.h (struct _GstMiniObject)
10552         (struct _GstMiniObjectClass): Only one pointer of padding; the
10553         payload is only a pointer and two ints anyway. For the class there
10554         are only two methods as well.
10555         
10556         * gst/gstelement.h (struct _GstElementClass): Removed
10557         the state_changed signal callback, it is not used.
10558
10559 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10560
10561         * docs/gst/gstreamer.types:
10562           fix includes, though they are a little dinky
10563
10564 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10565
10566         * check/Makefile.am:
10567           look in the right place for elements, a lot more chance of
10568           success
10569         * gst/Makefile.am:
10570           remove indexers and elements subdirs
10571         * plugins/Makefile.am:
10572           make indexers conditional
10573
10574 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10575
10576         * Makefile.am:
10577         * configure.ac:
10578         * plugins/elements/Makefile.am:
10579         * plugins/elements/gstcapsfilter.c:
10580         * plugins/elements/gstfilesink.c:
10581         * plugins/elements/gstfilesrc.c:
10582         * plugins/elements/gstidentity.c:
10583         * plugins/indexers/Makefile.am:
10584           do CVS surgery and related build fixery to move elements
10585           and indexers in a new gstreamer/plugins directory, out of the
10586           gst/ directory
10587
10588 2005-11-29  Andy Wingo  <wingo@pobox.com>
10589
10590         * check/Makefile.am:
10591         * pkgconfig/gstreamer-net-uninstalled.pc.in:
10592         * pkgconfig/gstreamer-net.pc.in:
10593         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
10594         #322257.
10595
10596 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10597
10598         * tools/Makefile.am:
10599         * tools/gst-complete.1.in:
10600         * tools/gst-complete.c:
10601         * tools/gst-compprep.1.in:
10602         * tools/gst-compprep.c:
10603           removing -compprep and -complete
10604
10605 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10606
10607         * gst/gstevent.c: (gst_event_new_new_segment),
10608         (gst_event_parse_new_segment):
10609         * gst/gstevent.h:
10610           fix #320529 - clean up new_segment API and structure.
10611           Let's hope everyone was using the methods, and not the structure.
10612
10613 2005-11-29  Edward Hervey  <edward@fluendo.com>
10614
10615         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10616         (gst_base_sink_event), (gst_base_sink_do_sync),
10617         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
10618         Properly handle non GST_FORMAT_TIME segment
10619         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
10620         Properly handle non GST_FORMAT_TIME segment
10621         * gst/gstsegment.c:
10622         This function is valid if the accumulator is 0 and the format
10623         is different from the requested format.
10624         
10625 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
10626
10627         * docs/gst/gstreamer-sections.txt:
10628         Add gst_query_new_seeking and gst_query_parse_seeking to the
10629         docs.
10630
10631 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
10632
10633         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
10634           Treat a pad alloc with new caps the same as if we were not
10635           negotiated, in order to allow a changing upstream output
10636           to produce a new format of data.
10637
10638 2005-11-29  Edward Hervey  <edward@fluendo.com>
10639
10640         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
10641         (gst_base_transform_event), (gst_base_transform_eventfunc):
10642         The event virtual method is now properly implemented, with a default
10643         handler
10644         Sub classes should call the parent_class event method. They should
10645         return FALSE if they had a problem handling the given event, or don't
10646         want GstBaseTransform to send that even downstream
10647         * gst/elements/gstidentity.c: (gst_identity_class_init),
10648         (gst_identity_init), (gst_identity_event),
10649         (gst_identity_transform_ip), (gst_identity_set_property),
10650         (gst_identity_get_property):
10651         * gst/elements/gstidentity.h:
10652         Added the single-segment boolean property.
10653         If set to TRUE, it will output a single segment of data, starting from
10654         0, will eat up all incoming newsegment, and modify the timestamp of the
10655         buffers accordingly
10656
10657 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
10658
10659         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
10660           Don't ref NULL target pad (#322751). Improve docs.
10661
10662 2005-11-29  Michael Smith  <msmith@fluendo.com>
10663
10664         * gst/gstregistryxml.c: (load_plugin):
10665           Don't crash if we failed to load a feature from a plugin. 
10666
10667 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10668
10669         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
10670         (GST_START_TEST):
10671           use more check API and less GLib API
10672
10673 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10674
10675         * Makefile.am:
10676           don't run checks if we don't have check
10677         * common/check.mak:
10678           remove the registry when running make torture
10679         * docs/gst/gstreamer-sections.txt:
10680           remove second multiply
10681         * gst/gstqueue.c: (gst_queue_loop):
10682           fix a compile warning when disabling debug
10683
10684 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
10685
10686         * gst/gstinfo.h:
10687         Hey! Let's print the pad name if the pointer != NULL instead
10688         of when it == NULL :-)
10689
10690 2005-11-28  Wim Taymans  <wim@fluendo.com>
10691
10692         * check/gst/gstutils.c: (GST_START_TEST):
10693         Updated check, add some scaling accuracy checking code.
10694
10695         * gst/gstutils.c: (gst_util_div128_64),
10696         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
10697         (gst_util_uint64_scale_int):
10698         Fix 6 times faster division code. Optimize for common 
10699         1/1 and less common X/1 cases.
10700
10701 2005-11-28  Wim Taymans  <wim@fluendo.com>
10702
10703         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
10704         More checks.
10705
10706         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
10707         (do_linear_regression), (gst_clock_add_observation):
10708         Cleanups.
10709         Release lock when the clock cannot be slaved.
10710         Catch the case where the regression returned an invalid denominator.
10711
10712         * gst/gstutils.c: (gst_util_div128_64_iterate),
10713         (gst_util_div128_64), (gst_util_uint64_scale_int64),
10714         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
10715         Add protentially more performant non-iterative 128/64 divide function
10716         that unfortunatly does not work yet.
10717         Shortcut the trivial 0/X = 0 case.
10718         Remove the warnings on overflow.
10719
10720 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10721
10722         * gst/gstplugin.c: (gst_plugin_register_func):
10723           everything causing a plugin not to load should be at least a WARNING
10724
10725 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
10726
10727         * docs/random/ensonic/dparams.txt:
10728           some TODOs for the next dev cycle
10729         * libs/gst/controller/gstcontroller.c:
10730         (gst_controlled_property_set_interpolation_mode),
10731         (gst_controlled_property_new):
10732         * libs/gst/controller/gstcontroller.h:
10733           use base type to assign acccessor functions
10734
10735 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
10736
10737         * check/Makefile.am:
10738         Oops, that should have been top_srcdir
10739
10740 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
10741
10742         * check/Makefile.am:
10743         * check/elements/fdsrc.c: (GST_START_TEST):
10744         Use a cmdline define to specify the location of a file to use for
10745         testing, to avoid breaking distcheck.
10746
10747 2005-11-28  Andy Wingo  <wingo@pobox.com>
10748
10749         * gst/gstpad.c (fixate_value): Use array functions for arrays.
10750
10751 2005-11-28  Edward Hervey  <edward@fluendo.com>
10752
10753         * tools/gst-launch.c: (main):
10754         Clarify the output strings, makes it easier to translate.
10755         Fixes #322626
10756
10757 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10758
10759         * gst/Makefile.am:
10760           don't try and build net if we don't even have <sys/socket.h>
10761
10762 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
10763
10764         * check/Makefile.am:
10765         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
10766         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
10767           Add tests for fdsrc seekability
10768
10769         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
10770         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
10771         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
10772         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
10773         * gst/elements/gstfdsrc.h:
10774           fdsrc should not be a 'live' source.
10775           Implement seeking on seekable fd's.
10776
10777         * gst/gstquery.c: (gst_query_new_seeking),
10778         (gst_query_parse_seeking):
10779         * gst/gstquery.h:
10780           Implement SEEKING query functions: 
10781             *_new_seeking and *_parse_seeking
10782
10783 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
10784
10785         * gst/gstelement.c: (gst_element_dispose):
10786           don't loop forever
10787
10788         * gst/gstiterator.c:
10789         * gst/gststructure.c:
10790           doc fixes
10791
10792         * libs/gst/controller/gstcontroller.c:
10793         (gst_controlled_property_set_interpolation_mode):
10794         * libs/gst/controller/gstcontroller.h:
10795         * libs/gst/controller/gstinterpolation.c:
10796         (interpolate_none_get_enum_value_array):
10797           support controlling enums
10798
10799 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
10800
10801         * gst/gstvalue.c:
10802           Improve documentation for gst_value_union().
10803
10804         * gst/gstvalue.h:
10805           Change return value for union, intersect and subtract functions
10806           from gint to gboolean.
10807
10808 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
10809
10810         * gst/gstvalue.c: (gst_value_serialize_any_list),
10811         (gst_value_transform_any_list_string),
10812         (gst_value_deserialize_list), (gst_value_deserialize_array),
10813         (gst_value_set_int_range), (gst_value_deserialize_int_range),
10814         (gst_value_set_double_range), (gst_value_deserialize_double_range),
10815         (gst_value_set_fraction_range_full),
10816         (gst_value_deserialize_fraction_range),
10817         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
10818         (gst_value_deserialize_boolean),
10819         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
10820         (gst_value_serialize_float), (gst_value_deserialize_float),
10821         (gst_string_wrap), (gst_value_deserialize_string),
10822         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
10823         (gst_value_union_int_range_int_range),
10824         (gst_value_intersect_int_range_int_range),
10825         (gst_value_intersect_double_range_double_range),
10826         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
10827         (gst_value_subtract_int_range_int_range),
10828         (gst_value_subtract_double_double_range),
10829         (gst_value_subtract_double_range_double_range),
10830         (gst_value_deserialize_fraction):
10831         * gst/gstvalue.h:
10832           Use gint, gdouble and gchar in our API instead of int, double and
10833           char (and make usage in gstvalue.c more consistent).
10834
10835 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10836
10837         * check/Makefile.am:
10838         * libs/gst/controller/Makefile.am:
10839         * libs/gst/dataprotocol/Makefile.am:
10840           fix up Makefile.am and remove GST_ENABLE_NEW
10841
10842 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10843
10844         * configure.ac:
10845         * gst/Makefile.am:
10846         * gst/base/Makefile.am:
10847         * gst/check/Makefile.am:
10848         * gst/elements/Makefile.am:
10849         * gst/net/Makefile.am:
10850           update LDFLAGS use some more
10851
10852 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10853
10854         * common/m4/gst-doc.m4:
10855           Fixes #312589
10856
10857 2005-11-26  Edward Hervey  <edward@fluendo.com>
10858
10859         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
10860         This shouldn't issue a g_warning since it returns NULL if it
10861         couldn't find the plugin, and all functions using this behave
10862         properly on a NULL return. Switching to a GST_WARNING.
10863
10864 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
10865
10866         * gst/gstbin.c: (gst_bin_handle_message_func):
10867         Don't leak clock messages.
10868
10869 2005-11-25  Wim Taymans  <wim@fluendo.com>
10870
10871         * gst/gstutils.c: (gst_util_uint64_scale_int64),
10872         (gst_util_uint64_scale_int):
10873         Optimisations, remove unneeded vars.
10874
10875 2005-11-25  Wim Taymans  <wim@fluendo.com>
10876
10877         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
10878         Added more checks for the high precision uint64 cases.
10879
10880         * gst/gstutils.c: (gst_util_uint64_scale_int64),
10881         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
10882         Implement high precision (guint64 * guint64) / guint64.
10883
10884 2005-11-24  Wim Taymans  <wim@fluendo.com>
10885
10886         * gst/base/gstbasesrc.c: (gst_base_src_query):
10887         Fix wrong percentage query.
10888
10889         * gst/gstutils.c: (gst_util_uint64_scale),
10890         (gst_util_uint64_scale_int):
10891         Add some more common cases that can be handled 
10892         efficiently to _scale.
10893
10894 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10895
10896         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
10897         (gst_mini_object_suite):
10898           don't use check calls from threads; check probably isn't
10899           threadsafe and using a lock to make it threadsafe would
10900           defeat the purpose of this check
10901         * gst/check/gstcheck.c:
10902         * gst/check/gstcheck.h:
10903           use GST_DEBUG some more
10904
10905 2005-11-24  Wim Taymans  <wim@fluendo.com>
10906
10907         * gst/gstutils.c: (gst_util_uint64_scale),
10908         (gst_util_uint64_scale_int):
10909         Chain trivial case to _scale_int.
10910
10911 2005-11-24  Wim Taymans  <wim@fluendo.com>
10912
10913         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
10914         Added test for scaling.
10915
10916         * gst/gstclock.h:
10917         Small doc fix.
10918
10919         * gst/gstutils.c: (gst_util_uint64_scale_int):
10920         Implemented high precision scaling code.
10921
10922 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
10923
10924         * gst/gstinfo.h:
10925           do not crash on pad==NULL
10926
10927 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10928
10929         Patch by: Stefan Kost
10930
10931         * common/gtk-doc.mak:
10932         * docs/gst/Makefile.am:
10933         * docs/libs/Makefile.am:
10934           Fix distcheck issues for the libraries docs build
10935           Closes #319599.
10936
10937 2005-11-24  Michael Smith <msmith@fluendo.com>
10938
10939         * docs/manual/basics-helloworld.xml:
10940           Fix bug #315027: memory leak in example code in docs.
10941
10942 2005-11-24  Michael Smith <msmith@fluendo.com>
10943
10944         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10945           Unlock the PREROLL_LOCK in a failure case.
10946
10947 2005-11-24  Wim Taymans  <wim@fluendo.com>
10948
10949         * docs/gst/gstreamer-sections.txt:
10950         * gst/base/gstadapter.h:
10951         * gst/base/gstbasesink.h:
10952         * gst/base/gstbasesrc.h:
10953         * gst/base/gstbasetransform.h:
10954         * gst/base/gstpushsrc.h:
10955         * gst/elements/gstfakesink.h:
10956         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
10957         * gst/elements/gstfakesrc.h:
10958         * gst/elements/gstfilesink.h:
10959         * gst/elements/gstfilesrc.h:
10960         * gst/gst.c:
10961         * gst/gstbin.c:
10962         * gst/gstbuffer.c: (_gst_buffer_copy):
10963         * gst/gstbus.h:
10964         * gst/gstcaps.c:
10965         * gst/gstchildproxy.c:
10966         * gst/gstclock.c:
10967         * gst/gstelement.c:
10968         * gst/gstelementfactory.c:
10969         * gst/gstelementfactory.h:
10970         * gst/gstevent.c:
10971         * gst/gstghostpad.h:
10972         * gst/gstindex.h:
10973         * gst/gstinterface.h:
10974         * gst/gstminiobject.c:
10975         * gst/gstminiobject.h:
10976         * gst/gstpad.c:
10977         * gst/gstpad.h:
10978         * gst/gstpadtemplate.h:
10979         * gst/gstpipeline.h:
10980         * gst/gstpluginfeature.h:
10981         * gst/gstquery.h:
10982         * gst/gstqueue.h:
10983         * gst/gsttaglist.c:
10984         * gst/gsttaglist.h:
10985         * gst/gsttagsetter.c:
10986         * gst/gsttagsetter.h:
10987         * gst/gsttrace.c:
10988         * gst/gsttrace.h:
10989         * gst/gsttypefind.h:
10990         * gst/gsturi.h:
10991         * gst/gstvalue.c:
10992         * gst/net/gstnetclientclock.c:
10993         * gst/net/gstnetclientclock.h:
10994         * gst/net/gstnettimepacket.c:
10995         * gst/net/gstnettimeprovider.c:
10996         * gst/net/gstnettimeprovider.h:
10997         Doc fixes.
10998
10999 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11000
11001         * configure.ac: back to HEAD
11002
11003 === release 0.9.6 ===
11004
11005 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
11006
11007         * configure.ac:
11008           releasing 0.9.6, "Always On Time"
11009
11010 2005-11-23  Wim Taymans  <wim@fluendo.com>
11011
11012         * docs/gst/gstreamer-sections.txt:
11013         * gst/glib-compat.c:
11014         * gst/gsttagsetter.c:
11015         * gst/gstvalue.c:
11016         * gst/net/gstnetclientclock.c:
11017         * gst/net/gstnettimepacket.h:
11018         Doc updates.
11019
11020 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11021
11022         * docs/faq/using.xml:
11023         * docs/libs/tmpl/gstcontrol.sgml:
11024         * docs/manual/advanced-dparams.xml:
11025         * docs/manual/appendix-checklist.xml:
11026         * docs/manual/basics-elements.xml:
11027         * docs/pwg/other-source.xml:
11028         * docs/random/moving-plugins:
11029         * gst/gstpad.c:
11030         * tools/gst-launch.1.in:
11031           remove mentions of sinesrc
11032
11033 2005-11-23  Michael Smith <msmith@fluendo.com>
11034
11035         * docs/gst/gstreamer-sections.txt:
11036           Update for new API and API changes.
11037         * gst/gstobject.h:
11038           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
11039         * gst/gstvalue.c:
11040           Documentation typo fix.
11041         * gst/net/gstnettimepacket.c:
11042           Documentation fixes for arguments.
11043
11044 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
11045
11046         * gst/gststructure.c: (gst_structure_get_fraction),
11047         (gst_structure_parse_value),
11048         (gst_structure_fixate_field_nearest_fraction):
11049         * gst/gststructure.h:
11050         * gst/gstutils.c: (gst_util_uint64_scale_int):
11051         * gst/gstutils.h:
11052         * scripts/update-funcnames:
11053         API Changes. 
11054         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
11055         Make gst_structure_fixate_field_nearest_fraction take a numerator
11056         and denominator argument instead of a GValue
11057         add gst_structure_get_fraction helper function.
11058
11059 2005-11-23  Wim Taymans  <wim@fluendo.com>
11060
11061         * docs/design/part-TODO.txt:
11062         Update TODO.
11063
11064         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11065         * gst/net/gstnetclientclock.h:
11066         Use parent fields for timeout and window_size.
11067
11068 2005-11-23  Andy Wingo  <wingo@pobox.com>
11069
11070         * check/net/gstnetclientclock.c (test_functioning): Adjust to
11071         rate_num/rate_denom change.
11072
11073         * gst/net/gstnetclientclock.c
11074         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
11075         OBJECT_LOCK. Don't call add_observation with the lock.
11076
11077         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
11078         fraction.
11079         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
11080         rate fraction.
11081         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
11082         deal with rate as a fraction whose numerator and denominator are
11083         GstClockTime values.
11084         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
11085         master; the other fields are protected by the SLAVE_LOCK.
11086         (do_linear_regression): Note that this must be called with the
11087         SLAVE_LOCK.
11088         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
11089         OBJECT_LOCK. Call set_calibration instead of touching the
11090         variables directly.
11091         (gst_clock_set_property, gst_clock_get_property): Protect
11092         master/slave parameters with the SLAVE_LOCK.
11093
11094         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
11095         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
11096         note that all of the instance variables that add_observation and
11097         the set_master functions use are protected by that lock and not
11098         the OBJECT_LOCK.
11099         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
11100
11101         * gst/gstclock.c (gst_clock_add_observation): No longer requires
11102         the caller to take the object lock.
11103
11104 2005-11-23  Wim Taymans  <wim@fluendo.com>
11105
11106         * gst/gsterror.c: (_gst_core_errors_init):
11107         * gst/gsterror.h:
11108         Add error for clock stuff.
11109
11110         * gst/gstpipeline.c: (gst_pipeline_change_state),
11111         (gst_pipeline_set_clock):
11112         Post clock error when clock cannot be used in a pipeline.
11113
11114 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
11115
11116         * docs/gst/gstreamer-sections.txt:
11117           make two symbols from gstinfo private for the docs
11118         * gst/base/gstcollectpads.h:
11119         * gst/gstutils.c:
11120           fix doc typos, update docs
11121
11122 2005-11-22  Wim Taymans  <wim@fluendo.com>
11123
11124         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
11125         (gst_base_sink_wait), (gst_base_sink_do_sync),
11126         (gst_base_sink_handle_event):
11127         * gst/base/gstbasesink.h:
11128         No need to store the clock, the parent element class already
11129         has it.
11130
11131         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
11132         Updates for clock_set returning a gboolean
11133
11134         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
11135         (gst_clock_id_wait_async), (gst_clock_class_init),
11136         (gst_clock_init), (gst_clock_finalize),
11137         (gst_clock_get_internal_time), (gst_clock_get_time),
11138         (gst_clock_slave_callback), (gst_clock_set_master),
11139         (gst_clock_get_master), (do_linear_regression),
11140         (gst_clock_add_observation), (gst_clock_set_property),
11141         (gst_clock_get_property):
11142         * gst/gstclock.h:
11143         Implement master/slave. When setting a clock as a slave, a
11144         periodic timeout is scheduled to sample master and slave times.
11145         Then the slave clock is recalibrated to match offset and rate
11146         of the master clock.
11147         Update logging a bit.
11148         Add flag so that a clock can state that is cannot be slaved to
11149         another clock.
11150
11151         * gst/gstelement.c: (gst_element_set_clock):
11152         * gst/gstelement.h:
11153         The set clock returns a gboolean for when an element cannot
11154         deal with the selected clock in the pipeline. 
11155
11156         * gst/gstpipeline.c: (gst_pipeline_change_state),
11157         (gst_pipeline_set_clock):
11158         * gst/gstpipeline.h:
11159         Handle the case where the selected clock cannot be set on
11160         the pipeline.
11161
11162         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
11163         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
11164         (gst_net_client_clock_set_property),
11165         (gst_net_client_clock_get_property),
11166         (gst_net_client_clock_observe_times):
11167         * gst/net/gstnetclientclock.h:
11168         Use regression code in GstClock parent, remove duplicated
11169         functionality.
11170
11171 2005-11-22  Michael Smith <msmith@fluendo.com>
11172
11173         * gst/gstutils.c: (gst_util_clock_time_scale):
11174         * gst/gstutils.h:
11175         * docs/gst/gstreamer-sections.txt:
11176           Rename method to have extra underscore.
11177
11178 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11179
11180         * gst/elements/Makefile.am:
11181         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
11182         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
11183         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
11184         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
11185         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
11186         * gst/elements/gstfakesrc.h:
11187         * gst/gstqueue.c: (queue_leaky_get_type):
11188           correctly fix GEnumValues so that nick is the short lowercase
11189           dashed tag
11190         * tools/gst-inspect.c: (print_element_properties_info):
11191           also show the nick, since it's useful to use from parse_launch
11192           syntax
11193           Fixes #322139
11194
11195 2005-11-22  Michael Smith <msmith@fluendo.com>
11196
11197         * gst/gstutils.c: (gst_util_clocktime_scale):
11198         * gst/gstutils.h:
11199         * docs/gst/gstreamer-sections.txt:
11200           Add util method for scaling a clocktime by a fraction. Useful 
11201           implementation is left as an exercise for the reader.
11202
11203 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11204
11205         * gst/gstvalue.c: (gst_value_collect_fraction_range):
11206         If needed, allocate storage in the destination value during
11207         collection.
11208
11209 2005-11-22  Edward Hervey  <edward@fluendo.com>
11210
11211         * docs/gst/gstreamer-sections.txt:
11212         * gst/Makefile.am:
11213         * gst/gst.h:
11214         * gst/gsturitype.c:
11215         * gst/gsturitype.h:
11216         * gst/gstutils.c: (gst_util_set_object_arg):
11217         * tools/gst-compprep.c: (main):
11218         * tools/gst-inspect.c: (print_element_properties_info):
11219         Removed GstURI, closes bug #321061
11220
11221 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11222
11223         * check/gst/gststructure.c: (GST_START_TEST):
11224         * gst/gststructure.c: (gst_structure_parse_value):
11225           Oops, broke automatic string type parsing.
11226           Add a test to catch it in future.
11227
11228 2005-11-22  Andy Wingo  <wingo@pobox.com>
11229
11230         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
11231         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
11232         Actually rename the function implementations. Grr.
11233
11234 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11235
11236         * check/gst/capslist.h:
11237           Comment test cases
11238         * check/gst/gststructure.c: (GST_START_TEST),
11239         (gst_structure_suite):
11240           Test automatic value type detection in gst_structure_from_string.
11241         * gst/gststructure.c: (gst_structure_parse_value):
11242           Add fraction as a type we try and guess automatically in
11243           caps/structure strings.
11244
11245 2005-11-22  Andy Wingo  <wingo@pobox.com>
11246
11247         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
11248
11249         * gst/gsttagsetter.h:
11250         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
11251         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
11252         (gst_tag_setter_add_tag_valist)
11253         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
11254         _add_values, _add_valist, and _add_valist_values. Since this is an
11255         interface the function suffixes should be more explicit so
11256         language binding don't end up with element.add_valist ->
11257         gst_tag_setter_add_valist, for example. Fixes #322069.
11258
11259 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11260
11261         * check/gst/gstcaps.c: (GST_START_TEST):
11262           Extend caps string tests to check that a caps to string
11263           conversion is reversible and produces the same caps.
11264
11265         * gst/gststructure.c: (gst_structure_value_get_generic_type):
11266           Output "fraction" as the generic type fraction range, so caps
11267           serialisation and deserialisation works.
11268         * check/gst/capslist.h:
11269         * gst/gstvalue.c: (gst_value_deserialize_fraction):
11270           Support 'MIN' and 'MAX' for deserialising fractions.
11271
11272 2005-11-22  Andy Wingo  <wingo@pobox.com>
11273
11274         * gst/gstevent.h (gst_event_new_new_segment)
11275         (gst_event_parse_new_segment, gst_event_new_buffer_size)
11276         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
11277         Renamed from *_newsegment, *_buffersize, *_notarget.
11278
11279         * scripts/update-funcnames: New script, performs the changes
11280         listed above.
11281
11282 2005-11-22  Wim Taymans  <wim@fluendo.com>
11283
11284         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11285         Make sure the GstFlowReturn is returned.
11286
11287         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
11288         (gst_bus_add_signal_watch):
11289         * gst/gstbus.h:
11290         add gst_bus_add_signal_watch_full.
11291
11292         * gst/gstplugin.c: (gst_plugin_load_file):
11293         Small style cleanup.
11294
11295 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11296
11297         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
11298           Block the fakesrc srcpad when we send an event, to avoid
11299           contention on the stream_lock causing random test failures.
11300
11301 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11302
11303         * check/gst/gstvalue.c: (GST_START_TEST):
11304         * gst/gstvalue.c: (gst_value_fraction_subtract):
11305           Fix subtraction.
11306
11307 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
11308
11309         * gst/gst.h:
11310           include "gstchildproxy.h"
11311         * gst/gstchildproxy.h:
11312         * libs/gst/controller/gstcontroller.h:
11313           use G_GNUC_NULL_TERMINATED
11314
11315 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11316
11317         * check/gst/capslist.h:
11318         * check/gst/gstcaps.c: (GST_START_TEST):
11319         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11320         * gst/gststructure.c: (gst_structure_parse_range),
11321         (gst_structure_fixate_field_nearest_fraction):
11322         * gst/gststructure.h:
11323         * gst/gstvalue.c: (gst_value_init_fraction_range),
11324         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
11325         (gst_value_collect_fraction_range),
11326         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
11327         (gst_value_set_fraction_range_full),
11328         (gst_value_get_fraction_range_min),
11329         (gst_value_get_fraction_range_max),
11330         (gst_value_serialize_fraction_range),
11331         (gst_value_transform_fraction_range_string),
11332         (gst_value_compare_fraction_range),
11333         (gst_value_deserialize_fraction_range),
11334         (gst_value_intersect_fraction_fraction_range),
11335         (gst_value_intersect_fraction_range_fraction_range),
11336         (gst_value_subtract_fraction_fraction_range),
11337         (gst_value_subtract_fraction_range_fraction),
11338         (gst_value_subtract_fraction_range_fraction_range),
11339         (gst_value_collect_fraction), (gst_value_fraction_multiply),
11340         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
11341         (gst_value_transform_string_fraction), (_gst_value_initialize):
11342         * gst/gstvalue.h:
11343           Implement fraction ranges and extend GstFraction to support
11344           arithmetic subtraction, as well as deserialization from integer
11345           strings such as "100"
11346           Add a testsuite as for int and double range set operations
11347
11348 2005-11-21  Andy Wingo  <wingo@pobox.com>
11349
11350         * gst/gsttaglist.h: 
11351         * gst/gstcaps.h: 
11352         * gst/gststructure.h: Add glib-compat.h.
11353
11354 2005-11-21  Wim Taymans  <wim@fluendo.com>
11355
11356         * gst/gstbin.c: (gst_bin_change_state_func):
11357         Fix for #321595
11358
11359 2005-11-21  Wim Taymans  <wim@fluendo.com>
11360
11361         * gst/gstsegment.h:
11362         And add a nice define too.
11363
11364 2005-11-21  Wim Taymans  <wim@fluendo.com>
11365
11366         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
11367         (gst_segment_new), (gst_segment_free), (gst_segment_init),
11368         (gst_segment_set_duration), (gst_segment_set_last_stop),
11369         (gst_segment_set_seek), (gst_segment_set_newsegment),
11370         (gst_segment_to_stream_time), (gst_segment_to_running_time),
11371         (gst_segment_clip):
11372         * gst/gstsegment.h:
11373         Make binding friendly.
11374
11375 2005-11-21  Andy Wingo  <wingo@pobox.com>
11376
11377         * gst/gsttagsetter.h: 
11378         * gst/gsttaglist.h: 
11379         * gst/gststructure.h: 
11380         * gst/gstcaps.h: 
11381         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
11382         #319940.
11383
11384         * gst/gsterror.c (_gst_core_errors_init):
11385         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
11386         category.
11387
11388         * gst/Makefile.am (gst_headers): Add glib-compat.h.
11389         (noinst_HEADERS): noinst the -private.
11390
11391 2005-11-21  Michael Smith <msmith@fluendo.com>
11392
11393         * gst/gstplugin.h:
11394         * gst/gstregistry.h:
11395           Remove unimplemented declarations for which we can see no sensible
11396           use.
11397
11398 2005-11-21  Andy Wingo  <wingo@pobox.com>
11399
11400         * gst/gst.h: Include glib-compat.h.
11401
11402         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
11403
11404         * gst/glib-compat.c: Include the public and the private header.
11405
11406         * gst/glib-compat-private.h: Copied here from glib-compat.h.
11407
11408         * gst/gstvalue.c: 
11409         * gst/gstpad.c: 
11410         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
11411
11412         * check/gst/gstevent.c (create_custom_events): Check that
11413         FLUSH_STOP is serialized.
11414
11415         * check/elements/identity.c (event_func): 
11416         * check/elements/fakesrc.c (event_func): No stream lock, the core
11417         takes it.
11418
11419         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
11420         stream lock taking, yay.
11421
11422         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
11423         ensure that core takes the stream lock.
11424
11425         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
11426         lock name change.
11427
11428         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
11429         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
11430         it already. For the flush start we do take it though so we get the
11431         right preroll state change messages.
11432
11433         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
11434         the stream lock here, the core does it for us.
11435
11436         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
11437         GST_STREAM_GET_LOCK.
11438         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
11439         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
11440         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
11441         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
11442         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
11443         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
11444
11445         * gst/gstpad.c: Update for stream lock name change.
11446
11447         * gst/base/gstbasesink.c: Update for preroll lock name change.
11448
11449 2005-11-21  Wim Taymans  <wim@fluendo.com>
11450
11451         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
11452         (gst_clock_get_master):
11453         * gst/gstclock.h:
11454         * gst/gstsystemclock.c: (gst_system_clock_init):
11455         Convert Clock flags to object flags.
11456         Added methods to manage master/slave clocks.
11457
11458 2005-11-21  Wim Taymans  <wim@fluendo.com>
11459
11460         * check/gst/gstsegment.c: (GST_START_TEST):
11461         * docs/design/part-TODO.txt:
11462         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11463         (gst_base_sink_event), (gst_base_sink_do_sync),
11464         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
11465         (gst_base_sink_query), (gst_base_sink_change_state):
11466         * gst/base/gstbasesink.h:
11467         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
11468         (gst_base_src_default_newsegment),
11469         (gst_base_src_configure_segment), (gst_base_src_do_seek),
11470         (gst_base_src_get_range), (gst_base_src_loop),
11471         (gst_base_src_change_state):
11472         * gst/base/gstbasesrc.h:
11473         * gst/base/gstbasetransform.c:
11474         (gst_base_transform_prepare_output_buf),
11475         (gst_base_transform_event), (gst_base_transform_change_state):
11476         * gst/base/gstbasetransform.h:
11477         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
11478         (gst_collect_pads_event):
11479         * gst/base/gstcollectpads.h:
11480         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
11481         (gst_fake_src_create):
11482         * gst/elements/gstfakesrc.h:
11483         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
11484         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
11485         (gst_segment_set_last_stop), (gst_segment_set_seek),
11486         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
11487         (gst_segment_to_running_time), (gst_segment_clip):
11488         * gst/gstsegment.h:
11489         More segment updates, replace code in plugins with segment
11490         helper functions.
11491
11492 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
11493
11494         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
11495         Don't ignore sscanf results
11496
11497 2005-11-21  Andy Wingo  <wingo@pobox.com>
11498
11499         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
11500
11501         * *.h:
11502         * *.c: Ran scripts/update-macros. Oh yes.
11503
11504         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
11505         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
11506         GST_GET_LOCK, etc.
11507
11508         * scripts/update-macros: New script. Run it on your files to
11509         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
11510         well.
11511
11512 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
11513
11514         * docs/gst/Makefile.am:
11515         * docs/gst/gstreamer-docs.sgml:
11516         * docs/gst/gstreamer-sections.txt:
11517         * docs/gst/gstreamer.types:
11518         * gst/gstinfo.h:
11519           more docs fixes, add new api to the docs
11520
11521 2005-11-21  Andy Wingo  <wingo@pobox.com>
11522
11523         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
11524         state_broadcast call.
11525
11526         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
11527
11528 2005-11-21  Julien MOUTTE  <julien@moutte.net>
11529
11530         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
11531         function calls for arrays.
11532
11533 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
11534
11535         * docs/random/ensonic/media-device-daemon.txt:
11536           wild idea, can this be done?
11537         * docs/gst/gstreamer-sections.txt:
11538         * gst/gsterror.h:
11539         * gst/gstfilter.c:
11540         * gst/gstfilter.h:
11541         * gst/gstplugin.h:
11542         * gst/gstpluginfeature.c:
11543         * gst/gsttrace.c:
11544         * gst/gstvalue.c:
11545         * gst/gstvalue.h:
11546           doc fixes and additions
11547
11548 2005-11-21  Andy Wingo  <wingo@pobox.com>
11549
11550         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
11551         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
11552         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
11553         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
11554         private to the basesrc implementation.
11555
11556         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
11557         behalf of event function if necessary. It should no longer be
11558         necessary to take the stream lock in pad's event functions. Fixes
11559         #320299.
11560
11561 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
11562         * docs/gst/gstreamer-sections.txt:
11563         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
11564         (gst_structure_fixate_field_nearest_double),
11565         (gst_structure_fixate_field_boolean):
11566         * gst/gststructure.h:
11567         * win32/common/libgstreamer.def:
11568         * win32/gstreamer.def:
11569
11570         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
11571         (#322027)
11572
11573 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
11574
11575         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
11576         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
11577         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
11578         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
11579         (gst_fdsrc_uri_handler_init):
11580         * gst/elements/gstfdsrc.h:
11581           Port fd:// URI handler from 0.8 to fdsrc
11582
11583 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11584
11585         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
11586         (gst_value_serialize_fourcc):
11587         * gst/gstvalue.h:
11588           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
11589           consistent with our other format defines (#320324).
11590
11591 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11592
11593         * gst/gstvalue.c: (gst_value_is_fixed):
11594           Revert previous commit. Value lists are by definition
11595           not fixed, as they are a list of possible values.
11596
11597 2005-11-21  Andy Wingo  <wingo@pobox.com>
11598
11599         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
11600         during the stable series if we need it. Fixes #319178.
11601
11602         * gst/gstevent.c (gst_event_new_filler): Removed.
11603
11604         * check/gst/gstevent.c: Update comment about filler events.
11605
11606 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11607
11608         * gst/gstvalue.c: (gst_value_is_fixed):
11609           Should handle both value arrays and value lists.
11610
11611 2005-11-21  Andy Wingo  <wingo@pobox.com>
11612
11613         patch by: Alessandro Dessina <alessandro nnva org>
11614
11615         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
11616         functions to access arrays. Fixes #321962.
11617
11618 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11619
11620         * docs/gst/gstreamer.types:
11621           gst_collectpads_get_type => gst_collect_pads_get_type.
11622           
11623         * gst/base/gstbasetransform.c:
11624           Remove unused SIGNAL_HANDOFF enum.
11625
11626 2005-11-21  Andy Wingo  <wingo@pobox.com>
11627
11628         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
11629         the event type (upstream, downstream, serialized). Renamed
11630         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
11631         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
11632         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
11633
11634         * gst/gstevent.c: Update for new CUSTOM event names.
11635
11636         * check/gst/gstevent.c: Update check for new CUSTOM event names.
11637
11638         * gst/gstevent.h:
11639         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
11640         bug #319392.
11641
11642 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11643
11644         * docs/gst/gstreamer-sections.txt:
11645         * win32/common/libgstbase.def:
11646         * win32/libgstbase.def:
11647         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
11648         (gst_collect_pads_class_init), (gst_collect_pads_init),
11649         (gst_collect_pads_finalize), (gst_collect_pads_new),
11650         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
11651         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
11652         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
11653         (gst_collect_pads_start), (gst_collect_pads_stop),
11654         (gst_collect_pads_peek), (gst_collect_pads_pop),
11655         (gst_collect_pads_available), (gst_collect_pads_read),
11656         (gst_collect_pads_flush), (gst_collect_pads_event),
11657         (gst_collect_pads_chain):
11658         * gst/base/gstcollectpads.h:
11659           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
11660           unimplemented functions as unimplemented. Add padding to
11661           GstCollectData. (#320766, #320423)
11662
11663 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11664
11665         * gst/gstmessage.c:
11666           Improve docs for DURATION message (usage of duration parameter)
11667           (#320113)
11668
11669 2005-11-20  Wim Taymans  <wim@fluendo.com>
11670
11671         * check/Makefile.am:
11672         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
11673         (main):
11674         * gst/Makefile.am:
11675         * gst/gst.h:
11676         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
11677         (gst_segment_set_seek), (gst_segment_set_newsegment),
11678         (gst_segment_to_stream_time), (gst_segment_to_running_time),
11679         (gst_segment_clip):
11680         * gst/gstsegment.h:
11681         Added segment helper structure and methods. Not fully implemented
11682         yet.
11683         Added segment check.
11684
11685 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
11686
11687         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11688           Add a deserialisation test for fractions
11689         * examples/metadata/read-metadata.c: (message_loop),
11690         (make_pipeline), (main):
11691           Fix up metadata reading sample.
11692         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
11693           Debug format fix
11694         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
11695           Don't try and fixate empty caps
11696         * gst/gst_private.h:
11697           Wrap in G_BEGIN_DECLS/G_END_DECLS
11698         * gst/gstvalue.c: (gst_value_collect_fraction),
11699         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
11700         (gst_value_transform_string_fraction),
11701         (gst_value_compare_fraction):
11702           Add some extra guards to ensure that we don't end up 
11703           with an invalid denominator of 0 in a gstfraction and
11704           that fractions always get reduced.
11705
11706 2005-11-20  Wim Taymans  <wim@fluendo.com>
11707
11708         * docs/gst/gstreamer-sections.txt:
11709         * gst/gstbuffer.h:
11710         * gst/gstelement.c:
11711         * gst/gstformat.c:
11712         * gst/gstformat.h:
11713         * gst/gstindex.h:
11714         * gst/gstquery.c:
11715         * gst/gstquery.h:
11716         * gst/gstvalue.c:
11717         Doc fixes.
11718
11719 2005-11-20  Wim Taymans  <wim@fluendo.com>
11720
11721         * docs/design/part-TODO.txt:
11722         * gst/gstcaps.h:
11723         Make a proper enum of the flag.
11724
11725 2005-11-19  Wim Taymans  <wim@fluendo.com>
11726
11727         * docs/design/part-TODO.txt:
11728         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
11729         (gst_format_to_quark), (gst_format_register):
11730         * gst/gstformat.h:
11731         * gst/gstquery.c: (_gst_query_initialize),
11732         (gst_query_type_get_name), (gst_query_type_to_quark),
11733         (gst_query_type_register):
11734         * gst/gstquery.h:
11735         Add type to quark and type to string conversions.
11736
11737 2005-11-19  Andy Wingo  <wingo@pobox.com>
11738
11739         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
11740         #320097.
11741
11742 2005-11-19  Wim Taymans  <wim@fluendo.com>
11743
11744         * docs/design/part-TODO.txt:
11745         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
11746         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
11747         (gst_bin_handle_message_func):
11748         * gst/gstbin.h:
11749         Make message handling overridable.
11750
11751 2005-11-19  Andy Wingo  <wingo@pobox.com>
11752
11753         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
11754
11755         * gst/gstclock.h:
11756         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
11757         be a GstClockTime.
11758         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
11759         is a GstClockTime. Fixes #321710.
11760
11761         * gst/gstclock.h (GstClock): Remove offset property. Add
11762         internal_calibration and external_calibration. Fix padding. Pad
11763         also by GstClockTime so we don't run into problems.
11764
11765         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
11766         (gst_clock_get_rate_offset): Remove.
11767         (gst_clock_set_time_adjust): Remove. Fixes #321712.
11768
11769         * gst/gstutils.h:
11770         * gst/gstutils.c (g_static_rec_cond_wait)
11771         (g_static_rec_cond_timed_wait): Removed, no longer needed.
11772
11773         * gst/gstbin.c: Remove terrible continue_state prototype.
11774
11775         * gst/gstelement.h (gst_element_continue_state): Make public.
11776
11777         * gst/gstelement.h:
11778         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
11779         by continue_state. Fixes #319389.
11780
11781         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
11782         Really fixes #168438. However I don't see anywhere where the
11783         filter function is called... stupid GStreamer...
11784         
11785         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
11786         don't have a dispose function, so it won't get called when the
11787         object is unreffed, but oh well!
11788
11789         * gst/gstindex.c (gst_index_set_filter_full): New API function,
11790         allows a destroy function to be set so user_data can be freed.
11791         Fixes #168438.
11792         (gst_index_set_filter): Call gst_index_set_filter_full.
11793
11794         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
11795
11796         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
11797         string should produce an error, given the lack of a way to
11798         represent NULL strings. Fixes #165650.
11799         
11800         * gst/gstvalue.h: 
11801         * gst/gstvalue.c (gst_value_array_append_value) 
11802         (gst_value_array_prepend_value, gst_value_array_get_size) 
11803         (gst_value_array_get_value): New API, copied from
11804         gst_value_list_*, only operates on arrays.
11805         (gst_value_list_append_value, gst_value_list_prepend_value) 
11806         (gst_value_list_concat, gst_value_list_get_size) 
11807         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
11808
11809         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
11810         init_list, because it works on both.
11811         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
11812         (gst_value_copy_list_or_array): Renamed from copy_list.
11813         (gst_value_free_list_or_array): Renamed from free_list.
11814         (gst_value_collect_list_or_array): Renamed from collect_list.
11815         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
11816         (gst_value_list_or_array_peek_pointer): Renamed from
11817         list_peek_pointer.
11818         (_gst_value_array_value_table, _gst_value_list_value_table):
11819         Update value table functions.
11820         (gst_value_compare_list_or_array): Renamed from compare_list.
11821
11822         * gsttaglist.h: Whoops, foreach function returns void. Also fix
11823         some constness.
11824
11825         * gst/gsttaglist.c:
11826         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
11827         GstTagList*. Fixes #143472.
11828
11829         * gst/gststructure.h: Clarify what the foreach/map functions can
11830         or can't do to their arguments.
11831
11832 2005-11-18  Wim Taymans  <wim@fluendo.com>
11833
11834         * gst/gstclock.c: (gst_clock_set_calibration),
11835         (gst_clock_get_calibration):
11836         Doc and API fixes.
11837         Calibration can be set with internal time equal to current
11838         internal time too.
11839
11840 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11841
11842         * gst/gsterror.c:
11843         * gst/gsterror.h:
11844           document
11845
11846 2005-11-18  Andy Wingo  <wingo@pobox.com>
11847
11848         * configure.ac: 
11849         * pkgconfig/gstreamer-net.pc.in:
11850         * pkgconfig/gstreamer-net-uninstalled.pc.in:
11851         * pkgconfig/Makefile.am: Add net pkgconfig files.
11852
11853 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
11854
11855         * gst/gstcaps.c:
11856         * gst/gstghostpad.c:
11857         * gst/gsttrace.c:
11858         * gst/gstvalue.c:
11859         * gst/gstvalue.h:
11860           docs fixes
11861
11862 2005-11-18  Andy Wingo  <wingo@pobox.com>
11863
11864         * gst/net/gstnetclientclock.c: Turn off debugging.
11865
11866         * check/net/gstnetclientclock.c (test_functioning): Assert that the
11867         times connverge somewhat. Can't make a real test.
11868
11869         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
11870         integer arithmetic. Return the minimum of the domain, which can be
11871         set as "internal" for gst_clock_set_calibration.
11872         (gst_net_client_clock_observe_times): Call _set_calibration.
11873         (gst_net_client_clock_new): Call _set_calibration instead of
11874         rate_offset.
11875
11876         * check/net/gstnetclientclock.c (test_functioning): Use the right
11877         adjustment api.
11878
11879         * gst/gstclock.h:
11880         * gst/gstclock.c (gst_clock_get_calibration) 
11881         (gst_clock_set_calibration): New functions, obsolete the ones I
11882         added yesterday. Doh. Precision issues mean we have to extrapolate
11883         from a point in the more recent past than 1970.
11884         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
11885         obsolete.
11886         (gst_clock_adjust_unlocked): Use the right calibration data.
11887
11888 2005-11-18  Edward Hervey  <edward@fluendo.com>
11889
11890         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
11891         Also reset the ->current_* values in READY->PAUSED
11892
11893 2005-11-18  Andy Wingo  <wingo@pobox.com>
11894
11895         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
11896         Whoops, check the right fd. Also add some debugging.
11897         (gst_net_client_clock_observe_times): Adjust for int64 offset.
11898         (do_linear_regression): Add a crapload of debugging. Subtract off
11899         the minimum values from the input series to discard unneeded bits.
11900         Use only int arithmetic. There is still double arithmetic when
11901         calculating the intercept that needs fixing. Return boolean to
11902         indicate success; FALSE would mean the domain or range is too
11903         great. Still needs fixes.
11904
11905 2005-11-18  Wim Taymans  <wim@fluendo.com>
11906
11907         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
11908         For the current position in stream time, we need to subtract
11909         accumulated time.
11910         
11911         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
11912         Release lock before calling the callback function of async
11913         entries.
11914
11915 2005-11-18  Andy Wingo  <wingo@pobox.com>
11916
11917         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
11918         Port goes all the way to MAXUINT16.
11919
11920         * gst/net/gstnettimeprovider.c: Make the port range the same as
11921         for the kernel: 0 assigns, otherwise ports are less than
11922         MAXUINT16.
11923
11924         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
11925         port change.
11926
11927         * check/net/gstnetclientclock.c (test_functioning): Add the start
11928         of another test. 
11929
11930 2005-11-18  Wim Taymans  <wim@fluendo.com>
11931
11932         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
11933         (gst_bin_remove_func), (bin_bus_handler):
11934         * gst/gstbin.h:
11935         Removing a clock provider from a bin, triggers a clock lost message
11936         so that a new clock will be selected.
11937         Adding a clock to a bin triggers a clock provider message.
11938         Make sure we reselect a clock when we received a clock lost message.
11939         Keep a reference to the element that provided the clock.
11940
11941 2005-11-18  Andy Wingo  <wingo@pobox.com>
11942
11943         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
11944         the clock initially so it produces values around the base time.
11945         (gst_net_client_clock_class_init): Typo fix.
11946         (gst_net_client_clock_thread): Add note on when the socket gets
11947         closed.
11948
11949 2005-11-17  Wim Taymans  <wim@fluendo.com>
11950
11951         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
11952         Free remote and local time arrays.
11953
11954 2005-11-17  Wim Taymans  <wim@fluendo.com>
11955
11956         * gst/net/gstnetclientclock.c: (do_linear_regression),
11957         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
11958         Fix compilation, uninitialized vars and a forgotten continue.
11959
11960 2005-11-17  Andy Wingo  <wingo@pobox.com>
11961
11962         * check/Makefile.am (check_PROGRAMS): 
11963         * check/net/gstnetclientclock.c: Add a most minimal test for the
11964         net client clock. More to come later.
11965
11966         * gst/net/gstnet.h: 
11967         * gst/net/Makefile.am: Add netclientclock.
11968
11969         * gst/net/gstnetclientclock.h:
11970         * gst/net/gstnetclientclock.c: New files, implement an untested
11971         GstClock that takes its time from a network time provider.
11972         Implements the algorithm in network-clock.scm.
11973
11974         * tests/network-clock.scm (*window-size*): Rename from
11975         *queue-length*.
11976         * tests/network-clock.scm (network-time): 
11977         * tests/network-clock-utils.scm (q-push): Update callers.
11978
11979 2005-11-17  Wim Taymans  <wim@fluendo.com>
11980
11981         * gst/gstbin.c: (gst_bin_provide_clock_func),
11982         (gst_bin_sort_iterator_new):
11983         And unref the child too..
11984
11985 2005-11-17  Wim Taymans  <wim@fluendo.com>
11986
11987         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
11988         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
11989         Refactor the sort iterator so it can be used while holding the
11990         LOCK too.
11991         Make clock selection select a clock closest to the source.
11992
11993 2005-11-17  Michael Smith <msmith@fluendo.com>
11994
11995         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
11996         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
11997         * gst/gstclock.h:
11998           Anonymous structs are a gcc (and some other compilers) extension, so
11999           don't use them. Since this is only for ABI-compatibility, and our
12000           API/ABI freeze is over in a few days, this whole thing will only
12001           last a few days, so don't bother trying to think up a meaningful
12002           name for the struct.
12003
12004 2005-11-17  Andy Wingo  <wingo@pobox.com>
12005
12006         * gst/gstclock.h (GstClock): Add rate and offset properties,
12007         preserving ABI stability. Add rate/offset accessors. Will file bug
12008         for the freeze break.
12009
12010         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
12011         and offset, trying to keep precision and avoiding
12012         underflow/overflow.
12013         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
12014         functions. Make gst_clock_set_time_adjust obsolete.
12015         (gst_clock_set_time_adjust): Note that this function is obsolete.
12016         Will file bug soon.
12017
12018         * gst/base/gstbasetransform.h: Make the ABI-stability hack
12019         greppable by using GST_PADDING-1+1.
12020
12021 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
12022
12023         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
12024
12025         * gst/gstmessage.c: (gst_message_parse_clock_lost):
12026           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
12027
12028         * gst/gstpadtemplate.h:
12029         * gst/gstpluginfeature.h:
12030           Don't use c++ style comments in headers (#321638).
12031
12032 2005-11-16  Andy Wingo  <wingo@pobox.com>
12033
12034         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
12035         buffer.
12036
12037         * check/net/gstnettimeprovider.c: Check to see that the time
12038         provider actually provides times. Works, yo!
12039
12040 2005-11-16  Wim Taymans  <wim@fluendo.com>
12041
12042         * check/Makefile.am:
12043         Enable more tests.
12044
12045         * check/elements/fakesrc.c: (GST_START_TEST):
12046         Set element to NULL before disposing it.
12047
12048 2005-11-16  Andy Wingo  <wingo@pobox.com>
12049
12050         * gst/net/Makefile.am:
12051         * gst/net/gstnet.h:
12052         * gst/net/gstnettimeprovider.c: 
12053         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
12054         provider, include it from gstnet.h, and add it to the build.
12055
12056         * gst/net/gstnettimepacket.h: 
12057         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
12058         sending and receiving.
12059
12060 2005-11-16  Wim Taymans  <wim@fluendo.com>
12061
12062         * check/Makefile.am:
12063         Enable valgrind check.
12064
12065         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
12066         (gst_fake_src_alloc_buffer):
12067         Fix memleak.
12068
12069 2005-11-16  Wim Taymans  <wim@fluendo.com>
12070
12071         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
12072         Call parent finalize too.
12073
12074 2005-11-16  Wim Taymans  <wim@fluendo.com>
12075
12076         * check/Makefile.am:
12077         Enable valgrind check that should work fine now.
12078
12079         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
12080         * gst/gstqueue.c: (gst_queue_init):
12081         Fix memleaks in pad allocation.
12082
12083 2005-11-16  Andy Wingo  <wingo@pobox.com>
12084
12085         * gst/net/Makefile.am:
12086         * gst/net/gstnet.h: New part of core to hold network elements and
12087         objects. Put in core because it exposes API that applications want
12088         to use. The library is named libgstnet-tempname right now because
12089         of the existing libgstnet in gst-plugins-base. Solution is
12090         probably to rename the one in plugins-base; will file a bug for
12091         the freeze break.
12092
12093         * gst/net/gstnettimeprovider.c: 
12094         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
12095         get_time call over the network.
12096
12097         * configure.ac: 
12098         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
12099
12100         * check/Makefile.am:
12101         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
12102         get additions shortly.
12103
12104 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12105
12106         * gst/gstpad.c: (gst_pad_new_from_static_template):
12107         * gst/gstpad.h:
12108           add gst_pad_new_from_static_template functions
12109         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
12110         (gst_check_setup_sink_pad):
12111         * gst/elements/gsttee.c: (gst_tee_init):
12112           and use them
12113
12114 2005-11-16  Wim Taymans  <wim@fluendo.com>
12115
12116         * gst/gstpad.c: (gst_pad_pause_task):
12117         Removed warning, it's not really an error either.
12118
12119 2005-11-16  Wim Taymans  <wim@fluendo.com>
12120
12121         * gst/base/gstbasetransform.c:
12122         (gst_base_transform_prepare_output_buf),
12123         (gst_base_transform_event):
12124         Check if the caps are NULL, this can happen if the element
12125         is shutting down and the pad caps are set to NULL.
12126
12127 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12128
12129         * gst/elements/gsttee.c: (gst_tee_init):
12130           fix pad template leak in tee
12131
12132 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12133
12134         * gst/glib-compat.c: (g_value_dup_gst_object):
12135         * gst/glib-compat.h:
12136         * gst/gstpad.c: (gst_pad_set_property):
12137           use gst_object_ref when setting the pad template; this will
12138           trigger the pad template leaks on GLib 2.6 and the slaves
12139
12140 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12141
12142         * gst/glib-compat.c: (gst_flags_get_first_value):
12143         * gst/glib-compat.h:
12144         * gst/gstregistryxml.c:
12145           remove functions copied from GLib 2.6
12146
12147 2005-11-16  Michael Smith <msmith@fluendo.com>
12148
12149         * gst/Makefile.am:
12150           Don't link against VALGRIND_LIBS. That was always the wrong thing to
12151           do, but only breaks with newer valgrind versions. We're not a
12152           valgrind tool, we have no link-time dependencies on libcoregrind.
12153
12154 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12155
12156         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
12157           some debug changes
12158         * gst/gstmessage.h:
12159           typo fixes
12160
12161 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12162
12163         * gst/base/gstbasesrc.c: (gst_base_src_init):
12164         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
12165         * gst/gstqueue.c: (gst_queue_init):
12166         * gst/gstregistryxml.c: (load_feature):
12167           Revert all these unrefs, they don't even pass make check !
12168
12169 2005-11-15  Johan Dahlin  <johan@gnome.org>
12170
12171         * gst/base/gstbasesrc.c: (gst_base_src_init):
12172         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
12173         * gst/gstqueue.c: (gst_queue_init): 
12174         Free pad templates, fixes a couple of leaks.
12175
12176 2005-11-15  Daniel Fischer  <dan at f3c dot com>
12177
12178         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
12179
12180         * gst/gstpad.c: (gst_pad_get_property):
12181           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
12182           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
12183           (#321452)
12184
12185 2005-11-15  Wim Taymans  <wim@fluendo.com>
12186
12187         * gst/gstevent.c:
12188         Small doc update.
12189
12190 2005-11-15  Andy Wingo  <wingo@pobox.com>
12191
12192         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
12193
12194         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
12195         using GST_CLOCK_TIME_NONE to disable base time management.
12196         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
12197         time if it was NONE before.
12198         (gst_pipeline_change_state): Only munge the base time if
12199         stream_time != GST_CLOCK_TIME_NONE.
12200
12201         * check/gst/gstpipeline.c (test_base_time): Punt around the
12202         problem of the probe not being called, because that's not the
12203         issue I'm looking at. Add a check that setting stream_time to NONE
12204         disables base time management.
12205         
12206 2005-11-15  Wim Taymans  <wim@fluendo.com>
12207
12208         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
12209         segment_stop == -1 at startup.
12210
12211         * gst/base/gstbasetransform.c: (gst_base_transform_event),
12212         (gst_base_transform_change_state):
12213         Init segment values at start.
12214
12215 2005-11-15  Wim Taymans  <wim@fluendo.com>
12216
12217         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12218         0 segment values are 0 in any format.
12219
12220         * gst/base/gstbasetransform.c: (gst_base_transform_event):
12221         * gst/base/gstbasetransform.h:
12222         Parse newsegment correctly in basetransform
12223
12224         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
12225         Sync to clock using updated segment values.
12226
12227 2005-11-15  Andy Wingo  <wingo@pobox.com>
12228
12229         * check/gst/gstpipeline.c (test_base_time): Add check that the
12230         base time and stream time are reset correctly.
12231
12232 2005-11-15  Wim Taymans  <wim@fluendo.com>
12233
12234         * docs/design/part-TODO.txt:
12235         Some more TODO items.
12236
12237 2005-11-15  Andy Wingo  <wingo@pobox.com>
12238
12239         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
12240         error if the user selected "no clock" as the clocking method.
12241
12242         * check/gst/gstpipeline.c (test_base_time): New test for buffer
12243         timestamps with live capture.
12244
12245         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
12246         is 0 but we are a live source, timestamp the buffers using the
12247         element's clock.
12248
12249 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
12250
12251         * docs/gst/gstreamer-sections.txt:
12252         * gst/gsterror.c:
12253         * gst/gstghostpad.c:
12254         * gst/gstobject.h:
12255         * gst/gstxml.c:
12256           more section docs
12257
12258 2005-11-14  Wim Taymans  <wim@fluendo.com>
12259
12260         * common/gst.supp:
12261           add suppressions from Wim's Debian machine
12262
12263 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12264
12265         * common/gst.supp:
12266           add suppressions from Andy's AMD64 Ubuntu machine
12267
12268 2005-11-14  Andy Wingo  <wingo@pobox.com>
12269
12270         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
12271         STATE_LOCK not necessary. Fixes #311489.
12272
12273         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
12274         #305291.
12275
12276         * gst/gstindex.c (gst_index_add_object): Note in the docs that
12277         this function is not implemented.
12278
12279 2005-11-14  Julien MOUTTE  <julien@moutte.net>
12280
12281         * gst/base/gstbasetransform.c:
12282         (gst_base_transform_prepare_output_buf):
12283         Ref the source pad caps while we need them.
12284         Fixes (#321386)
12285
12286 2005-11-11  Wim Taymans  <wim@fluendo.com>
12287
12288         * docs/gst/gstreamer-sections.txt:
12289         Added some docs for GstCollectData.
12290
12291         * gst/base/gstadapter.c:
12292         Some small code example fix.
12293
12294         * gst/base/gstcollectpads.c:
12295         * gst/base/gstcollectpads.h:
12296         Document some more.
12297
12298 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12299
12300         * configure.ac: back to HEAD
12301
12302 === release 0.9.5 ===
12303
12304 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
12305
12306         * configure.ac:
12307           releasing 0.9.5, "Bike Lunch Day"
12308
12309 2005-11-11  Wim Taymans  <wim@fluendo.com>
12310
12311         * gst/gstbuffer.c: (_gst_buffer_copy):
12312         Copy more flags.
12313
12314         * gst/gstcaps.c: (gst_caps_is_equal):
12315         Fix some docs.
12316         Make _is_equal fast in the trivial cases.
12317
12318         * gst/gstminiobject.c:
12319         * gst/gstminiobject.h:
12320         More docs. Spifify .h file.
12321
12322         * gst/gstutils.c:
12323         Small doc update.
12324
12325 2005-11-11  Wim Taymans  <wim@fluendo.com>
12326
12327         * gst/base/gstbasetransform.c:
12328         (gst_base_transform_prepare_output_buf),
12329         (gst_base_transform_handle_buffer):
12330         Small cleanups.
12331         If we're processing a buffer and need to allocate an output
12332         buffer, we cannot accept a format change. If we did get a 
12333         format change, we have to alloc a buffer ourselves of the 
12334         right size.
12335
12336 2005-11-11  Wim Taymans  <wim@fluendo.com>
12337
12338         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
12339         While checking the flag for reentrancy in the gstcaps function
12340         is nice to detect recursive invocations, it also makes it 
12341         impossible to call getcaps from multiple threads, which must be
12342         possible. So, checking for recursive calls has to go.
12343
12344 2005-11-11  Michael Smith <msmith@fluendo.com>
12345
12346         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
12347           Don't sync on buffers that fall partially outside our current
12348           segment. Prevents an assertion failure/abort playing some files.
12349
12350 2005-11-10  Andy Wingo  <wingo@pobox.com>
12351
12352         * check/gst/gstbin.c (test_message_state_changed_children): Style
12353         fix..
12354
12355         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
12356         gst_bus_poll with the signal watch. Ensures that poll and a signal
12357         watch see the same messages.
12358
12359         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
12360         a poll and a watch at the same time get the same messages.
12361
12362 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12363
12364         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
12365         * gst/gstcaps.c: (gst_caps_intersect):
12366           Don't call gst_caps_do_simplify - it doesn't respect order of caps
12367           and it's not needed.
12368
12369 2005-11-10  Wim Taymans  <wim@fluendo.com>
12370
12371         * docs/design/part-TODO.txt:
12372         Updated todo.
12373
12374 2005-11-10  Wim Taymans  <wim@fluendo.com>
12375
12376         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
12377         * gst/base/gstbasesrc.c: (gst_base_src_wait),
12378         (gst_base_src_do_sync), (gst_base_src_get_range):
12379         Implement clock sync in base class.
12380
12381 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12382
12383         patch by: Tim-Philipp Müller <tim at centricular dot net>
12384
12385         * gst/gststructure.c: (gst_structure_parse_field),
12386         (gst_structure_from_string):
12387           Forward-port a 0.8 patch to handle escaped spaces in structure string,
12388           so that gst_parse_launch() can deal with spaces in filtered link
12389           caps (fixes #164479)
12390         * check/gst/capslist.h:
12391         * check/gst/gststructure.c: (GST_START_TEST):
12392           add unit tests for this change
12393
12394 2005-11-10  Wim Taymans  <wim@fluendo.com>
12395
12396         * docs/gst/gstreamer-sections.txt:
12397         * gst/gstelement.c:
12398         * gst/gstelement.h:
12399         Fix docs, move some STATE macros to private.
12400
12401 2005-11-10  Wim Taymans  <wim@fluendo.com>
12402
12403         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
12404         Added check for bug #317341
12405
12406         * gst/gstbuffer.c:
12407         * gst/gstbuffer.h:
12408         Some more spiffifying.
12409
12410         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
12411         Call peer linkfunction if we are a source pad. Totally fixes
12412         #317341
12413
12414         * gst/gstpad.c:
12415         Update docs, source pads should call the peer linkfunction
12416         so they can atomically perform the pad link.
12417
12418 2005-11-09  Wim Taymans  <wim@fluendo.com>
12419
12420         * gst/gstbuffer.c:
12421         * gst/gstbuffer.h:
12422         Uber-spiffy-spiffify some more.
12423
12424 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
12425
12426         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
12427         * gst/elements/gstfilesink.c: (gst_file_sink_init):
12428         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
12429         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
12430         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
12431         * gst/gstpad.c: (gst_pad_init):
12432           Use GST_DEBUG_FUNCPTR() more extensively.
12433
12434 2005-11-09  Wim Taymans  <wim@fluendo.com>
12435
12436         * gst/gstobject.c: (gst_object_class_init):
12437         * gst/gstobject.h:
12438         Documentation fixes.
12439
12440 2005-11-09  Edward Hervey  <edward@fluendo.com>
12441
12442         * gst/gsttypefindfactory.c:
12443         Fix docs.
12444         
12445 2005-11-09  Edward Hervey  <edward@fluendo.com>
12446
12447         * gst/base/gsttypefindhelper.c:
12448         * gst/gsttypefind.c:
12449         * gst/gsttypefind.h:
12450         Fix docs.
12451
12452 2005-11-09  Wim Taymans  <wim@fluendo.com>
12453
12454         * gst/gstiterator.c:
12455         Fix revision data.
12456
12457         * gst/gsttask.c:
12458         * gst/gsttask.h:
12459         Fix docs.
12460
12461 2005-11-09  Wim Taymans  <wim@fluendo.com>
12462
12463         * gst/gstevent.h:
12464         * gst/gsturi.h:
12465         Fix docs.
12466
12467 2005-11-09  Wim Taymans  <wim@fluendo.com>
12468
12469         * docs/gst/gstreamer-sections.txt:
12470         Moved the message async delivery private lock and cond
12471         to the private section.
12472
12473         * gst/gstmessage.c:
12474         * gst/gstmessage.h:
12475         Fixed docs.
12476
12477 2005-11-09  Edward Hervey  <edward@fluendo.com>
12478
12479         * docs/gst/gstreamer-sections.txt:
12480         * gst/gsturi.c:
12481         * gst/gsturi.h:
12482         Document GstURIHandler
12483
12484 2005-11-09  Wim Taymans  <wim@fluendo.com>
12485
12486         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
12487         (gst_iterator_find_custom):
12488         * gst/gstiterator.h:
12489         Fix iterator docs.
12490
12491 2005-11-09  Wim Taymans  <wim@fluendo.com>
12492
12493         * gst/gstbin.h:
12494         Document another field.
12495
12496         * gst/gststructure.c:
12497         * gst/gststructure.h:
12498         Document.
12499
12500 2005-11-09  Wim Taymans  <wim@fluendo.com>
12501
12502         * gst/gstbin.h:
12503         Documented structs.
12504
12505 2005-11-09  Wim Taymans  <wim@fluendo.com>
12506
12507         * docs/gst/gstreamer-sections.txt:
12508         Added some new macros.
12509
12510         * gst/gstclock.c:
12511         * gst/gstclock.h:
12512         * gst/gstobject.h:
12513         Docs updates.
12514
12515 2005-11-09  Wim Taymans  <wim@fluendo.com>
12516
12517         * docs/design/part-TODO.txt:
12518         Some more items for the TODO
12519
12520         * gst/gstcaps.c:
12521         * gst/gstcaps.h:
12522         Document GstCaps.
12523
12524 2005-11-09  Andy Wingo  <wingo@pobox.com>
12525
12526         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
12527         to work on something else now tho...
12528
12529         * gst/base/gstadapter.c: More adapter docs.
12530
12531         * gst/elements/gstfilesink.c (gst_file_sink_start) 
12532         (gst_file_sink_stop): New functions, replace the state change
12533         handler.
12534         (gst_file_sink_class_init): Hook up the start and stop functions.
12535         (gst_file_sink_base_init): Don't set the state change handler any
12536         more. It was a bit ugly too, being set from here...
12537         (gst_file_sink_get_property, gst_file_sink_set_property):
12538         Cleanups...
12539         (gst_file_sink_set_location): More robust check that doesn't call
12540         GST_STATE. Ugggggg.
12541
12542 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
12543
12544         * gst/base/gstbasetransform.c: (gst_base_transform_event):
12545           Hold STREAM_LOCK while pushing newsegment or tag events as well.
12546
12547 2005-11-08  Wim Taymans  <wim@fluendo.com>
12548
12549         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
12550         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
12551         (gst_base_sink_chain), (gst_base_sink_change_state):
12552         * gst/base/gstbasesink.h:
12553         * gst/base/gstbasesrc.h:
12554         * gst/gstelement.h:
12555         * gst/gstevent.h:
12556         Avoid excessive typechecking in macros.
12557
12558         * gst/gstminiobject.c: (gst_mini_object_get_type),
12559         (gst_mini_object_init), (gst_mini_object_new),
12560         (gst_mini_object_free):
12561         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
12562         (gst_object_finalize):
12563         Remove cruft code, optimize alloc_trace.
12564
12565 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
12566
12567         * docs/faq/gst-uninstalled:
12568           fix up PS1 for systems that try to reset it
12569
12570 2005-11-07  Wim Taymans  <wim@fluendo.com>
12571
12572         * gst/base/gstbasesrc.c: (gst_base_src_init),
12573         (gst_base_src_get_range):
12574         Set the segment_end to -1 initially. Fixed typefind.
12575
12576 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
12577
12578         * gst/base/gstadapter.c:
12579           Debug category should be 'adapter', not 'GstAdapter'.
12580           
12581         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
12582         (gst_collectpads_class_init), (gst_collectpads_init),
12583         (gst_collectpads_peek), (gst_collectpads_pop),
12584         (gst_collectpads_event), (gst_collectpads_chain):
12585           Add debug category and some debugging output. Use boilerplate
12586           macros. Remove some extraneous words from docs.
12587
12588 2005-11-05  Andy Wingo  <wingo@pobox.com>
12589
12590         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
12591         macro.
12592
12593 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
12594
12595         * docs/gst/gstreamer-sections.txt:
12596         * gst/gstcaps.h:
12597         * gst/gstinfo.c:
12598         * gst/gstminiobject.h:
12599         * gst/gstobject.h:
12600         * gst/gstutils.h:
12601           more docs added
12602
12603 2005-11-04  Wim Taymans  <wim@fluendo.com>
12604
12605         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
12606         Small update to stop at the configured segment_end
12607         position.
12608
12609 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
12610
12611         * gst/gstregistry.c:
12612         * gst/gstregistry.h:
12613           added missing docs
12614
12615 2005-11-04  Edward Hervey  <edward@fluendo.com>
12616
12617         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
12618         Check if we are doing a segment seek and have arrived at the
12619         end of that segment.
12620
12621 2005-11-04  Wim Taymans  <wim@fluendo.com>
12622
12623         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
12624         Don't leak a mutex unlock in case of an error.
12625
12626         * gst/gstbus.h:
12627         Doc fixes.
12628
12629 2005-11-04  Wim Taymans  <wim@fluendo.com>
12630
12631         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
12632         (gst_bus_post):
12633         Get the context to wake up only once.
12634
12635 2005-11-03  Wim Taymans  <wim@fluendo.com>
12636
12637         * check/states/sinks.c: (GST_START_TEST):
12638         Uncomment fixed check.
12639
12640         * docs/design/part-TODO.txt:
12641         Updated TODO.
12642
12643         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12644         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
12645         (gst_base_sink_get_position):
12646         If we are going to PLAYING, post the right pending state
12647         when we post the intermediate paused message.
12648
12649         * gst/gstelement.c: (gst_element_continue_state),
12650         (gst_element_set_state_func), (gst_element_change_state):
12651         Don't post state changes that were between the same state
12652         and were not ASYNC.
12653
12654 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
12655
12656         * docs/gst/gstreamer-sections.txt:
12657         * gst/gstcaps.h:
12658         * gst/gstinfo.c:
12659         * gst/gstminiobject.h:
12660         * gst/gstobject.h:
12661         * gst/gstutils.h:
12662           more docs and doc style fixes
12663
12664 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
12665
12666         * docs/gst/gstreamer-sections.txt:
12667         * gst/gstelement.c:
12668         * gst/gstminiobject.c:
12669         doc fixes
12670
12671 2005-11-03  Andy Wingo  <wingo@pobox.com>
12672
12673         * check/states/sinks.c (test_livesrc_sink): Add checks that the
12674         state-changed messages actually have the right order and the right
12675         values.
12676
12677 2005-11-03  Wim Taymans  <wim@fluendo.com>
12678
12679         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
12680         Added some more checks. Specifically the case where NO_PREROLL
12681         elements are in the pipeline.
12682
12683         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12684         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
12685         (gst_base_sink_get_position):
12686         Post READY->PAUSED state change messages too.
12687         Fix bug where VOID was posted as pending state...
12688
12689         * gst/gstbin.c: (gst_bin_recalc_state):
12690         use _element_continue_state() to continue the state change.
12691
12692         * gst/gstelement.c: (gst_element_continue_state),
12693         (gst_element_commit_state), (gst_element_set_state_func),
12694         (gst_element_change_state), (gst_element_change_state_func):
12695         Lots of state change cleanups, assign the STATE_RETURN in
12696         a new continue_state() function that also propagates the
12697         last return value from a state change to the app.
12698         Update some debug statements with proper category.
12699
12700 2005-11-03  Wim Taymans  <wim@fluendo.com>
12701
12702         * docs/design/part-events.txt:
12703         * docs/design/part-gstpipeline.txt:
12704         * docs/design/part-messages.txt:
12705         * docs/design/part-overview.txt:
12706         * docs/design/part-seeking.txt:
12707         * docs/design/part-states.txt:
12708         * docs/design/part-trickmodes.txt:
12709         * docs/manual/advanced-position.xml:
12710         Small docs updates.
12711
12712         * gst/gstobject.h:
12713         People think !! is ugly, this looks better.
12714
12715         * gst/gstpad.c: (gst_pad_set_blocked_async):
12716         Remove !! since it's fixed elsewhere now.
12717
12718 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
12719
12720         * gst/gstminiobject.h:
12721         * gst/gstobject.h:
12722           Add !! to _FLAG_IS_SET macros to make the result boolean.
12723
12724 2005-11-03  Edward Hervey  <edward@fluendo.com>
12725
12726         * gst/gstpad.c: (gst_pad_set_blocked_async):
12727         comparing a flag and a gboolean rarely returns coherent results...
12728         Added two characters (!!) to make that work correctly.
12729         
12730 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
12731
12732         * gst/gstbus.c: (gst_bus_class_init):
12733           Fix some typos.
12734           
12735         * gst/gstqueue.c: (gst_queue_loop):
12736           Don't assume a miniobject that isn't a buffer is an
12737           event (it could be that there is a refcounting
12738           problem somewhere and the pointer is stale and
12739           refers to an already destroyed miniobject).
12740
12741 2005-11-03  Julien MOUTTE  <julien@moutte.net>
12742
12743         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
12744
12745 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
12746
12747         * docs/manual/advanced-position.xml:
12748           Update seek example and explanations to current 0.9 API.
12749
12750         * gst/elements/gsttypefindelement.c:
12751         (gst_type_find_element_activate):
12752           Remove FIXME comment now that the found caps
12753           are unreffed.
12754
12755 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12756
12757         * gst/gstregistryxml.c: (load_feature):
12758           Add another GST_STR_NULL instance
12759
12760 2005-11-02  Edward Hervey  <edward@fluendo.com>
12761
12762         * gst/gstpad.c: (handle_pad_block):
12763         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
12764         
12765 2005-11-02  Wim Taymans  <wim@fluendo.com>
12766
12767         * gst/gstbin.c:
12768         Fix typo in docs.
12769
12770         * gst/gstelement.c: (gst_element_commit_state):
12771         Remove unused value.
12772
12773         * gst/gstiterator.c:
12774         Mention that the returned element is reffed in the docs.
12775
12776 2005-11-02  Wim Taymans  <wim@fluendo.com>
12777
12778         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
12779         (gst_pad_push), (gst_pad_push_event):
12780         Unlock blocked pads when they are flushed.
12781
12782 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12783
12784         * docs/README:
12785         * docs/gst/gstreamer-sections.txt:
12786         * gst/gstbin.c:
12787           doc updates
12788         * gst/gstregistry.c: (gst_registry_scan_path_level):
12789           fix for a nasty little missed situation where an installed plug-in
12790           which was in the cache did not get overridden by an uninstalled one
12791           which was earlier in the plugin path because the newly created plugin
12792           for the uninstalled one (not in the registry) didn't get its
12793           ->registered set to TRUE
12794
12795 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
12796
12797         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
12798         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
12799         (gst_collectpads_is_active), (gst_collectpads_collect),
12800         (gst_collectpads_collect_range), (gst_collectpads_start),
12801         (gst_collectpads_stop), (gst_collectpads_peek),
12802         (gst_collectpads_pop), (gst_collectpads_available),
12803         (gst_collectpads_read), (gst_collectpads_flush):
12804           Guard public API with assertions.
12805         
12806         * gst/gstpad.c:
12807           Fix docs for gst_pad_set_link_function().
12808
12809 2005-11-02  Johan Dahlin  <johan@gnome.org>
12810
12811         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
12812         Unref found_caps after we used it.
12813
12814 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
12815
12816         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
12817           Don't try to ref NULL.
12818
12819 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12820
12821         * win32/common/config.h.in:
12822           provide a GST_FUNCTION that just gives a string for now
12823
12824 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12825
12826         * win32/common/gstenumtypes.c: (register_gst_object_flags),
12827         (gst_object_flags_get_type), (register_gst_bin_flags),
12828         (gst_bin_flags_get_type), (register_gst_buffer_flag),
12829         (gst_buffer_flag_get_type), (register_gst_bus_flags),
12830         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
12831         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
12832         (gst_clock_return_get_type), (register_gst_clock_entry_type),
12833         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
12834         (gst_clock_flags_get_type), (register_gst_state),
12835         (gst_state_get_type), (register_gst_state_change_return),
12836         (gst_state_change_return_get_type), (register_gst_state_change),
12837         (gst_state_change_get_type), (register_gst_element_flags),
12838         (gst_element_flags_get_type), (register_gst_core_error),
12839         (gst_core_error_get_type), (register_gst_library_error),
12840         (gst_library_error_get_type), (register_gst_resource_error),
12841         (gst_resource_error_get_type), (register_gst_stream_error),
12842         (gst_stream_error_get_type), (register_gst_event_type),
12843         (gst_event_type_get_type), (register_gst_seek_type),
12844         (gst_seek_type_get_type), (register_gst_seek_flags),
12845         (gst_seek_flags_get_type), (register_gst_format),
12846         (gst_format_get_type), (register_gst_index_certainty),
12847         (gst_index_certainty_get_type), (register_gst_index_entry_type),
12848         (gst_index_entry_type_get_type),
12849         (register_gst_index_lookup_method),
12850         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
12851         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
12852         (gst_index_resolver_method_get_type), (register_gst_index_flags),
12853         (gst_index_flags_get_type), (register_gst_debug_level),
12854         (gst_debug_level_get_type), (register_gst_debug_color_flags),
12855         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
12856         (gst_iterator_result_get_type), (register_gst_iterator_item),
12857         (gst_iterator_item_get_type), (register_gst_message_type),
12858         (gst_message_type_get_type), (register_gst_mini_object_flags),
12859         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
12860         (gst_pad_link_return_get_type), (register_gst_flow_return),
12861         (gst_flow_return_get_type), (register_gst_activate_mode),
12862         (gst_activate_mode_get_type), (register_gst_pad_direction),
12863         (gst_pad_direction_get_type), (register_gst_pad_flags),
12864         (gst_pad_flags_get_type), (register_gst_pad_presence),
12865         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
12866         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
12867         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
12868         (gst_plugin_error_get_type), (register_gst_plugin_flags),
12869         (gst_plugin_flags_get_type), (register_gst_rank),
12870         (gst_rank_get_type), (register_gst_query_type),
12871         (gst_query_type_get_type), (register_gst_tag_merge_mode),
12872         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
12873         (gst_tag_flag_get_type), (register_gst_task_state),
12874         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
12875         (gst_alloc_trace_flags_get_type),
12876         (register_gst_type_find_probability),
12877         (gst_type_find_probability_get_type), (register_gst_uri_type),
12878         (gst_uri_type_get_type), (register_gst_parse_error),
12879         (gst_parse_error_get_type):
12880         * win32/common/gstversion.h:
12881           update win32 copies
12882
12883 2005-11-01  Luca Ognibene  <luogni@tin.it>
12884
12885         * gst/gst.c:
12886           fix docs. popt is dead, long live GOption.
12887
12888 2005-10-31  Wim Taymans  <wim@fluendo.com>
12889
12890         * gst/gstbuffer.h:
12891         Small doc fix.
12892
12893 2005-10-31  Andy Wingo  <wingo@pobox.com>
12894
12895         * Boo!
12896
12897         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
12898
12899         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
12900         need to serialize property notifications on GLib 2.8. GLib 2.6 has
12901         the possibility of deadlocks here if code calling notify() or
12902         set() has a lock that can be taken in another notify handler (ABBA
12903         with class lock and e.g. python GIL state lock).
12904
12905 2005-10-28  Julien MOUTTE  <julien@moutte.net>
12906
12907         * gst/gstbus.c: Doc updates.
12908
12909 2005-10-28  Wim Taymans  <wim@fluendo.com>
12910
12911         * docs/design/part-TODO.txt:
12912         * gst/gstiterator.c:
12913         * gst/gstsystemclock.c:
12914         * gst/gstsystemclock.h:
12915         Doc updates.
12916
12917 2005-10-28  Edward Hervey  <edward@fluendo.com>
12918
12919         * docs/gst/gstreamer-docs.sgml:
12920         * docs/gst/gstreamer-sections.txt:
12921         the GstURIType documentation page is private, it only defines GstURIType
12922         which should be defined in the GstURIHandler page
12923         
12924 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12925
12926         * gst/gstbin.c: (gst_bin_class_init):
12927         * gst/gstbin.h:
12928         * gst/gstutils.c:
12929         Documentation updates.
12930
12931 2005-10-28  Wim Taymans  <wim@fluendo.com>
12932
12933         * docs/gst/gstreamer-sections.txt:
12934         * gst/gstclock.c:
12935         * gst/gstclock.h:
12936         Documented the clocks.
12937
12938 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
12939
12940         * docs/gst/gstreamer-sections.txt:
12941           move some macros to private sections
12942         * gst/gstminiobject.c:
12943         * gst/gstminiobject.h:
12944           add descriptions provided by ds and some more
12945         * gst/gstpad.h:
12946           mark macro as to be removed
12947
12948 2005-10-28  Wim Taymans  <wim@fluendo.com>
12949
12950         * docs/design/part-TODO.txt:
12951         Add an item to TODO.
12952
12953         * gst/gstiterator.c: (gst_iterator_fold),
12954         (gst_iterator_find_custom):
12955         * gst/gstiterator.h:
12956         Add iterator docs.
12957
12958 2005-10-28  Wim Taymans  <wim@fluendo.com>
12959
12960         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
12961         (gst_base_transform_init):
12962         Don't leak class.
12963
12964         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
12965         An EOS event marks the queue as completely filled.
12966
12967 2005-10-27  Wim Taymans  <wim@fluendo.com>
12968
12969         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12970         (gst_base_sink_do_sync), (gst_base_sink_get_position):
12971         Some more debugging.
12972
12973         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
12974         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
12975         (gst_base_transform_event), (gst_base_transform_getrange),
12976         (gst_base_transform_chain):
12977         * gst/base/gstbasetransform.h:
12978         Fix debugging,
12979         Protect transform and concurrent buffer alloc with a new lock.
12980         Try not to break ABI/API.
12981
12982 2005-10-27  Wim Taymans  <wim@fluendo.com>
12983
12984         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
12985         (gst_base_src_init), (gst_base_src_query),
12986         (gst_base_src_default_newsegment),
12987         (gst_base_src_configure_segment), (gst_base_src_do_seek),
12988         (gst_base_src_send_event), (gst_base_src_event_handler),
12989         (gst_base_src_pad_get_range), (gst_base_src_loop),
12990         (gst_base_src_unlock), (gst_base_src_default_negotiate),
12991         (gst_base_src_start), (gst_base_src_deactivate),
12992         (gst_base_src_activate_push), (gst_base_src_change_state):
12993         Move some stuff around and cleanup things.
12994
12995 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
12996
12997         * gst/base/gstbasesrc.c: (gst_base_src_query):
12998           Add missing break statements.
12999
13000 2005-10-27  Wim Taymans  <wim@fluendo.com>
13001
13002         * check/gst/gstbin.c: (GST_START_TEST):
13003         An extra refcount is taken in basesrc.
13004
13005         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
13006         (gst_base_src_get_range), (gst_base_src_pad_get_range),
13007         (gst_base_src_loop):
13008         Small cleanups, check for flushing after being unlocked from the 
13009         LIVE_LOCK. take refcounts correctly (not yet everywhere).
13010         Don't send out EOS when going to READY.
13011
13012 2005-10-27  Wim Taymans  <wim@fluendo.com>
13013
13014         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13015         (gst_base_sink_get_position):
13016         Some more debug.
13017
13018         * gst/gstbin.c: (message_check), (bin_replace_message),
13019         (bin_remove_messages), (is_eos), (gst_bin_add_func),
13020         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
13021         (bin_query_duration_init), (bin_query_duration_fold),
13022         (bin_query_duration_done), (bin_query_generic_fold),
13023         (gst_bin_query):
13024         * tools/gst-launch.c: (main):
13025         Remove old option.
13026
13027 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
13028
13029         * examples/controller/audio-example.c: (main):
13030         * examples/queue/queue.c: (event_loop):
13031         * gst/base/gstbasetransform.h:
13032         * gst/gstelement.c: (gst_element_send_event):
13033         * gst/gstevent.h:
13034         * gst/gstpad.c: (gst_pad_send_event):
13035           fixing examples
13036           fixing docs typos
13037           changing log priority in error situations
13038
13039 2005-10-25  Wim Taymans  <wim@fluendo.com>
13040
13041         * gst/gstbin.c: (message_check), (bin_replace_message),
13042         (bin_remove_messages), (is_eos), (gst_bin_add_func),
13043         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
13044         (bin_query_duration_init), (bin_query_duration_fold),
13045         (bin_query_duration_done), (bin_query_generic_fold),
13046         (gst_bin_query):
13047         Some doc and debug updates.
13048         Cache previously requested query DURATION for speed. invalidate
13049         cached duration if element posts a DURATION message.
13050
13051 2005-10-25  Wim Taymans  <wim@fluendo.com>
13052
13053         * docs/design/part-TODO.txt:
13054         Update TODO.
13055
13056         * gst/gstbin.c: (message_check), (bin_replace_message),
13057         (bin_remove_messages), (is_eos), (gst_bin_add_func),
13058         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
13059         (bin_query_duration_init), (bin_query_duration_fold),
13060         (bin_query_duration_done), (bin_query_generic_fold),
13061         (gst_bin_query):
13062         Handle SEGMENT_START/DONE messages correctly.
13063         More evolved query algorithm that handles duration queries
13064         correctly.
13065
13066         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
13067         (gst_element_get_state_func), (gst_element_abort_state),
13068         (gst_element_commit_state), (gst_element_lost_state):
13069         Some more debugging.
13070
13071         * gst/gstmessage.h:
13072         Added doc.
13073
13074 2005-10-25  Wim Taymans  <wim@fluendo.com>
13075
13076         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
13077         Don't use invalid stream_time.
13078
13079         * gst/gstevent.c: (gst_event_new_newsegment):
13080         stream_time in newsegment cannot be undefined.
13081
13082 2005-10-24  Wim Taymans  <wim@fluendo.com>
13083
13084         * gst/gstbus.c:
13085         Doc fix.
13086
13087         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
13088         (gst_queue_loop):
13089         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
13090
13091 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
13092
13093         * docs/libs/tmpl/gstdparam.sgml:
13094         * docs/libs/tmpl/gstdplinint.sgml:
13095         * docs/libs/tmpl/gstdpman.sgml:
13096         * docs/libs/tmpl/gstdpsmooth.sgml:
13097         * docs/libs/tmpl/gstunitconvert.sgml:
13098           these are obsolete
13099
13100 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13101
13102         * configure.ac:
13103           back to HEAD
13104
13105 === release 0.9.4 ===
13106
13107 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13108
13109         * configure.ac:
13110           releasing 0.9.4, "Tyrannosaurus Rex"
13111
13112 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
13113
13114         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
13115         (gst_file_sink_get_current_offset):
13116           Use fseeko() and ftello() if available. When falling back on
13117           lseek() to get the current offset, fflush() first to make sure
13118           everything is up-to-date and we get the right offset.
13119
13120 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13121
13122         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13123         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13124         * gst/gsterror.c: (_gst_stream_errors_init):
13125         * gst/gsterror.h:
13126         * gst/gstqueue.c: (gst_queue_loop):
13127         * po/POTFILES.in:
13128           remove prematurely added error category and clean up the instances
13129
13130 2005-10-21  Wim Taymans  <wim@fluendo.com>
13131
13132         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13133         (gst_base_sink_get_position), (gst_base_sink_query),
13134         (gst_base_sink_change_state):
13135         Simply set the right flag when going to playing, that's all
13136         we need to do instead of calling a function inside the object
13137         lock (that could take the lock as well and deadlock)
13138
13139 2005-10-21  Wim Taymans  <wim@fluendo.com>
13140
13141         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
13142         (gst_base_src_loop):
13143         Don't warn, the peer element knows what to do best when
13144         the seek failed, it might try something else.
13145
13146 2005-10-21  Wim Taymans  <wim@fluendo.com>
13147
13148         * gst/base/gstbasesrc.c: (gst_base_src_init),
13149         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
13150         Fix seeking.
13151
13152 2005-10-21  Wim Taymans  <wim@fluendo.com>
13153
13154         * docs/design/part-segments.txt:
13155         More docs.
13156
13157         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
13158         Correctly set caps, even on the subbufer.
13159
13160 2005-10-21  Wim Taymans  <wim@fluendo.com>
13161
13162         * docs/gst/gstreamer-docs.sgml:
13163         * docs/gst/gstreamer-sections.txt:
13164         * gst/gstelement.h:
13165         * gst/gstevent.c:
13166         * gst/gstevent.h:
13167         * gst/gstmessage.h:
13168         * gst/gstpad.h:
13169         * gst/gstparse.h:
13170         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
13171         * gst/gsttask.h:
13172         * gst/gstutils.c:
13173         * gst/gstutils.h:
13174         And 2% more doc coverage.
13175
13176 2005-10-21  Andy Wingo  <wingo@pobox.com>
13177
13178         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
13179         position reporting.
13180
13181 2005-10-20  Wim Taymans  <wim@fluendo.com>
13182
13183         * gst/gsterror.c: (gst_error_get_message):
13184         * gst/gstparse.h:
13185         * gst/gstquery.h:
13186         * gst/gststructure.c:
13187         * gst/gsttrace.c:
13188         * gst/gstutils.c:
13189         More docs.
13190
13191 2005-10-20  Wim Taymans  <wim@fluendo.com>
13192
13193         * gst/gstbuffer.h:
13194         * gst/gstpad.c:
13195         * gst/gstparse.c:
13196         Another 1% more coverage.
13197
13198 2005-10-20  Wim Taymans  <wim@fluendo.com>
13199
13200         * docs/gst/gstreamer-sections.txt:
13201         * gst/gstelement.c: (gst_element_get_state_func),
13202         (gst_element_abort_state), (gst_element_commit_state),
13203         (gst_element_lost_state):
13204         * gst/gstevent.h:
13205         * gst/gstquery.c: (gst_query_set_position),
13206         (gst_query_parse_position), (gst_query_set_duration),
13207         (gst_query_parse_duration), (gst_query_new_convert):
13208         * gst/gstutils.c:
13209         Yay! 1% more docs coverage.
13210
13211 2005-10-20  Wim Taymans  <wim@fluendo.com>
13212
13213         * gst/gstpad.h:
13214         * gst/gstquery.c: (gst_query_set_position),
13215         (gst_query_parse_position), (gst_query_set_duration),
13216         (gst_query_parse_duration), (gst_query_new_convert):
13217         * gst/gstquery.h:
13218         * gst/gstutils.c: (gst_element_query_convert):
13219         * gst/gstutils.h:
13220         Docs and consistency fixes.
13221
13222 2005-10-20  Wim Taymans  <wim@fluendo.com>
13223
13224         * gst/gsttask.c:
13225         * gst/gsttask.h:
13226         More docs.
13227
13228 2005-10-20  Wim Taymans  <wim@fluendo.com>
13229
13230         * gst/gstbin.c: (message_check), (bin_replace_message),
13231         (bin_remove_messages), (is_eos), (gst_bin_add_func),
13232         (update_degree), (gst_bin_sort_iterator_next),
13233         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
13234         Reworked the message handling a bit, cache the messages instead of
13235         only the senders. alows us to do more in the future.
13236
13237 2005-10-20  Wim Taymans  <wim@fluendo.com>
13238
13239         * docs/design/part-TODO.txt:
13240         Update TODO
13241
13242         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
13243         (gst_base_sink_query):
13244         Don't use clock time to report position when in EOS.
13245
13246 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
13247
13248         * tools/gst-inspect.c: (print_interfaces),
13249         (print_element_properties_info), (print_element_info):
13250           Fix interface output with gst-inspect -a; don't print
13251           newlines after double/float properties.
13252
13253 2005-10-20  Wim Taymans  <wim@fluendo.com>
13254
13255         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
13256         (gst_base_sink_query):
13257         Speed up current position calculation.
13258
13259         * gst/base/gstbasesrc.c: (gst_base_src_query),
13260         (gst_base_src_default_newsegment):
13261         Correctly set stream position in newsegment.
13262
13263         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
13264         (update_degree), (gst_bin_sort_iterator_next),
13265         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
13266         * gst/gstmessage.c: (gst_message_new_custom):
13267         Clean up debugging info
13268
13269         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
13270         (gst_queue_loop), (gst_queue_handle_src_query):
13271         Pause task faster.
13272
13273 2005-10-19  Wim Taymans  <wim@fluendo.com>
13274
13275         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13276         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
13277         Fix query handling again.
13278
13279 2005-10-19  Wim Taymans  <wim@fluendo.com>
13280
13281         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13282         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
13283         * gst/base/gstbasesrc.c: (gst_base_src_query):
13284         * gst/elements/gstfilesink.c: (gst_file_sink_query):
13285         * gst/elements/gsttypefindelement.c:
13286         (gst_type_find_handle_src_query), (find_element_get_length),
13287         (gst_type_find_element_activate):
13288         API change fix.
13289
13290         * gst/gstquery.c: (gst_query_new_position),
13291         (gst_query_set_position), (gst_query_parse_position),
13292         (gst_query_new_duration), (gst_query_set_duration),
13293         (gst_query_parse_duration), (gst_query_set_segment),
13294         (gst_query_parse_segment):
13295         * gst/gstquery.h:
13296         Bundling query position/duration is not a good idea since duration
13297         does not change much and we don't want to recalculate it for every
13298         position query, so they are separated again..
13299         Base value in segment query is not needed.
13300
13301         * gst/gstqueue.c: (gst_queue_handle_src_query):
13302         * gst/gstutils.c: (gst_element_query_position),
13303         (gst_element_query_duration), (gst_pad_query_position),
13304         (gst_pad_query_duration):
13305         * gst/gstutils.h:
13306         Updates for query API change.
13307         Added some docs here and there.
13308
13309 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13310
13311         * check/gst/gstbin.c: (GST_START_TEST):
13312         * check/gst/gstghostpad.c: (GST_START_TEST):
13313         * check/pipelines/cleanup.c: (GST_START_TEST):
13314           wait on thread to die so we can check refcount correctly
13315
13316 2005-10-18  Wim Taymans  <wim@fluendo.com>
13317
13318         * check/pipelines/stress.c: (GST_START_TEST):
13319         Make check a little more time consuming.
13320
13321 2005-10-18  Wim Taymans  <wim@fluendo.com>
13322
13323         * check/Makefile.am:
13324         * check/pipelines/stress.c: (GST_START_TEST),
13325         (simple_launch_lines_suite), (main):
13326         Small state change torture test.
13327
13328         * docs/design/part-states.txt:
13329         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13330         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
13331         (gst_base_sink_change_state):
13332         Never take state lock from streaming thread, clean up ugly
13333         hacks. Unfortunatly core does not yet support nice ways to
13334         async commit state.
13335         
13336         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
13337         (bin_bus_handler):
13338         Start state recalc if a STATE_DIRTY message is posted, but only
13339         on the toplevel bin.
13340
13341         * gst/gstelement.c: (gst_element_sync_state_with_parent),
13342         (gst_element_get_state_func), (gst_element_abort_state),
13343         (gst_element_commit_state), (gst_element_lost_state),
13344         (gst_element_set_state_func), (gst_element_change_state):
13345         * gst/gstelement.h:
13346         State variables are now protected with the LOCK, the state
13347         lock is only used to serialize _set_state().
13348
13349 2005-10-18  Wim Taymans  <wim@fluendo.com>
13350
13351         * check/gst/gstbin.c: (GST_START_TEST):
13352         * check/gst/gstmessage.c: (GST_START_TEST):
13353         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
13354         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
13355         (bin_bus_handler):
13356         * gst/gstelement.c: (gst_element_abort_state),
13357         (gst_element_commit_state), (gst_element_lost_state):
13358         * gst/gstmessage.c: (gst_message_new_state_changed),
13359         (gst_message_new_state_dirty), (gst_message_new_segment_start),
13360         (gst_message_new_segment_done), (gst_message_new_duration),
13361         (gst_message_parse_state_changed),
13362         (gst_message_parse_segment_start),
13363         (gst_message_parse_segment_done), (gst_message_parse_duration):
13364         * gst/gstmessage.h:
13365         * tools/gst-launch.c: (event_loop):
13366         Seriously, this is better than a previous commit as we only need
13367         to notify the fact that an element changed state in a streaming
13368         thread, marking the state of the parents dirty, hence the 
13369         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
13370         message.
13371
13372 2005-10-18  Wim Taymans  <wim@fluendo.com>
13373
13374         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
13375         (gst_bin_recalc_func):
13376         * gst/gstelement.c: (gst_element_set_clock),
13377         (gst_element_abort_state), (gst_element_lost_state):
13378         Cleanups, prepare for state change fixes.
13379
13380 2005-10-18  Wim Taymans  <wim@fluendo.com>
13381
13382         * gst/gstbin.h:
13383         * gst/gstelement.c: (gst_element_class_init),
13384         (gst_element_set_state), (gst_element_set_state_func):
13385         * gst/gstelement.h:
13386         Pending ABI changes.
13387         GThreadPool in GstBinClass to monitor async state changes.
13388         state_cookie in GstElement to detect concurrent gst/set state.
13389         set_state is now virtual too in case a very complicated element
13390         has to be constructed.
13391
13392 2005-10-18  Wim Taymans  <wim@fluendo.com>
13393
13394         * check/gst/gstbin.c: (GST_START_TEST):
13395         * check/gst/gstmessage.c: (GST_START_TEST):
13396         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
13397         * gst/gstbin.c: (bin_bus_handler):
13398         * gst/gstelement.c: (gst_element_commit_state),
13399         (gst_element_lost_state):
13400         * gst/gstmessage.c: (gst_message_new_state_changed),
13401         (gst_message_new_segment_start), (gst_message_new_segment_done),
13402         (gst_message_new_duration), (gst_message_parse_state_changed),
13403         (gst_message_parse_segment_start),
13404         (gst_message_parse_segment_done), (gst_message_parse_duration):
13405         * gst/gstmessage.h:
13406         * tools/gst-launch.c: (event_loop):
13407         Make messages future proof.
13408         state-change gets a flag if it was a message comming from the
13409         streaming thread.
13410         segment-start/stop can also be specified in other formats.
13411         A message to notify an app that a pipeline changed playback 
13412         duration.
13413         Also fix a GstMessage leak in -launch
13414
13415 2005-10-18  Andy Wingo  <wingo@pobox.com>
13416
13417         * gst/gstelement.c (gst_element_dispose): More helpful message.
13418
13419 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13420
13421         reviewed by: <delete if not using a buddy>
13422
13423         * common/gtk-doc.mak:
13424
13425 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13426
13427         * gst/gstregistry.c: (gst_registry_scan_path_level):
13428           unref a plug-in we get that was already initialized
13429
13430 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
13431
13432         * docs/gst/gstreamer-sections.txt:
13433         * docs/libs/gstreamer-libs-sections.txt:
13434         * gst/gstelement.h:
13435           add new api entries
13436           hide internal macro
13437
13438 2005-10-17  Andy Wingo  <wingo@pobox.com>
13439
13440         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
13441         cleanup.
13442
13443         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
13444
13445         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
13446
13447         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
13448         (gst_element_get_state_func): Better debug message.
13449         (gst_element_commit_state): s/INFO/DEBUG/.
13450         (gst_element_lost_state, gst_element_change_state): 
13451
13452         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
13453         (gst_message_new_custom): s/INFO/LOG/.
13454
13455 2005-10-17  Michael Smith <msmith@fluendo.com>
13456
13457         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
13458           Check if end time is valid using end time, not start time.
13459
13460 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
13461
13462         * check/gst-libs/controller.c: (GST_START_TEST),
13463         (gst_controller_suite):
13464         * libs/gst/controller/gstcontroller.c:
13465         (gst_controlled_property_set_interpolation_mode):
13466         * libs/gst/controller/gstcontroller.h:
13467         * libs/gst/controller/gstinterpolation.c:
13468         * testsuite/controller/.cvsignore:
13469         * testsuite/controller/Makefile.am:
13470         * testsuite/controller/interpolator.c:
13471           merge controller testsuites
13472           fix broken tests
13473           remove mem-chunk from docs
13474
13475 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
13476
13477         * gst/gstmemchunk.c:
13478         * gst/gstmemchunk.h:
13479         * gst/gsttrashstack.c:
13480         * gst/gsttrashstack.h:
13481           out.  get out.  you're fired.  to the Attic !
13482
13483 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
13484
13485         * gst/gstcaps.c: (gst_caps_intersect):
13486           fix signedness issues in a (hopefully) correct way
13487         * gst/gstelement.c: (gst_element_pads_activate):
13488           some debugging
13489         * gst/gstobject.c: (gst_object_set_parent):
13490           some debugging
13491
13492 2005-10-17  Julien MOUTTE  <julien@moutte.net>
13493
13494         * gst/gstvalue.h: Fix prototypes.
13495
13496 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13497
13498         * docs/gst/gstreamer-sections.txt:
13499         * gst/gst.c: (gst_version_string):
13500         * gst/gst.h:
13501         * gst/gstversion.h.in:
13502         * win32/common/libgstreamer.def:
13503           add gst_version_string ()
13504
13505 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13506
13507         * configure.ac:
13508           clean up further
13509         * gst/gst.c: (init_post):
13510         * win32/common/config.h.in:
13511           it's PLUGINDIR now
13512         * gst/gstcaps.c: (gst_caps_intersect):
13513           use gint64, the range could be bigger than a guint
13514
13515 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13516
13517         * gst/gstclock.h:
13518           document potential problem in 2038
13519
13520 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13521
13522         * gst/gstcaps.c: (gst_caps_intersect):
13523           Fix guint j diving under 0
13524
13525 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13526
13527         * configure.ac:
13528         * win32/common/config.h:
13529         * win32/common/config.h.in:
13530           check for process.h, declares getpid() on Windows
13531         * gst/gstinfo.c:
13532           include process.h if we have it
13533         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
13534         * gst/gstmemchunk.h:
13535           fix signedness issues
13536         * win32/common/libgstreamer.def:
13537           fix get_type's
13538
13539 2005-10-16  Julien MOUTTE  <julien@moutte.net>
13540
13541         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
13542         fix. Because of unsigned ints, caps intersection was going nuts and
13543         trying to access structures with G_MAXUINT index. That fixes
13544         videotestsrc ! ffmpegcolorspace ! fakesink
13545         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
13546         consistency.
13547
13548 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13549
13550         * configure.ac:
13551           use the gettext macro
13552         * gst/elements/gstelements.c:
13553         * gst/gst.c:
13554         * gst/indexers/gstindexers.c:
13555           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
13556         * win32/common/config.h:
13557           updated config.h
13558         * win32/common/config.h.in:
13559           add the template to generate config.h
13560         * win32/common/gstenumtypes.c:
13561         * win32/common/gstversion.h:
13562           updated copies
13563
13564 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13565
13566         * gst/gst.c: (gst_version):
13567         * gst/gstversion.h.in:
13568           add the nano
13569
13570 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
13571
13572         * gst/gstevent.h:
13573           Oops, add missing closing bracket.
13574
13575 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13576
13577         * configure.ac:
13578           use common m4's for argument checking
13579
13580 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
13581
13582         * docs/gst/gstreamer-sections.txt:
13583         * gst/gstevent.h:
13584           Add GST_EVENT_TYPE_NAME() macro.
13585
13586 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13587
13588         * gst/gstinfo.c:
13589         * gst/gstpluginfeature.c:
13590         * gst/gsttask.c:
13591           privatize more symbols
13592
13593 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13594
13595         * configure.ac:
13596           add srcdir, builddir includes to GST_ALL_CFLAGS, since
13597           everything that uses GStreamer API should have the includes
13598
13599 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13600
13601         * docs/gst/gstreamer-sections.txt:
13602         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
13603         * gst/gstvalue.h:
13604           give each value a _get_type, removes the DATA exports
13605
13606 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13607
13608         * gst/gst.c:
13609         * gst/gst.h:
13610           remove _gst_registry_auto_load, not used anymore
13611         * gst/gstbin.c: (gst_bin_get_type):
13612         * gst/gstbin.h:
13613         * gst/gstelement.c: (gst_element_get_type):
13614         * gst/gstelement.h:
13615         * gst/gstobject.c: (gst_object_get_type):
13616         * gst/gstobject.h:
13617         * gst/gstpad.c: (gst_pad_get_type):
13618         * gst/gstpad.h:
13619           make _get_type functions similar, fixes data export from library
13620
13621 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13622
13623         * configure.ac:
13624           correctly make conditionals
13625         * gst/elements/Makefile.am:
13626         * gst/elements/gstelements.c:
13627           fix typo causing fdsrc not to build
13628
13629 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13630
13631         * testsuite/Makefile.am:
13632         * testsuite/bytestream/.cvsignore:
13633         * testsuite/bytestream/Makefile.am:
13634         * testsuite/bytestream/filepadsink.c:
13635         * testsuite/bytestream/gstbstest.c:
13636         * testsuite/bytestream/test1.c:
13637         * testsuite/bytestream/testfile1:
13638         * testsuite/caps/normalisation.c:
13639         * testsuite/caps/random.c: (main):
13640         * testsuite/cleanup/.cvsignore:
13641         * testsuite/cleanup/Makefile.am:
13642         * testsuite/cleanup/cleanup1.c:
13643         * testsuite/cleanup/cleanup2.c:
13644         * testsuite/cleanup/cleanup3.c:
13645         * testsuite/cleanup/cleanup4.c:
13646         * testsuite/cleanup/cleanup5.c:
13647         * testsuite/controller/interpolator.c:
13648         * testsuite/debug/printf_extension.c: (main):
13649         * testsuite/elements/tee.c:
13650         * testsuite/negotiation/.cvsignore:
13651         * testsuite/negotiation/Makefile.am:
13652         * testsuite/negotiation/pad_link.c:
13653         * testsuite/pad/Makefile.am:
13654         * testsuite/pad/chainnopull.c:
13655         * testsuite/pad/getnopush.c:
13656         * testsuite/pad/link.c:
13657         * testsuite/refcounting/sched.c: (create_pipeline):
13658         * testsuite/registry/Makefile.am:
13659         * testsuite/registry/gst-print-formats.c:
13660         * testsuite/schedulers/.cvsignore:
13661         * testsuite/schedulers/142183-2.c:
13662         * testsuite/schedulers/142183.c:
13663         * testsuite/schedulers/143777-2.c:
13664         * testsuite/schedulers/143777.c:
13665         * testsuite/schedulers/147713.c:
13666         * testsuite/schedulers/147819.c:
13667         * testsuite/schedulers/147894-2.c:
13668         * testsuite/schedulers/147894.c:
13669         * testsuite/schedulers/Makefile.am:
13670         * testsuite/schedulers/group_link.c:
13671         * testsuite/schedulers/queue_link.c:
13672         * testsuite/schedulers/relink.c:
13673         * testsuite/schedulers/unlink.c:
13674         * testsuite/schedulers/unref.c:
13675         * testsuite/schedulers/useless_iteration.c:
13676         * testsuite/states/bin.c:
13677           clean out/remove some stuff from the testsuite directories
13678
13679 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13680
13681         * configure.ac:
13682           check for some headers
13683         * gst/elements/Makefile.am:
13684         * gst/elements/gstelements.c:
13685           don't compile fdsrc without sys/socket.h
13686         * gst/indexers/Makefile.am:
13687         * gst/indexers/gstindexers.c: (plugin_init):
13688           don't compile fileindex without mmap
13689
13690 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13691
13692         * configure.ac:
13693           reorganize
13694           clean up
13695           document more
13696           remove cruft
13697         * check/Makefile.am:
13698         * docs/gst/Makefile.am:
13699         * examples/helloworld/Makefile.am:
13700         * gst/Makefile.am:
13701         * gst/base/Makefile.am:
13702         * gst/check/Makefile.am:
13703         * gst/elements/Makefile.am:
13704         * gst/indexers/Makefile.am:
13705         * gst/parse/Makefile.am:
13706         * libs/gst/controller/Makefile.am:
13707         * libs/gst/dataprotocol/Makefile.am:
13708         * examples/helloworld/helloworld.c: (event_loop):
13709           compile fixes, though it's not being compiled currently
13710
13711 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
13712
13713         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
13714           Add some simple tests for the new taglist date API.
13715
13716 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
13717
13718         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
13719         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
13720           Beautify 'last-message' output: print 'none' for buffer timestamps
13721           and durations if none is set; improve alignment with next messages.
13722
13723 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
13724
13725         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
13726         * gst/gstpluginfeature.h:
13727         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
13728         * gst/gstregistry.h:
13729         * docs/gst/gstreamer-sections.txt:
13730           Add new API to check plugin feature version requirements.
13731
13732         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
13733           Some basic tests for the above.         
13734
13735 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13736
13737         * gst/gststructure.c: (gst_structure_to_string):
13738           guard against NULL printf - happens when for example
13739           a message structure with GstClock gets serialized
13740
13741 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
13742
13743         * gst/base/gstcollectpads.c: (gst_collectpads_event):
13744           Fix presumable copy'n'pasto.
13745
13746 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13747
13748         * gst/elements/gstfakesrc.h:
13749         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
13750         * gst/elements/gsttypefindelement.c:
13751           fix some signedness
13752         * gst/elements/gstfilesink.c: (gst_file_sink_render):
13753           I wonder if this could actually write +2GB files before
13754
13755 2005-10-13  Andy Wingo  <wingo@pobox.com>
13756
13757         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
13758         Fix Timmeke Waymans bug.
13759         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
13760         string of the proper length to gst_caps_from_string. There's a
13761         potential for, before this fix, that this could cause someone
13762         connecting over the network to cause a segfault if the payload is
13763         not NUL-terminated.
13764
13765 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
13766
13767         * docs/design/draft-push-pull.txt:
13768         * docs/design/part-overview.txt:
13769         * docs/random/TODO-pre-0.9:
13770         * docs/random/old/ChangeLog.gstreamer:
13771         * gst/base/gstpushsrc.c:
13772         * gst/gstclock.c:
13773           fixed typos
13774
13775 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13776
13777         * gst/glib-compat.c: (gst_flags_get_first_value):
13778         * gst/glib-compat.h:
13779         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
13780         (gst_value_compare_double), (gst_value_serialize_flags):
13781           GLib 2.6 g_flags_get_first_value has a bug that triggers an
13782           infinite loop
13783
13784 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13785
13786         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13787         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
13788           fix up debugging
13789         * tools/gst-launch.c: (event_loop):
13790           print out clock nicely
13791
13792 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
13793
13794         * docs/gst/gstreamer-sections.txt:
13795         * gst/gsttaglist.h:
13796         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
13797         (gst_tag_list_get_date_index):
13798           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
13799           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
13800
13801 2005-10-13  Julien MOUTTE  <julien@moutte.net>
13802
13803         * gst/base/gstcollectpads.c: (gst_collectpads_event),
13804         (gst_collectpads_chain):
13805         * gst/base/gstcollectpads.h: Handle newsegment and store informations
13806         in CollectData.
13807
13808 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
13809
13810         * docs/gst/gstreamer-sections.txt:
13811         * gst/gst.c:
13812         * gst/gsterror.h:
13813         * tools/gst-inspect.c: (main):
13814         * tools/gst-launch.c: (main):
13815         * tools/gst-run.c: (main):
13816         * tools/gst-xmlinspect.c: (main):
13817           fix GOption context leaks
13818           doc fixes
13819
13820 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13821
13822         * gst/gstbus.c:
13823           use HAVE_UNISTD_H
13824         * win32/common/config.h:
13825           update config
13826         * win32/vs6/grammar.dsp:
13827         * win32/vs6/libgstelements.dsp:
13828         * win32/vs6/libgstreamer.dsp:
13829           update vs6 files
13830
13831 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13832
13833         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13834         * gst/base/gstbasesrc.c: (gst_base_src_query):
13835           fix more guint64<->gdouble conversions
13836
13837 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13838
13839         * Makefile.am:
13840           add win32-update target
13841         * win32/common/gstconfig.h:
13842         * win32/common/gstenumtypes.c:
13843         * win32/common/gstenumtypes.h:
13844         * win32/common/gstversion.h:
13845           add files that visual studio can't generate
13846
13847 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13848
13849         * Makefile.am:
13850           add a win32-update target
13851         * configure.ac:
13852
13853 2005-10-12  Wim Taymans  <wim@fluendo.com>
13854
13855         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
13856         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
13857         * gst/gstelement.c: (gst_element_commit_state),
13858         (gst_element_set_state):
13859         Protect flags with proper lock.
13860         unref provided cached clock in dispose.
13861
13862 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
13863
13864         * gst/gst.c:
13865         * gst/gstminiobject.h:
13866         * gst/gstpad.h:
13867         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
13868           removed unused flags from miniobject
13869           doc fixes
13870
13871 2005-10-12  Wim Taymans  <wim@fluendo.com>
13872
13873         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
13874         (gst_file_sink_event), (gst_file_sink_render):
13875         Flush before seeking.
13876
13877 2005-10-12  Andy Wingo  <wingo@pobox.com>
13878
13879         * gst/gst.c (gst_init_check): Ignore unknown options, as has
13880         always been the case.
13881
13882 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
13883
13884         * check/gst/gstbin.c: (GST_START_TEST):
13885         * docs/gst/gstreamer-sections.txt:
13886         * gst/base/gstbasesink.c: (gst_base_sink_init):
13887         * gst/base/gstbasesrc.c: (gst_base_src_init),
13888         (gst_base_src_get_range), (gst_base_src_check_get_range),
13889         (gst_base_src_start), (gst_base_src_stop):
13890         * gst/base/gstbasesrc.h:
13891         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
13892         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
13893         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
13894         (bin_bus_handler):
13895         * gst/gstbin.h:
13896         * gst/gstbuffer.h:
13897         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
13898         * gst/gstbus.h:
13899         * gst/gstelement.c: (gst_element_is_locked_state),
13900         (gst_element_set_locked_state), (gst_element_commit_state),
13901         (gst_element_set_state):
13902         * gst/gstelement.h:
13903         * gst/gstindex.c: (gst_index_init):
13904         * gst/gstindex.h:
13905         * gst/gstminiobject.h:
13906         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
13907         (gst_object_set_parent):
13908         * gst/gstobject.h:
13909         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
13910         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
13911         * gst/gstpad.h:
13912         * gst/gstpadtemplate.h:
13913         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
13914         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
13915         * gst/gstpipeline.h:
13916         * gst/indexers/gstfileindex.c: (gst_file_index_load),
13917         (gst_file_index_commit):
13918         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
13919         * testsuite/pad/link.c: (gst_test_src_init),
13920         (gst_test_filter_init), (gst_test_sink_init):
13921         * testsuite/states/locked.c: (main):
13922           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
13923           moved bitshift from macro to enum definition
13924
13925 2005-10-12  Wim Taymans  <wim@fluendo.com>
13926
13927         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
13928         * gst/elements/gstfilesink.c: (gst_file_sink_event),
13929         (gst_file_sink_render):
13930         Some more debugging info.
13931
13932 2005-10-12  Wim Taymans  <wim@fluendo.com>
13933
13934         * docs/design/part-states.txt:
13935         * tools/gst-launch.c: (main):
13936         Some doc updates.
13937         Revert non-intentional change.
13938
13939 2005-10-12  Wim Taymans  <wim@fluendo.com>
13940
13941         * check/gst/gstbin.c: (GST_START_TEST):
13942         * check/gst/gstelement.c: (GST_START_TEST):
13943         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
13944         * check/gst/gstghostpad.c: (GST_START_TEST):
13945         * check/gst/gstpipeline.c: (GST_START_TEST):
13946         * check/pipelines/simple_launch_lines.c: (run_pipeline):
13947         * check/states/sinks.c: (GST_START_TEST):
13948         * gst/elements/gsttypefindelement.c: (stop_typefinding):
13949         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
13950         (gst_bin_remove_func), (gst_bin_get_state_func),
13951         (gst_bin_recalc_state), (gst_bin_change_state_func),
13952         (bin_bus_handler):
13953         * gst/gstelement.c: (gst_element_get_state_func),
13954         (gst_element_get_state), (gst_element_abort_state),
13955         (gst_element_commit_state), (gst_element_set_state),
13956         (gst_element_change_state), (gst_element_change_state_func):
13957         * gst/gstelement.h:
13958         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
13959         (gst_pipeline_provide_clock_func):
13960         * gst/gstutils.c: (gst_element_link_pads_filtered):
13961         * tools/gst-launch.c: (main):
13962         * tools/gst-typefind.c: (main):
13963         Use GstClockTime in _get_state() instead of GTimeVal.
13964         Remove old code in gstutils.c
13965
13966 2005-10-12  Andy Wingo  <wingo@pobox.com>
13967
13968         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
13969         removed.
13970
13971         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
13972         there is no task. Shouldn't affect any code, as nothing in our
13973         plugins checks this return value.
13974         (gst_pad_stop_task): Also take the stream lock if the pad has no
13975         task. Docs updated.
13976
13977 2005-10-12  Wim Taymans  <wim@fluendo.com>
13978
13979         * gst/gstpad.c: (pre_activate), (post_activate),
13980         (gst_pad_activate_pull), (gst_pad_activate_push):
13981         Cleanup activation code. Reset old state if
13982         activation failed.
13983
13984 2005-10-12  Wim Taymans  <wim@fluendo.com>
13985
13986         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13987         (gst_base_sink_change_state):
13988         No need to prerol after receiving EOS.
13989
13990         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
13991         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
13992         * gst/elements/gstidentity.c: (gst_identity_event):
13993         Print events more verbosely.
13994
13995 2005-10-12  Wim Taymans  <wim@fluendo.com>
13996
13997         * check/Makefile.am:
13998         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
13999         * check/states/sinks2.c:
14000         Moved sinks2 testcode in sinks check.
14001
14002         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
14003         (gst_bin_remove_func), (gst_bin_recalc_state),
14004         (gst_bin_change_state_func), (bin_bus_handler):
14005         Fix potential race condition when _get_state() iterated over an
14006         ASYNC element right before it posted a state completion.
14007
14008         * gst/gstclock.h:
14009         Do proper cast here.
14010
14011         * gst/gstevent.c: (gst_event_new_newsegment),
14012         (gst_event_parse_newsegment):
14013         A playback rate of 0.0 is not allowed.
14014
14015 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14016
14017         * win32/common/config.h:
14018         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
14019         (_trewinddir), (_ttelldir), (_tseekdir):
14020         * win32/common/dirent.h:
14021         * win32/common/gtchar.h:
14022         * win32/common/libgstbase.def:
14023         * win32/common/libgstreamer.def:
14024         * win32/vs6/grammar.dsp:
14025         * win32/vs6/gst_inspect.dsp:
14026         * win32/vs6/gst_launch.dsp:
14027         * win32/vs6/gstreamer.dsw:
14028         * win32/vs6/libgstbase.dsp:
14029         * win32/vs6/libgstelements.dsp:
14030         * win32/vs6/libgstreamer.dsp:
14031           Visual Studio 6 project files, and a new common directory.
14032           Phear.
14033
14034 2005-10-11  Wim Taymans  <wim@fluendo.com>
14035
14036         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14037         (gst_base_sink_do_sync), (gst_base_sink_query),
14038         (gst_base_sink_change_state):
14039         * gst/base/gstbasesink.h:
14040         Correctly parse newsegment info.
14041
14042 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14043
14044         * gst/gst.c: (init_post):
14045           split plugin paths correctly
14046
14047 2005-10-11  Wim Taymans  <wim@fluendo.com>
14048
14049         * check/gst/gstevent.c: (GST_START_TEST):
14050         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14051         (gst_base_sink_change_state):
14052         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
14053         * gst/base/gstbasetransform.c: (gst_base_transform_event):
14054         * gst/elements/gstfilesink.c: (gst_file_sink_event):
14055         * gst/gstevent.c: (gst_event_new_newsegment),
14056         (gst_event_parse_newsegment):
14057         * gst/gstevent.h:
14058         Added extra flag to newsegment for future API freeze.
14059         Updated check and base elements.
14060
14061 2005-10-11  Julien MOUTTE  <julien@moutte.net>
14062
14063         * gst/base/gstcollectpads.c: (gst_collectpads_init),
14064         (gst_collectpads_add_pad), (gst_collectpads_pop),
14065         (gst_collectpads_event), (gst_collectpads_chain):
14066         * gst/base/gstcollectpads.h: Handle EOS correctly.
14067
14068 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14069
14070         * tools/gst-launch.c: (main):
14071           more null protecting
14072
14073 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14074
14075         * gst/gst-i18n-lib.h:
14076           check for ENABLE_NLS, not GETTEXT_PACKAGE
14077         * gst/gstregistry.c: (gst_registry_add_plugin),
14078         (gst_registry_scan_path_level),
14079         (_gst_registry_remove_cache_plugins):
14080           protect possibly NULL strings
14081         * gst/parse/types.h:
14082           config.h already included before
14083         * tools/gst-inspect.c: (main):
14084           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
14085           check for ENABLE_NLS, not GETTEXT_PACKAGE
14086         * tools/gst-launch.c: (main):
14087           check for ENABLE_NLS, not GETTEXT_PACKAGE
14088
14089 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14090
14091         * configure.ac:
14092           if we don't have glib, fail before testing 2.8
14093         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
14094           fix a leak, should fix plugins-base testsuite
14095
14096 2005-10-11  Andy Wingo  <wingo@pobox.com>
14097
14098         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
14099         take the mode we're going to as an arg. Go head and set the mode
14100         and flushing flags now, so that if the activate function starts a
14101         thread all the flags will be in the right state.
14102         (post_activate): Renamed also. Just handle making sure streaming
14103         finishes for the deactivation case, and setting the deactivated
14104         mode.
14105         (gst_pad_set_active): Complain loudly if deactivation fails.
14106         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
14107         (gst_pad_activate_push): Adapt to pre/post_activate changes,
14108         remove the terrible hack.
14109
14110 2005-10-11  Wim Taymans  <wim@fluendo.com>
14111
14112         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
14113         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
14114         (gst_bin_recalc_state), (gst_bin_change_state_func),
14115         (gst_bin_dispose), (bin_bus_handler):
14116         * gst/gstbin.h:
14117         Prepare to make current EOS message queue more generic.
14118         Fix some typos.
14119
14120         * gst/gstevent.c: (gst_event_new_newsegment),
14121         (gst_event_parse_newsegment):
14122         * gst/gstevent.h:
14123         Rename base to stream_time.
14124
14125         * gst/gstmessage.h:
14126         Fix typo in docs.
14127
14128 2005-10-11  Wim Taymans  <wim@fluendo.com>
14129
14130         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
14131         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
14132         (gst_bin_change_state_func), (bin_bus_handler):
14133         * gst/gstbin.h:
14134         Work on proper clock selection.
14135
14136 2005-10-11  Edward Hervey  <edward@fluendo.com>
14137
14138         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
14139         * libs/gst/controller/gstcontroller.h:
14140         Added GList* version of _remove_properties() in order to be able to wrap
14141         it in bindings.
14142
14143 2005-10-11  Wim Taymans  <wim@fluendo.com>
14144
14145         * docs/design/part-states.txt:
14146         Some more docs.
14147
14148         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
14149         (gst_bin_change_state_func), (bin_bus_handler):
14150         Doc updates. Don't distribute the same clock over and over again.
14151
14152         * gst/gstclock.c:
14153         * gst/gstclock.h:
14154         Doc updates.
14155
14156         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
14157         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
14158         (gst_pad_send_event):
14159         * gst/gstpad.h:
14160         Make probe emission threadsafe again.
14161         Register quarks and move _get_name() from utils.
14162         Doc updates.
14163
14164         * gst/gstpipeline.c: (gst_pipeline_class_init),
14165         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
14166         Only redistribute the clock of it changed.
14167
14168         * gst/gstsystemclock.h:
14169         Doc updates. 
14170
14171         * gst/gstutils.c:
14172         * gst/gstutils.h:
14173         Moved the _flow_get_name() to GstPad.
14174
14175 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14176
14177         * check/gst-libs/gdp.c: (GST_START_TEST):
14178         * check/gst/gstcaps.c: (GST_START_TEST):
14179         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
14180         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
14181         (gst_dp_packet_from_caps):
14182           fix more valgrind warnings before turning up the heat
14183
14184 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14185
14186         * gst/parse/grammar.y:
14187           some cleanup before the hacking
14188
14189 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14190
14191         * gst/base/gstbasesrc.c: (gst_base_src_query):
14192           use conversions
14193         * gst/gstutils.c: (gst_guint64_to_gdouble),
14194         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
14195         * gst/gstutils.h:
14196           externalize, basesrc uses it
14197           obviously the implementation needs testing
14198
14199 2005-10-10  Wim Taymans  <wim@fluendo.com>
14200
14201         * tests/sched/Makefile.am:
14202         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
14203         (make_pipeline3), (make_pipeline4), (print_elem), (main):
14204
14205 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14206
14207         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
14208           apparently converting from guint64 to double is not implemented
14209           on MSVC
14210
14211 2005-10-10  Wim Taymans  <wim@fluendo.com>
14212
14213         * check/Makefile.am:
14214         * check/generic/states.c: (GST_START_TEST):
14215         * check/gst/gstbin.c: (GST_START_TEST):
14216         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
14217         * check/states/sinks.c: (GST_START_TEST):
14218         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
14219         (main):
14220         Check fixes, use API as stated in design docs, remove hacks.
14221
14222         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14223         (gst_base_sink_change_state):
14224         Catch stopping our task while we're shutting down.
14225
14226         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
14227         (gst_bin_remove_func), (gst_bin_get_state_func),
14228         (gst_bin_recalc_state), (gst_bin_change_state_func),
14229         (bin_bus_handler):
14230         * gst/gstbin.h:
14231         * gst/gstelement.c: (gst_element_init),
14232         (gst_element_get_state_func), (gst_element_abort_state),
14233         (gst_element_commit_state), (gst_element_lost_state),
14234         (gst_element_set_state), (gst_element_change_state),
14235         (gst_element_change_state_func):
14236         * gst/gstelement.h:
14237         New state change algorithm (see #318116)
14238
14239         * gst/gstpipeline.c: (gst_pipeline_class_init),
14240         (gst_pipeline_init), (gst_pipeline_set_property),
14241         (gst_pipeline_get_property), (do_pipeline_seek),
14242         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
14243         * gst/gstpipeline.h:
14244         Remove crude state change hacks.
14245
14246         * gst/gstutils.h:
14247         Remove crude hacks.
14248
14249         * tools/gst-launch.c: (main):
14250         Fixes for state change. Needs some more work to fully use the
14251         new stuff.
14252
14253 2005-10-10  Andy Wingo  <wingo@pobox.com>
14254
14255         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
14256
14257         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
14258         this flag, but it's not even in GLib 2.6. Odd. Hack around the
14259         issue.
14260
14261 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
14262
14263         * gst/gstiterator.c: (gst_iterator_new):
14264           Fix my previous commit: GTypes passed to gst_iterator_new()
14265           can be fundamental types.
14266
14267 2005-10-10  Wim Taymans  <wim@fluendo.com>
14268
14269         * gst/gstelement.c: (gst_element_iterate_pad_list),
14270         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
14271         (gst_element_iterate_sink_pads):
14272         Use src/sink pads lists for the respective iterators instead
14273         of filtering.
14274
14275 2005-10-10  Andy Wingo  <wingo@pobox.com>
14276
14277         Merged in popt removal + GOption addition patch from Ronald, bug
14278         #169772.
14279
14280         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
14281         GstElement macros around, remove popt-related symbols, add goption
14282         stuff.
14283
14284         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
14285         
14286         * docs/gst/Makefile.am:
14287         * docs/libs/Makefile.am: No POPT_CFLAGS.
14288         
14289         * examples/manual/Makefile.am:
14290         * docs/manual/basics-init.xml: Doc updates with an example.
14291         
14292         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
14293         (gst_init), (parse_one_option), (parse_goption_arg):
14294         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
14295         bit of hand merging and debugging to get the GOption stuff working
14296         tho.
14297         
14298         * tests/Makefile.am:
14299         * tools/Makefile.am:
14300         * tools/gst-inspect.c: (main):
14301         * tools/gst-launch.c: (main):
14302         * tools/gst-run.c: (main):
14303         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
14304
14305 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
14306
14307         * gst/gstiterator.c: (gst_iterator_new):
14308           Add assertions to make sure passed GType is likely to really
14309           be a GType (as the compiler won't catch it if the size and
14310           GType arguments get mixed up, see #318447).
14311
14312 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
14313
14314         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
14315
14316         * gst/gstbin.c: (gst_bin_iterate_sorted):
14317           Pass GType and size arguments to gst_iterator_new() in the right
14318           order (maybe we should make _new() take the GType as first argument
14319           just like _new_list()?) (#318447).
14320           
14321
14322 2005-10-10  Wim Taymans  <wim@fluendo.com>
14323
14324         * gst/gstelement.c: (gst_element_finalize):
14325         And free the GStaticRecMutex too
14326
14327 2005-10-10  Andy Wingo  <wingo@pobox.com>
14328
14329         * gst/gstelement.c (gst_element_init, gst_element_finalize):
14330         Allocate and free the mutex properly.
14331
14332         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
14333         New macros.
14334         (GstElement): The state_lock is now recursive. Rebuild your
14335         plugins, suckers. Old macros adapted.
14336
14337         * docs/gst/gstreamer-sections.txt: Doc updates.
14338
14339         * gst/gstutils.h:
14340         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
14341         (g_static_rec_cond_wait): Ported from state changes patch, while
14342         we wait on bug #317802 to be solved in a well-distributed GLib.
14343
14344         * gst/gstelement.c (gst_element_change_state_func): Renamed from
14345         gst_element_change_state, variable name changes.
14346         (gst_element_change_state): Split out of gst_element_set_state in
14347         preparation for the state change merge. Doesn't pay attention to
14348         the 'transition' argument.
14349         (gst_element_set_state): Updates, hopefully purely cosmetic.
14350         (gst_element_sync_state_with_parent): MT-safety. Ported from the
14351         state change patch.
14352         (gst_element_get_state_func): Renamed from get_state, cosmetic
14353         changes.
14354
14355 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14356
14357         * gst/elements/gstelements.c:
14358         * win32/GStreamer.vcproj:
14359         * win32/config.h:
14360         * win32/dirent.c: (_tseekdir):
14361         * win32/gst-inspect.vcproj:
14362         * win32/gst-launch.vcproj:
14363         * win32/gstconfig.h:
14364         * win32/gstelements.vcproj:
14365         * win32/gstenumtypes.c: (gst_object_flags_get_type):
14366         * win32/gstreamer.def:
14367         * win32/msvc71.sln:
14368           updates for the win32 build (patch from Sebastien Moutte)
14369
14370 2005-10-10  Andy Wingo  <wingo@pobox.com>
14371
14372         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
14373         gst_bin_get_state, cleaned up (but no logic changes).
14374         (bin_element_is_sink): Comment updates.
14375         (sink_iterator_filter): Remove needless cast.
14376         (gst_bin_iterate_sinks): Doc update.
14377         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
14378         cleaned up (but no logic changes).
14379
14380         * check/states/sinks.c (test_src_sink): Cleanups from the state
14381         change patch.
14382         (test_livesrc_sink): Sync on the state.
14383
14384         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
14385         the state change patch.
14386
14387         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
14388         change patch.
14389
14390         * check/gst/gstbin.c: Merge in some style fixes and additional
14391         checks from Wim's state change patch.
14392
14393 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
14394
14395         * gst/base/gsttypefindhelper.c: (helper_find_peek),
14396         (gst_type_find_helper):
14397           Check whether we have the requested data already in our list of
14398           cached buffers before pulling a new buffer; also make the buffer
14399           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
14400
14401 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14402
14403         * gst/gstcaps.c:
14404         * gst/gstevent.c:
14405           doc updates
14406         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
14407           don't use long long, it's not portable.  Replacing with
14408           gint64 seems to work; let's hope no skeletons fall out of the closet.
14409
14410 2005-10-10  Andy Wingo  <wingo@pobox.com>
14411
14412         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
14413
14414 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
14415
14416         * docs/gst/gstreamer-sections.txt:
14417         * gst/gstevent.c:
14418         * gst/gstevent.h:
14419         * gst/gstinfo.c:
14420         * gst/gstinfo.h:
14421         * gst/gstmessage.c: (gst_message_parse_state_changed):
14422         * gst/gstpad.c:
14423         * gst/gstpad.h:
14424           more docs, fix compilation
14425
14426 2005-10-09  Philippe Khalaf <burger@speedy.org>
14427         * gst/gstmessage.c:
14428           Fixed a few forgotten variables on previous commit
14429
14430 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
14431
14432         * gst/base/gsttypefindhelper.c: (helper_find_peek):
14433           Fix evil typefind crasher: getrange() might return a short
14434           buffer at the end of a file, but gst_type_find_peek() must
14435           either return the full data as requested or NULL, but
14436           never a short buffer.
14437
14438 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14439
14440         * gst/gstmessage.c: (gst_message_new_state_changed),
14441         (gst_message_parse_state_changed):
14442         * gst/gstmessage.h:
14443           don't use "new", it's a C++ keyword
14444
14445 2005-10-08  Wim Taymans  <wim@fluendo.com>
14446
14447         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
14448         * gst/gstelement.c: (gst_element_post_message):
14449         * gst/gstpipeline.c: (gst_pipeline_change_state):
14450         Small docs and debug updates.
14451
14452 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
14453
14454         * docs/gst/gstreamer-sections.txt:
14455         * gst/gstelementfactory.c:
14456         * gst/gstevent.c:
14457         * gst/gsttaglist.c:
14458           more docs
14459
14460 2005-10-08  Wim Taymans  <wim@fluendo.com>
14461
14462         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
14463         (gst_bin_dispose), (bin_bus_handler):
14464         Fix typos, add comments.
14465         Clear EOS list when going to PAUSED from any direction and do it
14466         in a threadsafe way.
14467         Get base time in a threadsafe way too.
14468         Fix confusing debug in the change_state function.
14469         Various other small cleanups.
14470         
14471         * gst/gstelement.c: (gst_element_post_message):
14472         Fix very verbose bus posting code.
14473
14474         * gst/gstpipeline.c: (gst_pipeline_class_init),
14475         (gst_pipeline_set_property), (gst_pipeline_get_property),
14476         (gst_pipeline_change_state):
14477         Small ARG_ -> PROP_ cleanup
14478
14479 2005-10-08  Wim Taymans  <wim@fluendo.com>
14480
14481         * gst/gstbin.c: (is_eos), (bin_bus_handler):
14482         Do a less CPU demanding EOS check because we can.
14483
14484 2005-10-08  Wim Taymans  <wim@fluendo.com>
14485
14486         * libs/gst/dataprotocol/dataprotocol.c:
14487         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14488         (gst_dp_packet_from_event):
14489         * libs/gst/dataprotocol/dataprotocol.h:
14490         * libs/gst/dataprotocol/dp-private.h:
14491         It's about time we bump the version number.
14492         Since event types don't fit in the guint8 anymore describing
14493         the payload type, make payload type 16 bits wide.
14494
14495 2005-10-08  Wim Taymans  <wim@fluendo.com>
14496
14497         * docs/design/part-TODO.txt:
14498         * docs/design/part-clocks.txt:
14499         * docs/design/part-events.txt:
14500         * docs/design/part-gstbin.txt:
14501         * docs/design/part-gstelement.txt:
14502         * docs/design/part-gstpipeline.txt:
14503         * docs/design/part-live-source.txt:
14504         * docs/design/part-messages.txt:
14505         * docs/design/part-overview.txt:
14506         * docs/design/part-states.txt:
14507         Many doc updates.
14508
14509 2005-10-08  Wim Taymans  <wim@fluendo.com>
14510
14511         * gst/gstevent.c:
14512         * gst/gstevent.h:
14513         Fix event quark registration.
14514         Add some space between events so we can insert them in the
14515         right groups.
14516
14517 2005-10-08  Wim Taymans  <wim@fluendo.com>
14518
14519         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14520         (gst_base_sink_handle_buffer):
14521         Better log message.
14522
14523         * gst/gstbus.h:
14524         * gst/gstelement.h:
14525         More docs.
14526
14527         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
14528         (gst_queue_set_property), (gst_queue_get_property):
14529         * gst/gstqueue.h:
14530         Remove old unused properties.
14531
14532 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
14533         * docs/gst/gstreamer-sections.txt:
14534         * gst/gstmessage.c:
14535         * gst/gstmessage.h:
14536         * gst/gstminiobject.c:
14537         * gst/gstminiobject.h:
14538         * gst/gstobject.h:
14539         * gst/gstpad.h:
14540         * gst/gstutils.h:
14541           lots of new docs and doc fixes
14542
14543 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14544
14545         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
14546         * gst/gstplugin.h:
14547         * gst/gstregistry.c: (gst_registry_lookup_locked),
14548         (gst_registry_scan_path_level):
14549         * gst/gstregistryxml.c: (load_plugin):
14550           Only ever load one plugin for a given plugin basename.
14551           This ensures correct overriding of GST_PLUGIN_PATH over
14552           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
14553           system installed plugins.
14554
14555 2005-10-08  Wim Taymans  <wim@fluendo.com>
14556
14557         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14558         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
14559         Prepare for doing QOS.
14560
14561 2005-10-08  Wim Taymans  <wim@fluendo.com>
14562
14563         * check/gst/gstbin.c: (GST_START_TEST):
14564         * check/pipelines/cleanup.c: (GST_START_TEST):
14565         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
14566         Allow new clock message too.
14567
14568 2005-10-08  Wim Taymans  <wim@fluendo.com>
14569
14570         * gst/gstmessage.c: (gst_message_new_error),
14571         (gst_message_new_warning), (gst_message_new_tag),
14572         (gst_message_new_state_changed), (gst_message_new_clock_provide),
14573         (gst_message_new_clock_lost), (gst_message_new_new_clock),
14574         (gst_message_new_segment_start), (gst_message_new_segment_done),
14575         (gst_message_parse_state_changed),
14576         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
14577         (gst_message_parse_new_clock):
14578         * gst/gstmessage.h:
14579         Also carry the clock in question.
14580
14581 2005-10-08  Wim Taymans  <wim@fluendo.com>
14582
14583         * gst/gstmessage.c: (gst_message_new_custom),
14584         (gst_message_new_eos), (gst_message_new_error),
14585         (gst_message_new_warning), (gst_message_new_tag),
14586         (gst_message_new_state_changed), (gst_message_new_clock_provide),
14587         (gst_message_new_new_clock), (gst_message_new_segment_start),
14588         (gst_message_new_segment_done), (gst_message_parse_state_changed),
14589         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
14590         * gst/gstmessage.h:
14591         Clean up.
14592         Added clock related messages.
14593
14594         * gst/gstpipeline.c: (gst_pipeline_change_state):
14595         Post message when the clock changed.
14596
14597         * tools/gst-launch.c: (event_loop):
14598         Print new clock.
14599
14600 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
14601
14602         * tools/gst-inspect.c: (print_element_properties_info):
14603           Can't pass NULL strings to g_print() on windows.
14604
14605 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14606
14607         * docs/Makefile.am:
14608         * docs/gst/Makefile.am:
14609         * docs/gst/gstreamer-docs.sgml:
14610         * docs/gst/running.xml:
14611         * docs/version.entities.in:
14612           add a chapter on running GStreamer.
14613           document GST_DEBUG and GST_PLUGIN* env vars
14614
14615 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14616
14617         * Makefile.am:
14618           remove include dir
14619         * configure.ac:
14620           remove PLUGINS_BUILDDIR stuff
14621         * gst/gst.c: (init_post):
14622           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
14623         * idiottest.mak:
14624           remove, it was condescending and not needed
14625
14626 2005-10-08  Wim Taymans  <wim@fluendo.com>
14627
14628         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
14629         (gst_base_sink_handle_object), (gst_base_sink_event),
14630         (gst_base_sink_wait), (gst_base_sink_handle_event),
14631         (gst_base_sink_change_state):
14632         * gst/base/gstbasesink.h:
14633         Repost EOS message while going to PLAYING if still EOS.
14634         Make sure that when receiving a FLUSH_START we don't attempt
14635         to sync on the clock anymore.
14636
14637 2005-10-08  Wim Taymans  <wim@fluendo.com>
14638
14639         * tools/gst-launch.c: (event_loop):
14640         Better message printout.
14641
14642 2005-10-08  Wim Taymans  <wim@fluendo.com>
14643
14644         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
14645         (gst_bin_child_proxy_get_children_count):
14646         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
14647         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
14648         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
14649         (gst_child_proxy_set_valist):
14650         * gst/parse/grammar.y:
14651         Make ChildProxy threadsafe and fix mem leaks.
14652
14653 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14654
14655         * gst/gst.c: (init_post):
14656           debug the GST_PLUGIN_ env vars
14657
14658 2005-10-08  Wim Taymans  <wim@fluendo.com>
14659
14660         * check/gst/gstbin.c: (GST_START_TEST):
14661         * check/gst/gstmessage.c: (GST_START_TEST):
14662         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
14663         * gst/gstelement.c: (gst_element_commit_state),
14664         (gst_element_lost_state):
14665         * gst/gstmessage.c: (gst_message_new_state_changed),
14666         (gst_message_parse_state_changed):
14667         * gst/gstmessage.h:
14668         * tools/gst-launch.c: (event_loop):
14669         Added extra field to STATE_CHANGE message with the pending
14670         state, which will be different from the new state soon.
14671
14672 2005-10-08  Wim Taymans  <wim@fluendo.com>
14673
14674         * gst/gstbus.c: (gst_bus_pop):
14675         * gst/gstclock.c:
14676         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
14677         Small cleanups and doc updates.
14678
14679 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14680
14681         * gst/gst.c: (init_pre):
14682         * gst/gstbin.c: (gst_bin_add_func):
14683           log distributing clocks and base time
14684         * gst/gstregistry.c: (gst_registry_add_plugin),
14685         (gst_registry_scan_path_level), (gst_registry_scan_path):
14686           clean up the debugging output a little
14687         * gst/gstutils.c: (gst_element_state_get_name):
14688           warn about a memleak (I've actually seen this be used, though
14689           it was probably a bug)
14690
14691 2005-10-07  Wim Taymans  <wim@fluendo.com>
14692
14693         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14694         (gst_base_src_init), (gst_base_src_default_newsegment),
14695         (gst_base_src_newsegment), (gst_base_src_do_seek),
14696         (gst_base_src_loop), (gst_base_src_start):
14697         * gst/base/gstbasesrc.h:
14698         Make the newsegment event customizable by subclasses.
14699
14700 2005-10-07  Wim Taymans  <wim@fluendo.com>
14701
14702         * gst/gstevent.c: (gst_event_new_buffersize),
14703         (gst_event_parse_buffersize):
14704         * gst/gstevent.h:
14705         New event for future idea.
14706
14707 2005-10-07  Andy Wingo  <wingo@pobox.com>
14708
14709         * gst/gstelement.c (gst_element_post_message): Doc update.
14710
14711         * docs/gst/gstreamer-sections.txt: Update.
14712
14713         * gst/gstmessage.c (gst_message_new_application): Made into a
14714         function like honest API calls.
14715         (gst_message_new_element): New message type.
14716
14717         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
14718
14719         * check/elements/fakesrc.c (test_no_preroll): New check, checks
14720         that setting a live fakesrc to PAUSED returns NO_PREROLL both
14721         times.
14722
14723         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
14724         NO_PREROLL from gst_element_change_state to fall through.
14725
14726 2005-10-07  Wim Taymans  <wim@fluendo.com>
14727
14728         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
14729         (gst_ghost_pad_do_activate_push):
14730         Activating a ghostpad with no internal pad in push mode
14731         is ok.
14732
14733 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14734
14735         * gst/gstobject.h:
14736           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
14737           Fixes compilation on Windows.
14738
14739 2005-10-07  Michael Smith <msmith@fluendo.com>
14740
14741         * tools/gst-inspect.c:
14742           Print out feature and plugin count at the end when printing out
14743           all features.
14744
14745 2005-10-04  Michael Smith <msmith@fluendo.com>
14746
14747         * gst/gsterror.c: (_gst_stream_errors_init):
14748           Add another error string used in a few existing plugins.
14749
14750         * gst/gstplugin.c:
14751         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
14752         * tools/gst-inspect.c: (print_element_info):
14753           When a feature disappears from a plugin (and the feature exists in
14754           the cached registry file), things went horribly wrong. This isn't a
14755           complete fix, we should actually be removing the 'missing' features
14756           from the features list when we load the actual plugin. That's not
14757           yet implemented. 
14758
14759 2005-10-04  Johan Dahlin  <johan@gnome.org>
14760
14761         * check/gst/gstiterator.c: (GST_START_TEST):
14762         * gst/gstbin.c: (gst_bin_iterate_elements),
14763         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
14764         * gst/gstelement.c: (gst_element_iterate_pads):
14765         * gst/gstformat.c: (gst_format_iterate_definitions):
14766         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
14767         (gst_iterator_new_list), (gst_iterator_filter):
14768         * gst/gstiterator.h:
14769         * gst/gstquery.c: (gst_query_type_iterate_definitions):
14770         Add a GType to GstIterator, update callsites and tests.
14771
14772 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14773
14774         * gst/gstpad.c: (gst_pad_event_default_dispatch):
14775           give events a chance to be handled by event probes when the pad
14776           is not linked
14777
14778 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14779
14780         * gst/gstevent.c: (gst_event_type_get_name),
14781         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
14782         * gst/gstevent.h:
14783           add string representations for event types
14784
14785 2005-10-06  Wim Taymans  <wim@fluendo.com>
14786
14787         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
14788         Don't use NULL pointers.
14789
14790 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14791
14792         * gst/gst_private.h:
14793         * gst/gstbus.c:
14794         * gst/gstelement.c:
14795         * gst/gstinfo.c:
14796         * gst/gstpluginfeature.c:
14797           widen the debug category in output to fit the biggest one we have
14798           add a bus category and use it
14799           play with the colors
14800           fix up some categories
14801
14802 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14803
14804         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
14805           add push activation of sink ghost pads.
14806           Andye, please verify
14807
14808 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
14809
14810         * gst/gstutils.c: (gst_element_link_pads):
14811           fix a bug in the case where neither element has a pad
14812         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
14813           add a test for that case
14814
14815 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
14816
14817         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
14818           emit have-data before checking for peers.  This allows
14819           for probe handlers to connect elements.  This helps autopluggers.
14820         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
14821         (gst_pad_suite):
14822           add six checks, linked/unlinked with no/true/false probe
14823
14824 2005-10-04  Wim Taymans  <wim@fluendo.com>
14825
14826         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
14827         (gst_fake_sink_event), (gst_fake_sink_preroll),
14828         (gst_fake_sink_render), (gst_fake_sink_change_state):
14829         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
14830         (gst_fake_src_get_property), (gst_fake_src_create),
14831         (gst_fake_src_stop):
14832         * gst/elements/gstidentity.c: (gst_identity_stop):
14833         Protect last_message with lock.
14834
14835 2005-10-04  Edward Hervey  <edward@fluendo.com>
14836
14837         * gst/gstformat.h: 
14838         Added precision in the comments for GST_FORMAT_DEFAULT
14839
14840 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
14841
14842         * tools/gst-launch.c: (main):
14843           Don't try to run erroneous pipelines.
14844
14845 2005-10-04  Julien MOUTTE  <julien@moutte.net>
14846
14847         * gst/gstbus.c: We don't need this header.
14848
14849 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14850
14851         * configure.ac:
14852           back to development
14853
14854 === release 0.9.3 ===
14855
14856 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14857
14858         * README:
14859         * configure.ac:
14860           Releasing 0.9.3, "Unregistered"
14861
14862 2005-10-03  Andy Wingo  <wingo@pobox.com>
14863
14864         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
14865         whereby calling a pad's activatepush() function can start a thread
14866         that starts to push or pull before the pad gets the FLUSHING flag
14867         unset. Hack around it by holding the stream lock until the flag is
14868         set. Need to replace this with a proper solution. Together with
14869         the ghost pad fixes, this fixes mp3 playing/tagreading.
14870
14871         * docs/design/part-gstghostpad.txt: Add a note about activation of
14872         proxy pads outside of ghost pads.
14873
14874         * gst/gstghostpad.c: Implement the ghost pad activation design.
14875
14876 2005-10-02  Andy Wingo  <wingo@pobox.com>
14877
14878         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
14879         It is volatile, after all.
14880
14881         * docs/design/part-gstghostpad.txt: Flesh out activation with
14882         ghost pads.
14883
14884         * gst/base/gstbasesrc.c (gst_base_src_init): Use
14885         GST_DEBUG_FUNCPTR.
14886
14887 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
14888
14889         * configure.ac:
14890           Fix (unused) AM_CONDITIONAL tests.
14891
14892 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
14893
14894         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
14895
14896         * gst/gstutils.c: (gst_pad_query_convert):
14897           Add assertion that makes sure src_val is >=0, just like
14898           gst_query_new_convert() has. (#315895)
14899
14900 2005-09-30  Edward Hervey  <edward@fluendo.com>
14901
14902         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
14903         Let's not iterate pads we're not interested in, it avoids getting 
14904         sky-high refcounts on sinkpad.
14905
14906 2005-09-30  Wim Taymans  <wim@fluendo.com>
14907
14908         * gst/gstelement.c: (gst_element_set_state),
14909         (gst_element_change_state):
14910         Small tweak, element in ASYNC remains ASYNC.
14911
14912 2005-09-30  Wim Taymans  <wim@fluendo.com>
14913
14914         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
14915         Only error is an error.
14916
14917         * gst/gstbin.c: (gst_bin_change_state):
14918         Better debugging.
14919
14920         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
14921         Also call pad_block in pad alloc.
14922
14923         * gst/gstutils.c: (gst_flow_get_name):
14924         Better debugging.
14925
14926 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
14927
14928         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14929         (gst_base_src_get_range):
14930           Fix documentation typos. Add some more debug info.
14931
14932 2005-09-29  David Schleef  <ds@schleef.org>
14933
14934         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
14935           more end-user friendly.
14936         * tools/gst-inspect.c: (main): Check if command-line argument is
14937           a file and attempt to load that file as a plugin.
14938
14939 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14940
14941         * check/gst/gstbin.c:
14942         * check/states/sinks.c:
14943           fix tests for the new warning
14944         * check/gst/gstpipeline.c:
14945           add a test for pipeline and bus interaction
14946         * gst/gstelement.c:
14947           elements should be NULL if they get disposed; add a warning if not
14948
14949 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14950
14951         * gst/gstobject.c:
14952           for 2.6 refcounting, make debug log more correct by printing
14953           the actual refcounts at the time of swap (Wim)
14954
14955 2005-09-29  Andy Wingo  <wingo@pobox.com>
14956
14957         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
14958         removes signal watches previously added via
14959         gst_bus_add_signal_watch.
14960         (gst_bus_add_signal_watch): Don't return the source id, just store
14961         it on the bus if there wasn't an id already.
14962
14963         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
14964         add_signal_watch and remove_signal_watch.
14965
14966 2005-09-29  Edward Hervey  <edward@fluendo.com>
14967
14968         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
14969         Better if we actually iterate the list :)
14970
14971 2005-09-29  Wim Taymans  <wim@fluendo.com>
14972
14973         * check/gst/gstbin.c: (GST_START_TEST):
14974         Change for new bus API.
14975
14976         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
14977         (send_messages), (GST_START_TEST), (gstbus_suite):
14978         Change for new bus signal API.
14979
14980         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
14981         (gst_bus_source_prepare), (gst_bus_source_check),
14982         (gst_bus_create_watch), (gst_bus_add_watch_full),
14983         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
14984         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
14985         * gst/gstbus.h:
14986         Remove support for multiple GSources operating on different
14987         message types as it is too complex and unneeded when using
14988         signals.
14989         Added support for receiving signals from the bus.
14990
14991 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14992
14993         * docs/libs/tmpl/gstdataprotocol.sgml:
14994         * docs/manual/advanced-dataaccess.xml:
14995         * gst/elements/gstcapsfilter.c:
14996         * gst/gstutils.c:
14997           rename filter-caps to caps property
14998
14999 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
15000
15001         * gst/gstvalue.c: (gst_value_deserialize_fraction):
15002           More robust fraction string parsing.
15003
15004         * docs/pwg/appendix-porting.xml:
15005           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
15006
15007 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
15008
15009         * gst/gstcaps.c: (gst_caps_do_simplify):
15010           Thou shalt not free a structure and then continue using it
15011           in the next loop iteration.
15012
15013         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
15014         (gst_caps_suite):
15015           Add test case for caps simplification.
15016
15017 2005-09-29  Wim Taymans  <wim@fluendo.com>
15018
15019         * check/gst/gstbin.c: (GST_START_TEST):
15020         Oops.
15021
15022 2005-09-29  Wim Taymans  <wim@fluendo.com>
15023
15024         * check/gst/gstbin.c: (GST_START_TEST):
15025         Add bus to bin.
15026
15027         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
15028         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
15029         (find_element), (gst_bin_sort_iterator_next),
15030         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15031         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15032         (gst_bin_change_state), (gst_bin_dispose):
15033         A bin does not have a bus, it gets the bus from the parent.
15034
15035         * gst/gstelement.c: (gst_element_requires_clock),
15036         (gst_element_provides_clock), (gst_element_is_indexable),
15037         (gst_element_is_locked_state), (gst_element_change_state),
15038         (gst_element_set_bus_func):
15039         Small cleanups.
15040
15041         * gst/gstpipeline.c: (gst_pipeline_class_init),
15042         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
15043         The pipeline provides a bus.
15044
15045 2005-09-28  Johan Dahlin  <johan@gnome.org>
15046
15047         * gst/gstmessage.c (gst_message_parse_state_changed): Use
15048         gst_structure_get_enum instead of gst_structure_get_int
15049
15050         * gst/gststructure.c (gst_structure_get_enum): Impl.
15051
15052         * gst/gststructure.h (gst_structure_get_enum): Add
15053
15054         * docs/gst/gstreamer-sections.txt: Ditto
15055
15056         * gst/gstmessage.c (gst_message_new_state_changed): Use
15057         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
15058         which does introspection.
15059         Reviewed by Christian Schaller
15060
15061 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
15062
15063         * gst/gstinfo.c: (gst_debug_log_default):
15064           don't do dummy g_strdup()s
15065         * libs/gst/controller/gstcontroller.c:
15066         (on_object_controlled_property_changed),
15067         (gst_controlled_property_new), (gst_controller_new_valist),
15068         (gst_controller_new_list),
15069         (gst_controller_remove_properties_valist), (gst_controller_set),
15070         (gst_controller_get), (gst_controller_sync_values),
15071         (gst_controller_get_value_array), (_gst_controller_class_init),
15072         (gst_controller_get_type):
15073         * libs/gst/controller/gstcontroller.h:
15074         * libs/gst/controller/gstinterpolation.c:
15075         (gst_controlled_property_find_timed_value_node):
15076           convert // to /**/ comments
15077
15078 2005-09-28  Wim Taymans  <wim@fluendo.com>
15079
15080         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
15081         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
15082         (gst_bus_sync_signal_handler):
15083         * gst/gstbus.h:
15084         Added async-message and sync-message signals to the bus.
15085         Added helper BusFunc to emit signals for all posted messages.
15086
15087         * gst/gstmessage.c: (gst_message_type_get_name),
15088         (gst_message_type_to_quark), (gst_message_get_type):
15089         * gst/gstmessage.h:
15090         Register quarks for message names.
15091
15092 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
15093
15094         * docs/libs/gstreamer-libs-sections.txt:
15095         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
15096         (gst_controller_new_list):
15097         * libs/gst/controller/gstcontroller.h:
15098           added another constructor for language bindings
15099
15100 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
15101
15102         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
15103           add another check
15104         * gst/gstbus.c:
15105           add some doc
15106         * gst/gstinfo.c: (_gst_debug_init):
15107           slightly more readable color for refcount debugging
15108
15109 2005-09-28  Wim Taymans  <wim@fluendo.com>
15110
15111         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
15112         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
15113         (find_element), (gst_bin_sort_iterator_next),
15114         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15115         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15116         (gst_bin_change_state), (gst_bin_dispose):
15117         Small doc fixes. get_clock -> provide_clock.
15118
15119         * gst/gstelement.c: (gst_element_class_init),
15120         (gst_element_provides_clock), (gst_element_provide_clock),
15121         (gst_element_get_clock), (gst_element_commit_state),
15122         (gst_element_lost_state):
15123         * gst/gstelement.h:
15124         Make get/set_clock() symetric. Add provide_clock vmethod since
15125         that is actually what this function does.
15126
15127         * gst/gstpipeline.c: (gst_pipeline_class_init),
15128         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
15129         (gst_pipeline_get_clock):
15130         get_clock -> provide_clock.
15131
15132 2005-09-28  Andy Wingo  <wingo@pobox.com>
15133
15134         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
15135         lieu of real docs...
15136
15137         * gst/elements/gstfdsrc.c: Cleaned up a bit.
15138
15139 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
15140
15141         * gst/elements/gstcapsfilter.c:
15142         * gst/elements/gstfakesink.c:
15143         * gst/elements/gstfakesrc.c:
15144         * gst/elements/gstfdsink.c:
15145         * gst/elements/gstfdsrc.c:
15146         * gst/elements/gstfilesink.c:
15147         * gst/elements/gstfilesrc.c:
15148         * gst/elements/gstidentity.c:
15149         * gst/elements/gsttee.c:
15150         * gst/elements/gsttypefindelement.c:
15151           Make element details static.
15152
15153 2005-09-28  Wim Taymans  <wim@fluendo.com>
15154
15155         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
15156         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
15157         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15158         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15159         (gst_bin_change_state), (gst_bin_dispose):
15160         Some documentation updates.
15161         Clean up dispose handlers.
15162
15163         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
15164         * gst/gstpad.c: (gst_pad_dispose):
15165         Clean up dispose handler.
15166
15167         * gst/gstpipeline.c: (gst_pipeline_change_state):
15168         Removed spurious UNLOCK.
15169
15170 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
15171
15172         * docs/gst/gstreamer-sections.txt:
15173         * gst/base/gstbasesrc.h:
15174         * gst/gstelement.h:
15175         * gst/gstevent.h:
15176         * gst/gstobject.h:
15177         * gst/gstpad.h:
15178         * gst/gstpipeline.c:
15179         * gst/gstpipeline.h:
15180         * gst/gstutils.h:
15181         * gst/gstxml.h:
15182           added two new functions to the docs
15183                 documents all undocumented GstXXXFlags
15184                 completed some incomplete docs 
15185
15186 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
15187
15188         * gst/gstbin.c: (gst_bin_dispose):
15189         * gst/gstelement.c: (gst_element_dispose):
15190           remove now useless and leaky resurrection code in dispose
15191         * gst/base/gstbasesrc.c: (gst_base_src_init):
15192         * gst/gstelementfactory.c: (gst_element_factory_create):
15193         * gst/gstobject.c: (gst_object_set_parent):
15194           add some debugging
15195
15196 2005-09-27  Wim Taymans  <wim@fluendo.com>
15197
15198         * docs/design/part-TODO.txt:
15199         Update TODO.
15200
15201         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
15202         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
15203         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15204         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15205         (gst_bin_change_state):
15206         * gst/gstelement.h:
15207         Remove element variable, we keep element info in the iterator now.
15208
15209 2005-09-27  Andy Wingo  <wingo@pobox.com>
15210
15211         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
15212         values.
15213
15214 2005-09-27  Wim Taymans  <wim@fluendo.com>
15215
15216         * check/gst/gstbin.c: (GST_START_TEST):
15217         Enable check that works now.
15218
15219         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
15220         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
15221         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15222         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15223         (gst_bin_change_state):
15224         * gst/gstbin.h:
15225         Redid the state change algorithm using a topological sort algo.
15226         Handles all cases correctly.
15227         Exposed iterator for state change order.
15228
15229         * gst/gstelement.h:
15230         Temp storage for state changes. Need to get rid of this soon.
15231
15232 2005-09-27  Wim Taymans  <wim@fluendo.com>
15233
15234         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
15235         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
15236         (link_fold_func), (gst_pad_proxy_setcaps):
15237         Leak fixes, the fold functions need to unref the passed object and
15238         _get_parent_*() returns ref to parent.
15239
15240 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
15241
15242         * check/gst/gstbuffer.c: (test_make_writable):
15243           Plug leak in test case and fix 'make check-valgrind'
15244
15245 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
15246
15247         * gst/gstbuffer.c: (gst_subbuffer_init):
15248           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
15249           works correctly in all circumstances (we could have just copied
15250           the parent buffer's readonly flag, but conceptually it seems
15251           cleaner to mark all subbuffers as read-only). (based on patch
15252           by Alessandro Decina, #314710).
15253         
15254         * check/gst/gstbuffer.c: (create_read_only_buffer),
15255         (test_make_writable), (test_subbuffer_make_writable),
15256         (gst_test_suite):
15257           Add some tests for gst_buffer_make_writable().
15258
15259 2005-09-27  Wim Taymans  <wim@fluendo.com>
15260
15261         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
15262         use gst_object_has_ancestor().
15263
15264         * gst/gstobject.c: (gst_object_has_ancestor):
15265         * gst/gstobject.h:
15266         gst_object_has_ancestor() copied from gstbin.c as it is a
15267         useful function.
15268
15269         * tests/instantiate/create.c: (create_all_elements):
15270         * tests/lat.c: (handoff_src), (handoff_sink):
15271         * tests/sched/runxml.c: (main):
15272         * tests/seeking/seeking1.c: (main):
15273         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
15274         (main):
15275         Fix compilation of some tests.
15276
15277 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
15278
15279         * gst/gsterror.h:
15280           Remove comment. GST_TYPE_G_ERROR is here to stay,
15281           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
15282           (#316961, #300610).
15283
15284 2005-09-26  Wim Taymans  <wim@fluendo.com>
15285
15286         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
15287         Added check that shows error in state change order.
15288
15289 2005-09-26  Wim Taymans  <wim@fluendo.com>
15290
15291         * gst/gstbin.c: (gst_bin_change_state):
15292         Make state change function use 3 queues again, we were
15293         adding elements in the wrong order.
15294
15295         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
15296         Some debug info,
15297
15298         * gst/gstpad.c: (gst_pad_dispose):
15299         Added some debug info first.
15300
15301 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
15302
15303         * docs/design/draft-push-pull.txt:
15304         * docs/design/part-events.txt:
15305         * docs/design/part-overview.txt:
15306         * docs/design/part-scheduling.txt:
15307           Replace all _pull_region() with _pull_range()
15308           
15309 2005-09-26  Andy Wingo  <wingo@pobox.com>
15310
15311         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
15312
15313         * check/gst-libs/controller.c: Update for controller api change.
15314
15315         * configure.ac: 
15316         * tests/Makefile.am:
15317         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
15318         over by GLib bug 118439.
15319         
15320         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
15321         routines to a function.
15322
15323         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
15324
15325         * libs/gst/controller/gsthelper.c:
15326         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
15327         (gst_object_sync_values): Renamed from sink_values. Ugh.
15328
15329         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
15330
15331         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
15332         Renamed from controller_key, as it is exported.
15333
15334         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
15335
15336 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
15337
15338         * gst/Makefile.am:
15339         * gst/gst.h:
15340         * gst/gstpad.h:
15341         * gst/gstpadtemplate.h:
15342         * gst/gstquery.c:
15343         * gst/gstquery.h:
15344         * gst/gstqueryutils.c:
15345         * gst/gstqueryutils.h:
15346           remove queryutils headers after moving the two used functions
15347           to gstquery.  also fixes build problem for gstsiddec
15348
15349 2005-09-26  Michael Smith <msmith@fluendo.com>
15350
15351         * tools/gst-launch.1.in:
15352         Correct documentation in manpage of debug syntax
15353
15354 2005-09-26  Wim Taymans  <wim@fluendo.com>
15355
15356         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
15357         (gst_base_src_is_seekable), (gst_base_src_change_state):
15358         Some more debugging info.
15359
15360 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
15361
15362         * docs/gst/gstreamer-sections.txt:
15363         * gst/base/gstbasetransform.h:
15364         * gst/gstindex.h:
15365           added more docs
15366
15367 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
15368
15369         * docs/gst/.cvsignore:
15370         * docs/gst/tmpl/.cvsignore:
15371         * docs/gst/tmpl/gstpipeline.sgml:
15372         * docs/gst/tmpl/gstplugin.sgml:
15373         * gst/gstpipeline.c:
15374         * gst/gstplugin.c:
15375         * gst/gstplugin.h:
15376           inlined the last two docs files
15377           removed the tmpl directory from cvs (no more conflicts here!)
15378
15379 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
15380
15381         * docs/gst/gstreamer-sections.txt:
15382         * docs/gst/tmpl/.cvsignore:
15383         * docs/gst/tmpl/gstpad.sgml:
15384         * docs/gst/tmpl/gstpadtemplate.sgml:
15385         * gst/Makefile.am:
15386         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
15387         (gst_pad_finalize), (gst_pad_set_pad_template):
15388         * gst/gstpad.h:
15389         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
15390         (gst_pad_template_class_init), (gst_pad_template_init),
15391         (gst_pad_template_dispose), (name_is_valid),
15392         (gst_static_pad_template_get), (gst_pad_template_new),
15393         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
15394         (gst_pad_template_pad_created):
15395         * gst/gstpadtemplate.h:
15396           inlined two more docs
15397           factored gstpadtemplate out of gstpad
15398
15399 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
15400
15401         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
15402         (test_children_state_change_order_semi_sink):
15403           Fix test case: we can't rely on a fixed state change order when
15404           going from READY => PAUSED because the sink might commit its 
15405           new state first when the first buffer created by the source 
15406           reaches the sink before the source has finished its change state.
15407           (Test case still fails at times, see #316856, comment 5 onwards)
15408
15409 2005-09-24  Wim Taymans  <wim@fluendo.com>
15410
15411         * docs/design/part-events.txt:
15412         * docs/design/part-gstbus.txt:
15413         * docs/design/part-gstpipeline.txt:
15414         * docs/design/part-messages.txt:
15415         * docs/design/part-overview.txt:
15416         * docs/design/part-segments.txt:
15417         * gst/gstbin.c:
15418         * gst/gstbuffer.c:
15419         * gst/gstclock.c:
15420         * gst/gstelement.c:
15421         * gst/gstevent.c:
15422         * gst/gstfilter.c:
15423         * gst/gstiterator.c:
15424         Various documentation updates.
15425
15426 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
15427
15428         * gst/gstclock.h:
15429           Well, that's embarassing.  Luckily we weren't using
15430           GST_CLOCK_DIFF anywhere.
15431
15432 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15433
15434         * common/gtk-doc.mak:
15435           don't fail on building XML, FC4 slave shows a bunch of doc
15436           missing bits that I don't get
15437         * gst/gstpad.c:
15438         * gst/gstpipeline.c:
15439         * gst/gststructure.c:
15440           some doc updates
15441
15442 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
15443
15444         * docs/design/part-gstbin.txt:
15445         * docs/design/part-gstbus.txt:
15446         * gst/gstbus.c:
15447           Add blurb about how the bus goes into flushing mode and
15448           drops all messages when its bin goes from READY into NULL 
15449           state.
15450
15451 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15452
15453         * docs/gst/gstreamer-sections.txt:
15454         * gst/gststructure.c: (gst_structure_get_clock_time):
15455         * gst/gststructure.h:
15456           add a method to get a GstClockTime out of a structure
15457
15458 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
15459
15460         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
15461         (test_children_state_change_order_semi_sink), (gst_bin_suite):
15462           Added test to check state change order in bins (can still be made
15463           to fail here under heavy disk load; bails out with 'Push on pad
15464           fakesink:sink0, but it was not activated in push mode').
15465
15466         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
15467           Fix state change order when there is only a semi sink (#316856)
15468
15469         * gst/gstbus.c: (gst_bus_class_init):
15470           Use _class_peek_parent(), not _class_ref(); fix docs to say
15471           'default main context' instead of 'mainloop' where that is
15472           what's meant.
15473
15474         * gst/gstelement.c: (gst_element_commit_state),
15475         (gst_element_set_state):
15476           Fix typos in debug messages
15477
15478 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15479
15480         * docs/README:
15481         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
15482         * gst/gstpluginfeature.c:
15483         * gst/gstutils.c:
15484           various doc updates
15485         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15486           change an assert into an error until it gets fixed properly
15487
15488 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
15489
15490         * docs/gst/gstreamer-sections.txt:
15491         * docs/gst/tmpl/.cvsignore:
15492         * docs/gst/tmpl/gstelement.sgml:
15493         * docs/gst/tmpl/gstinfo.sgml:
15494         * docs/gst/tmpl/gstobject.sgml:
15495         * gst/gstelement.c:
15496         * gst/gstelement.h:
15497         * gst/gstinfo.c:
15498         * gst/gstinfo.h:
15499         * gst/gstobject.c: (gst_object_class_init):
15500         * gst/gstobject.h:
15501           inlined 3 more biiiig doc files and added some missing docs on the fly
15502
15503 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15504
15505         * check/gst/.cvsignore:
15506         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
15507         * gst/gstregistryxml.c: (load_plugin),
15508         (gst_registry_xml_save_plugin):
15509           put back source in registry.  add checks for find_plugin.
15510         * testsuite/states/bin.c: (assert_state), (empty_bin),
15511         (test_adding_one_element), (main):
15512         * testsuite/states/locked.c: (main):
15513           some compile/run fixes
15514
15515 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15516
15517         * check/gst/gstvalue.c: (GST_START_TEST):
15518           fix leaks in the test itself
15519
15520 2005-09-22  Wim Taymans  <wim@fluendo.com>
15521
15522         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
15523         (gst_base_sink_send_event), (gst_base_sink_peer_query),
15524         (gst_base_sink_query):
15525         Prepare for more accurate position reporting and query
15526         handling.
15527
15528         * gst/gstelement.c: (gst_element_send_event),
15529         (gst_element_set_state):
15530         Add some comment.
15531
15532 2005-09-22  Wim Taymans  <wim@fluendo.com>
15533
15534         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
15535         (gst_query_parse_segment):
15536         * gst/gstquery.h:
15537         More documentation.
15538         Add segment query for future use.
15539
15540 2005-09-22  Wim Taymans  <wim@fluendo.com>
15541
15542         * gst/gstbin.c: (gst_bin_add_func):
15543         Some more debug info.
15544
15545         * gst/gstelement.c: (gst_element_send_event):
15546         Simplify send_event
15547
15548         * gst/gstelement.h:
15549         Don't know how flags got broken.
15550
15551         * gst/gstquery.h:
15552         Added new query.
15553
15554 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
15555
15556         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
15557           Add simplistic test suite for GST_TYPE_DATE serialisation and
15558           deserialisation.
15559
15560 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
15561
15562         * docs/gst/gstreamer-sections.txt:
15563         * gst/gststructure.c: (gst_structure_set_valist),
15564         (gst_structure_get_date):
15565         * gst/gststructure.h:
15566         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
15567         (gst_date_copy), (gst_value_compare_date),
15568         (gst_value_serialize_date), (gst_value_deserialize_date),
15569         (gst_value_transform_date_string),
15570         (gst_value_transform_string_date), (_gst_value_initialize):
15571         * gst/gstvalue.h:
15572           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
15573           bunch of utility functions along with a hack that checks that
15574           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
15575           is required. Part of the grand scheme in #170777.
15576
15577 2005-09-22  Andy Wingo  <wingo@pobox.com>
15578
15579         * gst/gstconfig.h.in: Psych out gtk-doc.
15580
15581         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
15582
15583         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
15584
15585         * tools/gst-inspect.c (print_element_list): Plug some
15586         inconsequential leaks.
15587
15588         * gst/gstregistry.c (gst_registry_get_default): Doc.
15589
15590         * check/gst/gstplugin.c: 
15591         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
15592         * gst/gstelementfactory.c (gst_element_factory_create): 
15593         * gst/gstindexfactory.c (gst_index_factory_create): Update for
15594         refcount changes.
15595
15596         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
15597         (gst_plugin_feature_load): Doc, don't eat refs.
15598
15599         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
15600         (gst_plugin_list_free): Doc.
15601         (gst_plugin_load_file): Doc updates.
15602
15603         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
15604         accessors returning refcounted objects, return a ref.
15605
15606         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
15607         accessor for caps. IDEMPOTENCE. Oh yes.
15608
15609 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
15610
15611         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
15612
15613         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
15614         (_gst_debug_register_funcptr):
15615           Add mutex to serialise access to the hash table with
15616           the function pointer => function name string mapping;
15617           make that hash table static scope (#316809).
15618
15619         * gst/registries/.cvsignore:
15620           Remove left-over file.
15621
15622 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
15623
15624         * docs/pwg/appendix-porting.xml:
15625           And something about newsegment events and caps-on-buffers to
15626           the porting guide (feel free to improve).
15627
15628 2005-09-21  Andy Wingo  <wingo@pobox.com>
15629
15630         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
15631         data and event probes on the same pad.
15632         (test_buffer_probe_once): Test that removing probes from within
15633         the probe functions works.
15634
15635 2005-09-21  Andy Wingo  <wingo@pobox.com>
15636
15637         * check/gst/gstutils.c: New file.
15638         (test_buffer_probe_n_times): A simple buffer probe test. More to
15639         come, foolios.
15640
15641         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
15642         have-data::buffer, not have-data.
15643         (gst_pad_add_event_probe): Likewise for have-data::event.
15644         (gst_pad_add_data_probe): More docs. The part about 'resolving the
15645         peer' isn't quite right yet though.
15646         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
15647         (gst_pad_remove_data_probe): Change to take the guint handler_id
15648         as their arg, not the function+data, which is more glib-like.
15649
15650         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
15651         the signal emission to indicate if the data is a buffer or an
15652         event.
15653         (gst_pad_get_type): Initialize buffer and event quarks.
15654         (gst_pad_class_init): have-data is now a detailed signal, yes it
15655         is.
15656
15657 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
15658
15659         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
15660         * gst/gstutils.c: (gst_util_set_value_from_string),
15661         (gst_util_set_object_arg):
15662           Don't put functional code in g_return_if_fail() or
15663           g_return_val_if_fail() statements, otherwise things will 
15664           break when G_DISABLE_CHECKS is defined during compilation.
15665
15666 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
15667
15668         * docs/gst/tmpl/.cvsignore:
15669         * docs/gst/tmpl/gstvalue.sgml:
15670         * gst/gstvalue.c:
15671         * gst/gstvalue.h:
15672           inlied another one and added  some obvious docs
15673
15674 2005-09-21  Wim Taymans  <wim@fluendo.com>
15675
15676         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
15677         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
15678         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
15679         (gst_fdsrc_get_property), (gst_fdsrc_create):
15680         * gst/elements/gstfdsrc.h:
15681         Properly implement fdsrc. Removed signal and timeout,
15682         better implemented somewhere else.
15683
15684 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
15685
15686         * docs/gst/tmpl/.cvsignore:
15687         * docs/gst/tmpl/gstimplementsinterface.sgml:
15688         * gst/gstinterface.c:
15689           inlined more docs
15690
15691 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
15692
15693         * docs/gst/gstreamer-sections.txt:
15694         * docs/gst/tmpl/.cvsignore:
15695         * docs/gst/tmpl/gstenumtypes.sgml:
15696           remove obsolete doc file
15697
15698 2005-09-21  David Schleef  <ds@schleef.org>
15699
15700         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
15701         little beer, fix a little leak.
15702
15703 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
15704
15705         * docs/gst/gstreamer-docs.sgml:
15706         * docs/gst/gstreamer-sections.txt:
15707         * docs/gst/tmpl/.cvsignore:
15708         * gst/Makefile.am:
15709         * gst/gst.h:
15710         * gst/gstbin.c:
15711         * gst/gstelement.h:
15712         * gst/gstindex.c: (gst_index_class_init):
15713         * gst/gstindex.h:
15714         * gst/gstindexfactory.c: (gst_index_factory_get_type),
15715         (gst_index_factory_class_init), (gst_index_factory_init),
15716         (gst_index_factory_finalize), (gst_index_factory_new),
15717         (gst_index_factory_destroy), (gst_index_factory_find),
15718         (gst_index_factory_create), (gst_index_factory_make):
15719         * gst/gstindexfactory.h:
15720         * gst/gstpluginfeature.c:
15721         * gst/gstpluginfeature.h:
15722         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
15723           more docs inlined, splitted gstindex.{c,h}
15724
15725 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
15726
15727         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
15728           fix a leak
15729
15730 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
15731
15732         * gst/elements/gstfilesink.c: (gst_file_sink_init):
15733           Set sync to FALSE by default.
15734
15735 2005-09-20  Wim Taymans  <wim@fluendo.com>
15736
15737         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
15738         (gst_base_sink_init):
15739         Make sync property settable from subclass.
15740
15741         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
15742         (gst_fake_sink_change_state):
15743         Set sync to FALSE by default.
15744
15745 2005-09-20  Wim Taymans  <wim@fluendo.com>
15746
15747         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
15748         * tools/gst-launch.c: (main):
15749         The timeout handler should have lower priority than the source
15750         so we don't timeout before popping a message with 0 timeout.
15751         Dump error messages after failed state change.
15752
15753 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
15754
15755         * tools/gst-inspect.c: (print_element_properties_info):
15756           Fix two typos.
15757
15758 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
15759
15760         * check/gst/gstevent.c:
15761         * gst/elements/gstfakesink.c:
15762         * gst/elements/gstfakesink.h:
15763           remove the sync property from fakesink.
15764           has the side effect of setting sync TRUE
15765           for fakesink, which is a change.  Anyone who knows how
15766           to fix this nicely in a GObject-y way, feel free.
15767
15768 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
15769
15770         * docs/gst/gstreamer-docs.sgml:
15771           remove probe refsection
15772
15773 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
15774
15775         * check/Makefile.am:
15776           disable valgrinding the controller test again
15777         * docs/gst/gstreamer-sections.txt:
15778           update for api-changes
15779
15780 2005-09-20  Wim Taymans  <wim@fluendo.com>
15781
15782         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
15783         (gst_base_sink_set_property), (gst_base_sink_get_property),
15784         (gst_base_sink_do_sync):
15785         * gst/base/gstbasesink.h:
15786         Added sync property to basesink to disable clock sync.
15787
15788 2005-09-20  Andy Wingo  <wingo@pobox.com>
15789
15790         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
15791         eating the caller's refcount.
15792
15793         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
15794         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
15795         refcount.
15796
15797         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
15798         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
15799         of GLib 2.8 public, so we can know which refcount to check in
15800         tests.
15801
15802         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
15803         (gst_object_init): Only set the gst refcount if we're going ahead
15804         with the refcount hack.
15805
15806 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
15807
15808         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
15809         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
15810           more leaks plumbed, added more debug-logging
15811         * gst/gstmacros.h:
15812           whitespace fix
15813
15814 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
15815
15816         * gst/gstmessage.c:
15817           remove include of gstmemchunk.h
15818
15819 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
15820
15821         * gst/gstclock.c: (_gst_clock_id_free):
15822           Commit from the Political Party For More Atomic CVS Commits,
15823           so that people don't waste too much of their day fishing
15824           out obvious leaks out of massive commits.
15825           Oh, and fix a pretty damn obvious leak in the memchunk
15826           removal code.
15827
15828 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
15829
15830         * check/Makefile.am:
15831         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
15832           plug mem-leak, re-add to valgrindable tests
15833
15834 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
15835
15836         * gst/gstplugin.h:
15837           unbreak the build for those who have chronic arthritis
15838           and typing "make check" is just too taxing on the hands
15839
15840 2005-09-20  Andy Wingo  <wingo@pobox.com>
15841
15842         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
15843         really want it out, you should fix plugins at the same time.
15844
15845 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
15846
15847         * configure.ac:
15848         * docs/gst/gstreamer-sections.txt:
15849         * gst/gstobject.c:
15850           added missing symbols to api docs
15851           disable ref-count hack if we have glib >= 2.8
15852
15853 2005-09-19  David Schleef  <ds@schleef.org>
15854
15855         * docs/gst/Makefile.am: Ignore a few more internal headers
15856         * docs/gst/gstreamer-docs.sgml: Remove old sections
15857         * docs/gst/gstreamer-sections.txt: Remove old sections
15858         * docs/gst/tmpl/gstobject.sgml: update
15859         * docs/gst/tmpl/gstplugin.sgml: update
15860         * docs/gst/tmpl/gstpluginfeature.sgml: update
15861         * docs/random/ds/0.9-suggested-changes: update.
15862         * gst/Makefile.am: remove memchunk and trashstack, since they're
15863           not used.
15864         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
15865         * gst/gst.h: don't include some headers
15866         * gst/gstchildproxy.c: add gstmarshal.h
15867         * gst/gstclock.c: Don't use memchunks
15868         * gst/gstminiobject.c: Add some docs
15869         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
15870         * gst/gstobject.h: same
15871         * gst/gstplugin.c: include gstmacros.h
15872         * gst/gstplugin.h: don't include gstmacros.h, since it's private
15873         * gst/gstquery.c: don't use memchunks
15874         * gst/gstregistry.c: rename gst_registry_deinit()
15875         * gst/gstregistry.h: same
15876
15877 2005-09-19  David Schleef  <ds@schleef.org>
15878
15879         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
15880         * docs/libs/gstreamer-libs-sections.txt:
15881         * docs/libs/tmpl/gstgetbits.sgml:
15882         * docs/libs/tmpl/gstputbits.sgml:
15883
15884 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
15885
15886         * win32/gstenumtypes.c:
15887         * win32/gstenumtypes.h:
15888           Update.
15889
15890 2005-09-19  Wim Taymans  <wim@fluendo.com>
15891
15892         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
15893         Automatically PAUSE and RESUME a pipeline when a flushing seek
15894         is performed.
15895
15896 2005-09-19  Andy Wingo  <wingo@pobox.com>
15897
15898         * gst/gstregistry.h: Spacing fixen.
15899
15900 2005-09-19  Wim Taymans  <wim@fluendo.com>
15901
15902         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
15903         Handle state change failure more correctly.
15904
15905 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15906
15907         * check/Makefile.am:
15908         * check/pipelines/cleanup.c: (run_pipeline):
15909         * check/pipelines/simple_launch_lines.c: (run_pipeline),
15910         (GST_START_TEST):
15911           enable cleanup again after fixing the leak
15912         * docs/README:
15913           some more info on docs
15914
15915 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15916
15917         * check/Makefile.am:
15918           re-enable tests now that leaks are plugged
15919         * check/gst/gst.c:
15920         * check/gst/gstbin.c:
15921         * check/gst/gstpipeline.c:
15922           add some more tests while fixing leaks
15923         * common/check.mak:
15924           make sure binaries are uptodate when valgrinding/gdbing
15925         * gst/gst.c:
15926         * gst/gstelementfactory.c:
15927           remove a ref too many, and add a FIXME for when we get
15928           round to disposing of classes
15929         * gst/gstplugin.c:
15930           fix the refcounting when loading a plugin from a file and
15931           the code pretends that the pointer is the same even though
15932           of course it can change
15933         * gst/gstpluginfeature.c:
15934           unref plugins marked cached (a bit confusing as a name)
15935           as the docs state should be done
15936           various doc additions to explain refcounting
15937         * gst/gstregistry.c:
15938         * gst/gstregistryxml.c:
15939           debugging
15940
15941 2005-09-19  Wim Taymans  <wim@fluendo.com>
15942
15943         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
15944         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
15945         (send_messages), (GST_START_TEST), (gstbus_suite):
15946         * check/gst/gstpipeline.c: (GST_START_TEST):
15947         * check/pipelines/cleanup.c: (run_pipeline):
15948         * check/pipelines/simple_launch_lines.c: (run_pipeline),
15949         (GST_START_TEST):
15950         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
15951         (gst_bus_source_check), (gst_bus_source_dispatch),
15952         (gst_bus_create_watch), (gst_bus_add_watch_full),
15953         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
15954         * gst/gstbus.h:
15955         * tools/gst-launch.c: (event_loop):
15956         * tools/gst-md5sum.c: (event_loop):
15957         GstBusHandler -> GstBusFunc, return value has the same meaning as
15958         any other GSource (FALSE == remove source).
15959         _add_watch() and _add_watch_full() now take a MessageType mask to
15960         only handle specific types of messages.
15961         _poll() returns the GstMessage instead of the message type to avoid
15962         race conditions.
15963         _have_pending() takes a MessageType mask now too.
15964         Added testsuite for multiple bus watches.
15965         Fix testsuites and applications for new bus API.
15966
15967 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15968
15969         * check/Makefile.am:
15970           mark a bunch of the tests as to fix until we fix them
15971
15972 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
15973
15974         * common/check.mak:
15975           use GST_PLUGIN settings for valgrind tests as well, so we're
15976           valgrinding the correct thing
15977         * gst/gst.c: (init_post):
15978           plug another leak
15979
15980 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
15981
15982         * gst/gst.c: (init_post), (gst_deinit):
15983         * gst/gstelementfactory.c: (gst_element_factory_class_init),
15984         (gst_element_factory_finalize), (gst_element_factory_cleanup):
15985         * gst/gstindex.c: (gst_index_factory_class_init),
15986         (gst_index_factory_finalize):
15987         * gst/gstobject.c: (gst_object_dispose):
15988         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
15989         (gst_plugin_load_file), (gst_plugin_desc_free):
15990         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
15991         (gst_plugin_feature_finalize):
15992         * gst/gstregistry.c: (gst_registry_class_init),
15993         (gst_registry_init), (gst_registry_finalize),
15994         (gst_registry_get_default), (gst_registry_deinit):
15995         * gst/gstregistry.h:
15996         * gst/gstregistryxml.c: (load_feature), (load_plugin):
15997           various cleanups and memleak plugging.  make valgrind is happy now.
15998
15999 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
16000
16001         * common/check.mak:
16002           add a check-valgrind target
16003
16004 2005-09-18  David Schleef  <ds@schleef.org>
16005
16006         * tools/gst-inspect.c: Revert the GOption code.
16007
16008 2005-09-17  David Schleef  <ds@schleef.org>
16009
16010         * check/Makefile.am: Fix environment variables.
16011         * check/gst/gstplugin.c: Fix for API changes.
16012         * tools/gst-inspect.c: Fix for API changes.
16013         * tools/gst-xmlinspect.c: Fix for API changes.
16014         * gst/gstelementfactory.c:
16015         * gst/gstplugin.c:
16016         * gst/gstplugin.h:
16017         * gst/gstpluginfeature.c:
16018         * gst/gstpluginfeature.h:
16019         * gst/gstregistry.c:
16020         * gst/gstregistry.h:
16021         * gst/gstregistryxml.c:
16022         * gst/gsttypefind.c:
16023         * gst/gsttypefindfactory.c:
16024         * gst/indexers/gstfileindex.c:
16025         * gst/indexers/gstmemindex.c:
16026         * gst/schedulers/Makefile.am:
16027           Change registry to keep track of both plugins and features,
16028           removing the feature tracking from plugins themselves.
16029
16030 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16031
16032         * check/Makefile.am:
16033         * tools/gst-register.1.in:
16034           remove gst-register
16035
16036 2005-09-15  David Schleef  <ds@schleef.org>
16037
16038         * check/gst/gstplugin.c:
16039         * gst/gstelementfactory.c:
16040         * gst/gstplugin.c:
16041         * gst/gstpluginfeature.c:
16042         * gst/gstregistry.c:
16043           Getting tired of debugging.  Disabled all the unreffing of
16044           plugins and features, which fixes the segfaults, but of
16045           course leaks like crazy.  At least playbin works.
16046
16047 2005-09-15  David Schleef  <ds@schleef.org>
16048
16049         * check/gst/gstplugin.c: (register_check_elements),
16050         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
16051         More testing
16052         * gst/elements/gsttypefindelement.c: Fix refcounting.
16053         * gst/gsttypefind.c:
16054         * gst/gsttypefindfactory.c:
16055         * gst/gsttypefindfactory.h:
16056
16057 2005-09-15  David Schleef  <ds@schleef.org>
16058
16059         * gst/gstindex.c: get refcounting correct.
16060         * gst/gstregistry.c: Handle the case where a feature/plugin is
16061           not found.
16062
16063 2005-09-15  David Schleef  <ds@schleef.org>
16064
16065         * check/Makefile.am:
16066         * check/gst/gstplugin.c: Add test
16067         * gst/gstplugin.c: Fix problems noticed by testsuite
16068         * gst/gstplugin.h:
16069         * gst/gstregistry.c: 
16070         * gst/gstregistry.h:
16071
16072 2005-09-15  David Schleef  <ds@schleef.org>
16073
16074         * gst/gstplugin.c: Implement semi-decent recounting and locking
16075           in plugins and plugin features.
16076         * gst/gstplugin.h:
16077         * gst/gstpluginfeature.c:
16078         * gst/gstpluginfeature.h:
16079         * gst/gstregistry.c:
16080
16081 2005-09-15  Michael Smith <msmith@fluendo.com>
16082
16083         * gst/gstregistry.c: (gst_registry_get_feature_list):
16084           Implement this. Makes oggdemux work; decodebin still broken.
16085
16086 2005-09-14  David Schleef  <ds@schleef.org>
16087
16088         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
16089           #316076)
16090         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
16091         * gst/check/Makefile.am:
16092         * libs/gst/controller/Makefile.am:
16093         * libs/gst/dataprotocol/Makefile.am:
16094
16095 2005-09-14  David Schleef  <ds@schleef.org>
16096
16097         * configure.ac: Remove getbits library.  Nothing uses it, and
16098           it should be in something like liboil if someone did want
16099           to use it.
16100         * libs/gst/Makefile.am:
16101         * libs/gst/getbits/Makefile.am:
16102         * libs/gst/getbits/gbtest.c:
16103         * libs/gst/getbits/getbits.c:
16104         * libs/gst/getbits/getbits.h:
16105         * libs/gst/getbits/gstgetbits_generic.c:
16106         * libs/gst/getbits/gstgetbits_i386.s:
16107         * libs/gst/getbits/gstgetbits_inl.h:
16108
16109 2005-09-14  David Schleef  <ds@schleef.org>
16110
16111         * gst/Makefile.am: Dist glib-compat.h
16112
16113 2005-09-14  David Schleef  <ds@schleef.org>
16114
16115         * configure.ac: Remove gst/registries, since it's no longer used.
16116         * gst/registries/Makefile.am:
16117         * gst/registries/gstlibxmlregistry.c:
16118         * gst/registries/gstlibxmlregistry.h:
16119         * gst/registries/gstxmlregistry.c:
16120         * gst/registries/gstxmlregistry.h:
16121         * gst/registries/registrytest.c:
16122
16123 2005-09-14  David Schleef  <ds@schleef.org>
16124
16125         * gst/glib-compat.h:
16126         * gst/gstregistryxml.c:
16127           Convergence is near.  Seriously.
16128
16129 2005-09-14  David Schleef  <ds@schleef.org>
16130
16131         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
16132         * gst/glib-compat.h:
16133           Attempt #4 to appease the buildbots.
16134
16135 2005-09-14  David Schleef  <ds@schleef.org>
16136
16137         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
16138           Attempt #3.
16139
16140 2005-09-14  David Schleef  <ds@schleef.org>
16141
16142         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
16143         Attempt #2.
16144
16145 2005-09-14  David Schleef  <ds@schleef.org>
16146
16147         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
16148           the new functions.
16149
16150 2005-09-14  David Schleef  <ds@schleef.org>
16151
16152         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
16153         * gst/glib-compat.h: Add some functions that are in newer versions
16154           of glib than we care to require.
16155         * gst/gstregistryxml.c: Use them.
16156
16157 2005-09-14  David Schleef  <ds@schleef.org>
16158
16159         * po/POTFILES.in: remove gst-register.c
16160
16161 2005-09-14  David Schleef  <ds@schleef.org>
16162
16163         * docs/gst/gstreamer-docs.sgml:
16164         * docs/gst/gstreamer-sections.txt:
16165         * docs/gst/gstreamer.types:
16166         * docs/gst/tmpl/gstelement.sgml:
16167         * docs/gst/tmpl/gstplugin.sgml:
16168         * docs/gst/tmpl/gstpluginfeature.sgml:
16169           Documentation updates for registry changes.
16170
16171 2005-09-14  David Schleef  <ds@schleef.org>
16172
16173         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
16174           because we don't require glib-2.8.
16175
16176 2005-09-14  David Schleef  <ds@schleef.org>
16177
16178         * gst/gstregistryxml.c: Added.  Essentially moved out of the
16179           registries directory.
16180
16181 2005-09-14  David Schleef  <ds@schleef.org>
16182
16183         * check/Makefile.am:
16184         * check/generic/states.c:
16185         * gst/Makefile.am:
16186         * gst/gst.c:
16187         * gst/gst.h:
16188         * gst/gst_private.h:
16189         * gst/gstelementfactory.c:
16190         * gst/gstindex.c:
16191         * gst/gstinfo.c:
16192         * gst/gstplugin.c:
16193         * gst/gstplugin.h:
16194         * gst/gstpluginfeature.c:
16195         * gst/gstpluginfeature.h:
16196         * gst/gstregistry.c:
16197         * gst/gstregistry.h:
16198         * gst/gstregistrypool.c: remove
16199         * gst/gstregistrypool.h: remove
16200         * gst/gsttypefind.c:
16201         * gst/gsttypefindfactory.c:
16202         * gst/gsturi.c:
16203         * tools/Makefile.am:
16204         * tools/gst-compprep.c:
16205         * tools/gst-inspect.c:
16206         * tools/gst-register.c: remove
16207         * tools/gst-xmlinspect.c:
16208           Registry rewrite.  Changes registry from being a file created
16209           by a tool into a simple cache file created automatically by 
16210           libgstreamer.  Removed gst-register (because it's no longer
16211           needed).  Remove registry pools, because we only have one
16212           registry implementation (XML).  Fix up other subsystems as
16213           necessary.
16214
16215 2005-09-13  Michael Smith <msmith@fluendo.com>
16216
16217         * gst/gstconfig.h.in:
16218           Don't Use windows linking attributes for MinGW. Fixes #316157
16219
16220 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
16221
16222         * gst/gstutils.c: (set_state_async_thread_func),
16223         (gst_element_set_state_async):
16224           Apparently people think it's better if this function doesn't
16225           try to set the state to whatever state was asked for on the first
16226           call to this function for any object.  Seriously.
16227
16228 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16229
16230         * check/gst/gstpipeline.c: (GST_START_TEST):
16231         * docs/gst/gstreamer-sections.txt:
16232         * gst/gstutils.c: (set_state_async_thread_func),
16233         (gst_element_set_state_async):
16234         * gst/gstutils.h:
16235           add a "gst_element_set_state_async" method that
16236           sets the state and starts a thread to make sure the state
16237           change completes as best as it can
16238
16239 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16240
16241         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
16242           codify design+behaviour in testsuite after discussion
16243
16244 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16245
16246         * docs/gst/tmpl/gstelement.sgml:
16247         * docs/manual/appendix-quotes.xml:
16248           add a quote
16249         * gst/gstelement.c: (gst_element_set_state):
16250           add some debug
16251
16252 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
16253
16254         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
16255         (gst_base_transform_prepare_output_buf),
16256         (gst_base_transform_handle_buffer):
16257         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
16258         (gst_capsfilter_prepare_buf):
16259           Remove the requirement for sub-classes to call the parent
16260           implementation of prepare_output_buffer with a wrapper function.
16261           
16262         * gst/gsttaglist.h:
16263         * gst/gsttagsetter.h:
16264           Fix #define wrapper
16265
16266 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
16267
16268         * docs/gst/gstreamer-sections.txt:
16269           more doc cleanups
16270
16271 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16272
16273         * docs/gst/gstreamer-sections.txt:
16274         * docs/gst/tmpl/gstelement.sgml:
16275         * docs/gst/tmpl/gstplugin.sgml:
16276         * gst/gstminiobject.c:
16277         * gst/gstvalue.h:
16278           docs now stop throwing warnings
16279
16280 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16281
16282         * docs/gst/gstreamer-sections.txt:
16283         * docs/gst/gstreamer.types:
16284         * docs/gst/tmpl/gstpad.sgml:
16285         * docs/gst/tmpl/gsttypes.sgml:
16286         * gst/base/gstadapter.h:
16287         * gst/base/gstbasesink.h:
16288         * gst/base/gstbasesrc.h:
16289         * gst/gstbin.h:
16290         * gst/gstbuffer.h:
16291         * gst/gstbus.h:
16292         * gst/gstcaps.h:
16293         * gst/gstclock.h:
16294         * gst/gstelement.h:
16295         * gst/gstevent.h:
16296         * gst/gstmessage.h:
16297         * gst/gstpad.h:
16298         * gst/gststructure.c:
16299         * gst/registries/gstlibxmlregistry.h:
16300           various documentation fixes
16301
16302 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16303
16304         * docs/gst/gstreamer-sections.txt:
16305         * docs/gst/tmpl/gstvalue.sgml:
16306           rearrange gstvalue section
16307         * gst/gstutils.c: (gst_element_state_get_name):
16308           NONE -> VOID
16309         * gst/gstvalue.c: (_gst_value_initialize):
16310         * gst/gstvalue.h:
16311           doc updates
16312
16313 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
16314
16315         * check/gst-libs/controller.c:
16316           Header include fix.
16317         * gst/base/gstbasetransform.c:
16318         (gst_base_transform_default_prepare_buf),
16319         (gst_base_transform_handle_buffer):
16320         * gst/base/gstbasetransform.h:
16321           Some more basetransform changes and fixes to enable sub-classes
16322           that modify buffer metadata only.
16323         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
16324         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
16325         (gst_capsfilter_prepare_buf):
16326           If the output pad has fixed allowed caps and input buffers 
16327           don't have any, set the fixed caps on outgoing buffers.
16328
16329 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
16330         * check/elements/identity.c: (GST_START_TEST):
16331           Make the error a little clearer when the test fails because
16332           identity made a copy of the buffer.
16333         * docs/gst/gstreamer-sections.txt:
16334           New symbols in gstbasetransform.h
16335         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
16336         (gst_base_transform_init), (gst_base_transform_transform_size),
16337         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
16338         (gst_base_transform_default_prepare_buf),
16339         (gst_base_transform_get_unit_size),
16340         (gst_base_transform_buffer_alloc),
16341         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
16342         (gst_base_transform_change_state),
16343         (gst_base_transform_set_passthrough),
16344         (gst_base_transform_set_in_place),
16345         (gst_base_transform_is_in_place):
16346         * gst/base/gstbasetransform.h:
16347           Change BaseTransform to separate in_place operate from same_caps
16348           output. in_place implies that the element can perform the transform
16349           on incoming buffers in-place, even if the caps on the output are
16350           different.
16351           Sub-class elements can now implement special buffer allocation
16352           methods for outgoing buffers if they wish to.
16353           Big documentation addition.
16354         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
16355         * gst/elements/gstelements.c:
16356           Changes for basetransform modifications.
16357         * gst/elements/Makefile.am:
16358         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
16359           Compile fix. Extra debug output.
16360
16361 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16362
16363         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
16364         (gst_pad_suite):
16365           add tests for valid pad naming
16366         * gst/check/gstcheck.c: (gst_check_log_message_func),
16367         (gst_check_log_critical_func):
16368           add ASSERT_WARNING
16369           remove printing of code, it is fragile when the code contains
16370           % and the line number is enough info
16371         * gst/check/gstcheck.h:
16372         * gst/gstpad.c: (gst_pad_template_new):
16373           fix memleaks
16374
16375 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16376
16377         * configure.ac:
16378           say what CHECK flags we use
16379         * docs/libs/gstreamer-libs.types:
16380         * libs/gst/controller/Makefile.am:
16381         * libs/gst/controller/gst-controller.c:
16382         * libs/gst/controller/gst-controller.h:
16383         * libs/gst/controller/gst-helper.c:
16384         * libs/gst/controller/gst-interpolation.c:
16385         * libs/gst/controller/gstcontroller.c:
16386         * libs/gst/controller/gsthelper.c:
16387         * libs/gst/controller/gstinterpolation.c:
16388         * tools/gst-inspect.c: (print_plugin_info):
16389           we don't use dashes in header names
16390
16391 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16392
16393         * check/Makefile.am:
16394         * check/gst/.cvsignore:
16395         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
16396         (gst_pipeline_suite), (main):
16397           adding a test for pipelines and state changes
16398         * gst/gstutils.c: (get_state_func):
16399           add some debugging
16400         * gstreamer.spec.in:
16401           fix up spec file
16402
16403 2005-09-08  Michael Smith <msmith@fluendo.com>
16404
16405         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
16406         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
16407         (gst_file_src_is_seekable), (gst_file_src_get_size),
16408         (gst_file_src_start):
16409         * gst/elements/gstfilesrc.h:
16410           Various fixes for unseekable, unmmapable, and non-normal files, so
16411           that fallback to read() rather than mmap() works.
16412         * gst/gstevent.c: (gst_event_new_newsegment):
16413           Allow newsegment events with segment_start == segment_end, as will
16414           correctly happen if you use filesrc on a zero-size file, for
16415           example.
16416
16417 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
16418
16419         * gst/gstplugin.c: (gst_plugin_load_file):
16420           Call g_module_close when we don't load the module
16421
16422         * gst/registries/gstlibxmlregistry.c:
16423         (gst_xml_registry_get_property):
16424           Port leak fix from 0.8
16425
16426 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
16427
16428         * docs/gst/gstreamer-docs.sgml:
16429         * docs/gst/tmpl/.cvsignore:
16430         * docs/gst/tmpl/gsttrace.sgml:
16431         * docs/gst/tmpl/gsttrashstack.sgml:
16432         * gst/Makefile.am:
16433         * gst/gst.h:
16434         * gst/gstelement.h:
16435         * gst/gstevent.h:
16436         * gst/gstmessage.c:
16437         * gst/gstmessage.h:
16438         * gst/gsttag.c:
16439         * gst/gsttag.h:
16440         * gst/gsttaginterface.c:
16441         * gst/gsttaginterface.h:
16442         * gst/gsttaglist.c:
16443         * gst/gsttaglist.h:
16444         * gst/gsttagsetter.c:
16445         * gst/gsttagsetter.h:
16446         * gst/gsttrace.c:
16447         * gst/gsttrace.h:
16448         * gst/gsttrashstack.c:
16449           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
16450           inlined docs for gsttrace, gsttrashstack
16451
16452 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
16453
16454         * gst/Makefile.am:
16455         * gst/elements/gstbufferstore.h:
16456         * gst/elements/gsttypefindelement.c:
16457         * gst/elements/gsttypefindelement.h:
16458         * gst/gst.h:
16459         * gst/gsttypefind.c:
16460         * gst/gsttypefind.h:
16461         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
16462         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
16463         (gst_type_find_factory_dispose),
16464         (gst_type_find_factory_unload_thyself),
16465         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
16466         (gst_type_find_factory_get_caps),
16467         (gst_type_find_factory_get_extensions),
16468         (gst_type_find_factory_call_function):
16469         * gst/gsttypefindfactory.h:
16470         * gst/registries/gstlibxmlregistry.c:
16471         * gst/registries/gstxmlregistry.c:
16472           splitted gsttypefind into gsttypefind, gsttypefindfactory
16473
16474 2005-09-07  Andy Wingo  <wingo@pobox.com>
16475
16476         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
16477         condition whereby the pad's task function is entered before the
16478         pad_mode variable was set.
16479
16480 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
16481
16482         * gst/gstpad.c: (gst_pad_alloc_buffer):
16483           Catch misbehaving pad_alloc functions that don't
16484           set up caps and do it for them.
16485
16486 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
16487
16488         * check/pipelines/simple_launch_lines.c: (run_pipeline):
16489           test for pipe!=NULL
16490         * docs/gst/tmpl/.cvsignore:
16491         * docs/gst/tmpl/gstmemchunk.sgml:
16492         * docs/gst/tmpl/gstparse.sgml:
16493         * docs/gst/tmpl/gsttaglist.sgml:
16494         * docs/gst/tmpl/gsttagsetter.sgml:
16495         * docs/gst/tmpl/gsttypefind.sgml:
16496         * docs/gst/tmpl/gsttypefindfactory.sgml:
16497         * gst/gstmemchunk.c:
16498         * gst/gstparse.c:
16499         * gst/gsttag.c:
16500         * gst/gsttaginterface.c:
16501         * gst/gsttypefind.c:
16502         * gst/gsttypefind.h:
16503           inlined more docs
16504
16505 === release 0.9.2 ===
16506
16507 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
16508
16509         * NEWS:
16510         * RELEASE:
16511         * configure.ac:
16512           releasing 0.9.2, "South"
16513
16514 2005-09-05  Andy Wingo  <wingo@pobox.com>
16515
16516         * gst/registries/gstxmlregistry.h:
16517         * gst/registries/gstxmlregistry.c: Um... resurrect...
16518         
16519         * gst/registries/gstxmlregistry.h:
16520         * gst/registries/gstxmlregistry.c: and update to newer API.
16521         Incidentally they should be a bit faster now that they don't have
16522         to parse the caps.
16523         
16524 2005-09-05  Andy Wingo  <wingo@pobox.com>
16525
16526         * gst/registries/gstxmlregistry.h:
16527         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
16528         replaced by the libxml registry a while back
16529
16530 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
16531
16532         * docs/gst/tmpl/gstplugin.sgml:
16533         * gst/elements/gstelements.c:
16534         * gst/gst.c:
16535         * gst/gstplugin.c: (gst_plugin_register_func),
16536         (gst_plugin_desc_copy), (gst_plugin_desc_free),
16537         (gst_plugin_get_source):
16538         * gst/gstplugin.h:
16539         * gst/registries/gstlibxmlregistry.c: (load_plugin),
16540         (gst_xml_registry_save_plugin):
16541         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
16542         (gst_xml_registry_save_plugin):
16543         * tools/gst-inspect.c: (print_plugin_info):
16544           add a "source" plugin description field, to represent the source
16545           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
16546           will set it to PACKAGE, which is automake's idea of the name of
16547           the source project.
16548
16549 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
16550
16551         * Makefile.am:
16552         * autogen.sh:
16553         * configure.ac:
16554         * docs/Makefile.am:
16555         * docs/faq/Makefile.am:
16556         * docs/gst/tmpl/gstelement.sgml:
16557         * docs/gst/tmpl/gsttypes.sgml:
16558         * docs/htmlinstall.mak:
16559         * docs/manual/Makefile.am:
16560         * docs/pwg/Makefile.am:
16561           reorganize doc build a little
16562           split out docbook and gtk-doc stuff
16563           have two separate --enable's and enable them through autogen
16564           but disable by default in configure (to be similar to other
16565           projects)
16566         * gstreamer.spec.in:
16567           clean up docs install
16568         * po/af.po:
16569         * po/az.po:
16570         * po/ca.po:
16571         * po/cs.po:
16572         * po/de.po:
16573         * po/en_GB.po:
16574         * po/fr.po:
16575         * po/it.po:
16576         * po/nb.po:
16577         * po/nl.po:
16578         * po/ru.po:
16579         * po/sq.po:
16580         * po/sr.po:
16581         * po/sv.po:
16582         * po/tr.po:
16583         * po/uk.po:
16584         * po/vi.po:
16585           translation updates
16586
16587 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
16588
16589         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
16590           Add comment.
16591           
16592         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
16593         (gst_fake_sink_change_state):
16594           Make state change function thread-safe.
16595           
16596         * gst/gstpad.c: (gst_pad_alloc_buffer):
16597           Set offset on generic buffer allocated by fallback.
16598
16599 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
16600
16601         * docs/gst/gstreamer-sections.txt:
16602         * docs/gst/tmpl/gstelement.sgml:
16603         * gst/gstpad.c:
16604         * libs/gst/controller/gst-controller.c:
16605         (gst_controlled_property_set_interpolation_mode),
16606         (gst_controlled_property_new),
16607         (gst_controller_find_controlled_property):
16608          run the wingo-magic script against the docs
16609
16610 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
16611
16612         * docs/gst/gstreamer-docs.sgml:
16613         * docs/gst/gstreamer-sections.txt:
16614         * docs/gst/tmpl/.cvsignore:
16615         * docs/gst/tmpl/gstelementdetails.sgml:
16616         * docs/gst/tmpl/gstelementfactory.sgml:
16617         * gst/gst.c:
16618         * gst/gstbus.c:
16619         * gst/gstelementfactory.c:
16620         * gst/gstelementfactory.h:
16621           merged elementdetails docs into elementfactory docs
16622           inlined both
16623
16624 2005-09-02  Andy Wingo  <wingo@pobox.com>
16625
16626         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
16627         consider this enum an enum and not a flags.
16628
16629 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
16630
16631         * docs/gst/gstreamer-docs.sgml:
16632         * docs/gst/tmpl/.cvsignore:
16633         * docs/gst/tmpl/gstghostpad.sgml:
16634         * docs/gst/tmpl/gstiterator.sgml:
16635         * docs/gst/tmpl/gstmacros.sgml:
16636         * docs/gst/tmpl/gstrealpad.sgml:
16637         * docs/gst/tmpl/gstregistry.sgml:
16638         * docs/gst/tmpl/gstregistrypool.sgml:
16639         * docs/gst/tmpl/gststructure.sgml:
16640         * docs/gst/tmpl/gstsystemclock.sgml:
16641         * docs/gst/tmpl/gsttrace.sgml:
16642         * gst/gstghostpad.c:
16643         * gst/gstmacros.h:
16644         * gst/gstmemchunk.c:
16645         * gst/gstmemchunk.h:
16646         * gst/gstqueue.c:
16647         * gst/gstregistry.c:
16648         * gst/gstregistrypool.c:
16649         * gst/gststructure.c:
16650         * gst/gstsystemclock.c:
16651           more docs inlined
16652
16653 2005-09-02  Andy Wingo  <wingo@pobox.com>
16654
16655         * gst/gstelement.h (GstState): Renamed from GstElementState,
16656         changed to be a normal enum instead of flags.
16657         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
16658         munged to be GST_STATE_CHANGE_*.
16659         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
16660         work with the new state representation.
16661         (GstStateChange): New enumeration of possible state transitions.
16662         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
16663         (GstElementClass::change_state): Pass the GstStateChange along as
16664         an argument. Helps language bindings, so they don't have to use
16665         tricky lock-needing macros like GST_STATE_CHANGE ().
16666
16667         * scripts/update-states (file): New script. Run it on a file to
16668         update it for state naming and API changes. Updates files in
16669         place.
16670
16671         * All files updated for the new API.
16672
16673 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16674
16675         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
16676         * gst/gstutils.c: (gst_util_set_value_from_string),
16677         (gst_util_set_object_arg):
16678           fix a bunch of unchecked return values
16679         * tools/gst-complete.c: (main):
16680         * gstreamer.spec.in:
16681           clean up a little
16682
16683 2005-09-01  Wim Taymans  <wim@fluendo.com>
16684
16685         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16686         (gst_base_sink_event), (gst_base_sink_do_sync),
16687         (gst_base_sink_handle_event):
16688         * gst/base/gstbasesink.h:
16689         Handle newsegments more correctly.
16690
16691         * gst/gstbus.c:
16692         Fix docs.
16693
16694         * gst/gstevent.c: (gst_event_new_newsegment):
16695         A newsegment cannot have a start_time of -1
16696
16697 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
16698
16699         * win32/gstenumtypes.c:
16700         * win32/gstenumtypes.h:
16701           Update
16702
16703 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
16704
16705         * libs/gst/controller/gst-controller.c:
16706         (gst_controlled_property_set_interpolation_mode),
16707         (gst_controlled_property_new):
16708          fixed boolean again
16709
16710 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
16711
16712         * docs/faq/gst-uninstalled:
16713           add -good
16714         * gst/gstevent.c:
16715         * gst/gstevent.h:
16716           remove wrong docs
16717         * gst/gstutils.c: (gst_element_link_filtered):
16718         * gst/gstutils.h:
16719           add gst_element_link_filtered
16720
16721 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
16722
16723         * docs/gst/gstreamer-docs.sgml:
16724         * docs/gst/gstreamer-sections.txt:
16725         * docs/gst/tmpl/.cvsignore:
16726         * docs/gst/tmpl/gsterror.sgml:
16727         * docs/gst/tmpl/gstfilter.sgml:
16728         * docs/gst/tmpl/gsturihandler.sgml:
16729         * docs/gst/tmpl/gsturitype.sgml:
16730         * docs/gst/tmpl/gstutils.sgml:
16731         * docs/gst/tmpl/gstxml.sgml:
16732         * gst/gsterror.c:
16733         * gst/gsterror.h:
16734         * gst/gstfilter.c:
16735         * gst/gsturi.c:
16736         * gst/gsturitype.c:
16737         * gst/gstutils.c:
16738         * gst/gstxml.c:
16739           inlined more docs, fixed double id-ref
16740
16741 2005-08-31  Wim Taymans  <wim@fluendo.com>
16742
16743         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
16744         (gst_base_transform_handle_buffer):
16745         Passthrough elements don't need the caps as they don't care.
16746
16747 2005-08-31  Wim Taymans  <wim@fluendo.com>
16748
16749         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
16750         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
16751         Don't leak refcounts on buffers.
16752
16753 2005-08-31  Wim Taymans  <wim@fluendo.com>
16754
16755         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
16756         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
16757         (gst_base_transform_chain), (gst_base_transform_change_state):
16758         * gst/base/gstbasetransform.h:
16759         Handle the case where we are not negotiated more gracefully.
16760
16761 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
16762
16763         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
16764         (gst_file_src_map_region):
16765           Set READONLY flag on mmap'ed buffers, otherwise
16766           gst_buffer_make_writable() won't work properly (#314708).
16767
16768 2005-08-31  Wim Taymans  <wim@fluendo.com>
16769
16770         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
16771         passthrough elements can even do inplace on non writable
16772         buffers (as they don't touch them).
16773
16774 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
16775
16776         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
16777         (gst_test_mono_source_set_property),
16778         (gst_test_mono_source_class_init), (GST_START_TEST),
16779         (gst_controller_suite):
16780           more tests (hehe I have the most)
16781         * gst/gstbus.c:
16782           describe popping messages whenusing mulltiple sources
16783         * libs/gst/controller/gst-controller.c:
16784         (gst_controlled_property_set_interpolation_mode),
16785         (gst_controlled_property_new):
16786         * libs/gst/controller/gst-controller.h:
16787         * libs/gst/controller/gst-interpolation.c:
16788           implement boolean properties
16789
16790 2005-08-31  Wim Taymans  <wim@fluendo.com>
16791
16792         * gst/gstminiobject.c: (gst_mini_object_ref):
16793         Cannot assert that the refcount has to be positive
16794         since a disposed object can be resurrected.
16795
16796 2005-08-31  Wim Taymans  <wim@fluendo.com>
16797
16798         * gst/gstpad.c: (gst_pad_init):
16799         Revert change, need to first fix badly behaving 
16800         apps.
16801
16802 2005-08-30  Wim Taymans  <wim@fluendo.com>
16803
16804         * check/elements/fakesrc.c: (setup_fakesrc):
16805         * check/elements/identity.c: (setup_identity):
16806         Activate pads before using them.
16807
16808 2005-08-30  Wim Taymans  <wim@fluendo.com>
16809
16810         * gst/base/gstadapter.c: (gst_adapter_flush):
16811         Flushing out 0 bytes is ok for this function.
16812
16813         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16814         no newsegment gives a warning and sets the start/stop to 
16815         invalid.
16816
16817         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
16818         (gst_base_transform_set_passthrough):
16819         Some debug info.
16820
16821         * gst/gstminiobject.c: (gst_mini_object_ref):
16822         Check refcount here too.
16823
16824         * gst/gstpad.c: (gst_pad_init):
16825         Pads are initially flushing and refusing data.
16826
16827         * gst/gstutils.c: (gst_element_link_pads_filtered):
16828         When adding a capsfilter element make sure it has the
16829         same state as the parent bin.
16830
16831 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
16832
16833         * docs/gst/tmpl/.cvsignore:
16834         * docs/gst/tmpl/gstformat.sgml:
16835         * docs/gst/tmpl/gstversion.sgml:
16836         * gst/gstbus.h:
16837         * gst/gstformat.c:
16838         * gst/gstformat.h:
16839         * gst/gstversion.h.in:
16840           more docs and two more inlined
16841
16842 2005-08-30  Wim Taymans  <wim@fluendo.com>
16843
16844         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
16845         Don't sync to clock.
16846
16847 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
16848
16849         * docs/gst/gstreamer-sections.txt:
16850           ultral33t func10ns deserve to appear in the docs actually
16851         * docs/gst/tmpl/.cvsignore:
16852         * docs/gst/tmpl/gstcompat.sgml:
16853         * docs/gst/tmpl/gstconfig.sgml:
16854         * gst/check/gstcheck.c:
16855         * gst/gstcompat.h:
16856         * gst/gstconfig.h.in:
16857           inlined more docs
16858
16859 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
16860
16861         * docs/gst/tmpl/.cvsignore:
16862         * docs/gst/tmpl/gstquery.sgml:
16863         * docs/gst/tmpl/gstutils.sgml:
16864         * gst/gstquery.c:
16865         * gst/gstquery.h:
16866           inlined and extended docs
16867
16868 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
16869
16870         * check/gst-libs/controller.c: (GST_START_TEST),
16871         (gst_controller_suite):
16872           more tests
16873         * docs/gst/tmpl/gstutils.sgml:
16874         * docs/libs/gstreamer-libs-sections.txt:
16875         * docs/libs/tmpl/gstdataprotocol.sgml:
16876           include path fixes
16877         * examples/controller/audio-example.c: (main):
16878           controller example works now
16879         * gst/gstclock.h:
16880           doc fixes
16881         * tools/gst-inspect.c: (print_element_properties_info):
16882           show param spec flags
16883
16884 2005-08-29  Andy Wingo  <wingo@pobox.com>
16885
16886         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
16887
16888 2005-08-28  Andy Wingo  <wingo@pobox.com>
16889
16890         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
16891         as having two arguments instead of just one. Allows superclasses
16892         to access information on subclasses -- see the terrible for() loop
16893         in gtype.c:g_type_create_instance for the reason why. All callers
16894         changed.
16895
16896 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
16897
16898         * docs/design/part-messages.txt:
16899           update info
16900         * docs/gst/tmpl/.cvsignore:
16901         * docs/gst/tmpl/gstcaps.sgml:
16902         * docs/gst/tmpl/gstclock.sgml:
16903         * gst/gstbus.c:
16904         * gst/gstcaps.c:
16905         * gst/gstcaps.h:
16906         * gst/gstclock.c:
16907         * gst/gstclock.h:
16908         * gst/gstmessage.c:
16909           added descriptions for bus and message
16910           inline caps and clock docs
16911
16912 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
16913
16914         * gst/gstmessage.c:
16915         * gst/gstmessage.h:
16916           doc fixes
16917
16918 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
16919
16920         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
16921           fix div-by-zero
16922
16923 2005-08-26  Andy Wingo  <wingo@pobox.com>
16924
16925         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
16926         element_set_state's return val.
16927         (test_2_elements): Add test that's been disabled for months.
16928
16929         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
16930         can-activate-pull properties.
16931
16932         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
16933         can-activate-pull properties. Implement is_seekable so fakesrc can
16934         operate in pull mode.
16935
16936         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
16937         properties.
16938         (gst_base_sink_activate, gst_base_sink_activate_pull)
16939         (gst_base_sink_activate_push): Make activation mode choosing work.
16940         Cleanups.
16941         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
16942         is right. Make pull mode work. Post an eos before pausing in pull
16943         mode.
16944         (gst_base_sink_change_state): Pay attention to the core's
16945         change_state() return val.
16946         
16947         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
16948         has-getrange properties. Cleanups.
16949         
16950         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
16951         has_getrange and replace with can_activate_pull and
16952         can_activate_push.
16953
16954         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
16955         locking comments. Remove has_loop, has_chain and replace with
16956         can_activate_pull and can_activate_push.
16957
16958 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
16959
16960         * configure.ac:
16961         * examples/Makefile.am:
16962         * examples/metadata/Makefile.am:
16963         * examples/metadata/read-metadata.c: (message_loop),
16964         (have_pad_handler), (make_pipeline), (print_tag), (main):
16965           Add metadata reading example that loops over a list of filenames,
16966           dumping any tags found.
16967
16968         * gst/gstbus.c: (gst_bus_dispose):
16969         * gst/gstelement.c: (gst_element_dispose):
16970           Release a few potentially-held references in dispose.
16971
16972 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
16973
16974         * docs/gst/tmpl/gstminiobject.sgml:
16975           do *not* add tmpl/*.sgml files to CVS!
16976
16977 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
16978
16979         * libs/gst/bytestream/.cvsignore:
16980         * libs/gst/bytestream/Makefile.am:
16981         * libs/gst/bytestream/adapter.c:
16982         * libs/gst/bytestream/adapter.h:
16983         * libs/gst/bytestream/bytestream.c:
16984         * libs/gst/bytestream/bytestream.h:
16985         * libs/gst/bytestream/filepad.c:
16986         * libs/gst/bytestream/filepad.h:
16987           removing obsolete files
16988
16989 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
16990
16991         * docs/gst/gstreamer-docs.sgml:
16992         * docs/libs/gstreamer-libs-docs.sgml:
16993           disabed additional index entries again, as this makes docs-gen just
16994           slow and they aren't useful yet
16995         * docs/libs/gstreamer-libs-sections.txt:
16996           little -section.txt cleanup for libs
16997
16998 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
16999
17000         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17001         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
17002           fix up some debugging
17003         (gst_base_transform_get_unit_size),
17004         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
17005         (gst_base_transform_handle_buffer):
17006         * gst/base/gstbasetransform.h:
17007           handle and store timed NEWSEGMENT events so that subclasses that
17008           calculate time by counting samples have a segment_start time they
17009           need to add to their timestamps - see audioresample
17010
17011 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
17012
17013         * gst/gstbin.h:
17014           removed ';' from the end of macro defs
17015         * docs/gst/gstreamer-docs.sgml:
17016         * docs/gst/gstreamer-sections.txt:
17017         * docs/gst/tmpl/.cvsignore:
17018         * gst/gstbus.h:
17019         * gst/gstelement.c: (gst_element_class_init),
17020         (gst_element_set_state), (activate_pads),
17021         (gst_element_save_thyself):
17022         * gst/gstevent.c: (gst_event_new_newsegment):
17023         * gst/gstevent.h:
17024         * gst/gstiterator.c:
17025         * gst/gstiterator.h:
17026         * gst/gstpad.c:
17027         * gst/gstprobe.h:
17028         * gst/gstutils.c: (gst_pad_query_convert):
17029         * gst/gstutils.h:
17030           fixed parameter name mismatches between source, header and docs
17031           added some more docs, resolved the last batch of unused elements in
17032           docs (now someone needs to doc them)
17033
17034 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
17035
17036         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
17037         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
17038           don't walk through the plugins backwards.  Where is all this
17039           reversed logic coming from ?
17040
17041 2005-08-25  Wim Taymans  <wim@fluendo.com>
17042
17043         * gst/base/gstbasetransform.c: (gst_base_transform_init),
17044         (gst_base_transform_transform_size),
17045         (gst_base_transform_configure_caps),
17046         (gst_base_transform_get_unit_size),
17047         (gst_base_transform_buffer_alloc),
17048         (gst_base_transform_change_state):
17049         * gst/base/gstbasetransform.h:
17050         Cache caps unit_size.
17051         Make sure we cannot negotiate up and downstream at the
17052         same time.
17053
17054 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
17055
17056         * gst/gst.c: (init_pre), (init_post):
17057           register the installed plugin path after the env var
17058         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
17059         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
17060           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
17061           directories, so the tests can prefer uninstalled over installed
17062
17063 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
17064
17065         * gst/base/gstbasetransform.h:
17066           comment
17067         * gst/gstpad.c:
17068           add to docs
17069
17070 2005-08-25  Wim Taymans  <wim@fluendo.com>
17071
17072         * gst/gstbin.c: (bin_bus_handler):
17073         Be a bit more conservative about the posted message.
17074         
17075         * gst/gstbus.c: (gst_bus_post):
17076         Some cleanups, warn wrong return values.
17077
17078 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
17079
17080         * check/gst/gstbin.c: (GST_START_TEST):
17081         * gst/gstbin.c: (bin_bus_handler):
17082         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
17083         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
17084         (gst_message_new_warning), (gst_message_new_tag),
17085         (gst_message_new_state_changed), (gst_message_new_segment_start),
17086         (gst_message_new_segment_done), (gst_message_new_custom):
17087         * gst/gstmessage.h:
17088         * tools/gst-launch.c: (event_loop):
17089         * tools/gst-md5sum.c: (event_loop):
17090           Revert unpopular change for GST_MESSAGE_SRC to GObject.
17091
17092 2005-08-25  Wim Taymans  <wim@fluendo.com>
17093
17094         * check/generic/states.c: (GST_START_TEST):
17095         Cleanup can be done at the end.
17096
17097         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
17098         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
17099         (gst_task_get_state), (gst_task_start), (gst_task_pause):
17100         Oh boy.. Thanks for finding this, Thomas. 
17101
17102 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
17103
17104         * docs/gst/gstreamer.types:
17105           added missing types
17106
17107 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
17108
17109         * docs/gst/gstreamer-docs.sgml:
17110         * docs/gst/gstreamer-sections.txt:
17111         * docs/gst/tmpl/.cvsignore:
17112         * gst/gstbin.c:
17113         * gst/gstiterator.c:
17114         * gst/gstutils.c:
17115         * gst/registries/gstxmlregistry.h:
17116           added missing classes and symbols (123 more to go)
17117           removed removed symbols from section file
17118           fixed many doc-comments
17119
17120 2005-08-24  Wim Taymans  <wim@fluendo.com>
17121
17122         * check/generic/states.c: (GST_START_TEST):
17123         Make sure all tasks are stopped.
17124
17125         * check/gst/gstbin.c: (GST_START_TEST):
17126         Unref after usage for proper valgrinding.
17127
17128         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
17129         Really wait for the task to stop before destroying the
17130         mutex.
17131
17132         * gst/gstqueue.c: (gst_queue_sink_activate_push),
17133         (gst_queue_src_activate_push):
17134         Small cleanups. Don't stop the task when we did not start
17135         it.
17136
17137         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
17138         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
17139         (gst_task_get_state), (gst_task_start), (gst_task_pause),
17140         (gst_task_join):
17141         * gst/gsttask.h:
17142         Protect the stream lock with the object lock.
17143         Disallow setting the stream lock when running.
17144         Add cleanup_all to wait for the threadpool to finish.
17145         Remove code to autoallocate a mutex if none was provided.
17146         Add _join() to wait for a task to stop.
17147         Protect the thread pool with a global lock.
17148
17149 2005-08-24  Wim Taymans  <wim@fluendo.com>
17150
17151         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17152         (gst_base_sink_get_times), (gst_base_sink_do_sync),
17153         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
17154         * gst/base/gstbasesink.h:
17155         Handle newsegment events correctly.
17156         Drop buffers out of the segment range.
17157
17158 2005-08-22  Andy Wingo  <wingo@pobox.com>
17159
17160         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
17161         macro, implements an interface and gstimplementsinterface for a
17162         new type.
17163
17164 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
17165
17166         * check/Makefile.am:
17167         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
17168           add a test that does a bunch of state changes on elements
17169           needs some fixing for valgrind
17170         * check/states/sinks.c: (gst_object_suite):
17171           whitespace
17172         * gst/gstcaps.h:
17173           add prototype for gst_caps_is_equal_fixed
17174         * gst/gstplugin.c:
17175         * gst/gstregistrypool.c:
17176           doc fixes
17177
17178 2005-08-24  Andy Wingo  <wingo@pobox.com>
17179
17180         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
17181         convert a negative value. Doesn't make much sense. Mostly this is
17182         here to force callers to ensure -1 maps to -1.
17183
17184 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
17185
17186         * docs/pwg/advanced-types.xml:
17187           Well done to Michael for catching my deliberate introduction
17188           of this spelling mistake. 
17189         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
17190         * gst/gstelement.h:
17191           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
17192           unlink pads before removing the element from the bin.
17193
17194 2005-08-24  Andy Wingo  <wingo@pobox.com>
17195
17196         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
17197         the same thing as GST_DEBUG=*:4.
17198         (parse_debug_level, parse_debug_category): New helper parsers.
17199
17200 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
17201
17202         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
17203         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
17204         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
17205         (gst_base_transform_buffer_alloc),
17206         (gst_base_transform_handle_buffer):
17207           use gboolean return values and pointers to size so we can use the
17208           full GST_BUFFER_SIZE range (guint) for buffer sizes
17209           use GstPadDirection for transform_caps
17210         * gst/base/gstbasetransform.h:
17211           rename get_size to get_unit_size since that's what it is
17212         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
17213           use GstPadDirection for transform_caps
17214         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
17215         * gst/gstutils.h:
17216           cleanup and debugging
17217
17218 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
17219
17220         * gst/gstelement.c: (gst_element_class_init),
17221         (gst_element_set_state), (activate_pads),
17222         (gst_element_save_thyself):
17223         * tools/gst-compprep.c: (main):
17224         * tools/gst-inspect.c: (print_element_properties_info):
17225         * tools/gst-xmlinspect.c: (print_element_properties):
17226           Fixed long standing mem-leak
17227
17228 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
17229
17230         * check/gst/gstbin.c: (GST_START_TEST):
17231         * gst/gstbin.c: (bin_bus_handler):
17232         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
17233         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
17234         (gst_message_new_warning), (gst_message_new_tag),
17235         (gst_message_new_state_changed), (gst_message_new_segment_start),
17236         (gst_message_new_segment_done), (gst_message_new_custom):
17237         * gst/gstmessage.h:
17238         * tools/gst-launch.c: (event_loop):
17239         * tools/gst-md5sum.c: (event_loop):
17240           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
17241           that applications can sensibly post custom messages with references
17242           to their own objects.
17243
17244 2005-08-24  Andy Wingo  <wingo@pobox.com>
17245
17246         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
17247         already.
17248
17249 2005-08-24  Wim Taymans  <wim@fluendo.com>
17250
17251         * gst/base/gstbasetransform.c: (gst_base_transform_init),
17252         (gst_base_transform_transform_caps),
17253         (gst_base_transform_transform_size),
17254         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
17255         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
17256         (gst_base_transform_handle_buffer):
17257         * gst/base/gstbasetransform.h:
17258         Many fixes and new features added by Thomas. Can now also do
17259         transforms with variable sizes and a custom fixate_caps function.
17260
17261 2005-08-24  Wim Taymans  <wim@fluendo.com>
17262
17263         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
17264         Some debugging.
17265
17266         * gst/gstclock.h:
17267         Cast to ClockTime before formatting to time.
17268
17269         * gst/gstutils.h:
17270         Cleanups.
17271
17272 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
17273
17274         * check/gst-libs/controller.c: (GST_START_TEST),
17275         (gst_controller_suite):
17276         * docs/gst/tmpl/gstcaps.sgml:
17277         * docs/gst/tmpl/gstghostpad.sgml:
17278         * docs/gst/tmpl/gstquery.sgml:
17279         * docs/gst/tmpl/gstutils.sgml:
17280         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
17281         (gst_object_sink_values), (gst_object_get_value_arrays),
17282         (gst_object_get_value_array):
17283           gracefully handle helper method calls to objects that are not beeing
17284           controlled, added test case for that          
17285
17286 2005-08-23  Wim Taymans  <wim@fluendo.com>
17287
17288         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
17289         (gst_event_new_newsegment), (gst_event_parse_newsegment),
17290         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
17291         (gst_event_parse_qos), (gst_event_new_seek),
17292         (gst_event_parse_seek):
17293         * gst/gstevent.h:
17294         Some more debugging output and doc cleanups.
17295
17296         * gst/gstqueue.c: (gst_queue_handle_sink_event):
17297         Fix possible deadlock.
17298
17299 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
17300
17301         * docs/gst/gstreamer-docs.sgml:
17302         * docs/gst/gstreamer-sections.txt:
17303         * docs/gst/gstreamer.types:
17304         * docs/gst/tmpl/.cvsignore:
17305         * gst/gstbin.h:
17306         * gst/gstbus.c:
17307         * gst/gstelement.c:
17308         * gst/gstevent.h:
17309           added 100 symbols from gstreamer-unused.txt to the right sections
17310           fixed more broken comments
17311           added GstBus to docs
17312
17313 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
17314
17315         * docs/gst/gstreamer-sections.txt:
17316         * docs/gst/tmpl/.cvsignore:
17317         * docs/gst/tmpl/gstbin.sgml:
17318         * docs/gst/tmpl/gstbuffer.sgml:
17319         * gst/base/gstbasesrc.c:
17320         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
17321         * gst/gstbuffer.c:
17322         * gst/gstbuffer.h:
17323         * tools/gst-launch.1.in:
17324           inlined more doc comments, added missing comments and fixed comments
17325           fixed typos
17326
17327 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
17328
17329         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
17330           some debugging
17331         * gst/gstcaps.h:
17332           whitespace fixes
17333         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
17334           more debugging
17335         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
17336         * gst/gststructure.h:
17337           add a fixate function for booleans; add a FIXME that these func
17338           names should probably be gst_structure_fixate_*
17339
17340 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
17341
17342         * docs/gst/gstreamer-docs.sgml:
17343         * docs/gst/gstreamer-sections.txt:
17344         * gst/Makefile.am:
17345         * gst/gstbin.c: (gst_bin_get_type),
17346         (gst_bin_child_proxy_get_child_by_index),
17347         (gst_bin_child_proxy_get_children_count),
17348         (gst_bin_child_proxy_init):
17349         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
17350         (gst_child_proxy_get_child_by_index),
17351         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
17352         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
17353         (gst_child_proxy_get), (gst_child_proxy_set_property),
17354         (gst_child_proxy_set_valist), (gst_child_proxy_set),
17355         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
17356         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
17357         * gst/gstchildproxy.h:
17358         * gst/parse/grammar.y:
17359         * tools/gst-inspect.c: (print_interfaces),
17360         (print_element_properties_info), (print_element_info):
17361           ported gstchildproxy over from 0.8
17362           ported gst-inspect fixes and enhancements over from 0.8
17363
17364 2005-08-22  Wim Taymans  <wim@fluendo.com>
17365
17366         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
17367         (gst_base_transform_handle_buffer):
17368         Also call the transform function if we have ANY caps.
17369
17370         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
17371         Fix debug info.
17372
17373 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
17374
17375         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
17376           Don't pretend to handle seek events if the source is not seekable
17377
17378 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
17379
17380         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17381           Remove extra parameter to debug output
17382
17383         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
17384         (gst_base_src_do_seek), (gst_base_src_activate_push):
17385           Fix seek event handling.
17386
17387         * gst/gstpipeline.c: (gst_pipeline_change_state):
17388         * gst/gstqueue.c: (gst_queue_handle_sink_event),
17389         (gst_queue_src_activate_push):
17390           Don't start the src pad task on FLUSH_STOP if the pad
17391           isn't linked.
17392           Debug changes.
17393
17394 2005-08-22  Wim Taymans  <wim@fluendo.com>
17395
17396         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
17397         Added check for gst_static_caps_get() refcounting.
17398
17399 2005-08-22  Wim Taymans  <wim@fluendo.com>
17400
17401         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
17402         Make _static_caps_get() refcounting sane.
17403         
17404         * gst/gstelement.c: (gst_element_set_state):
17405         Add g_return_val_if_fail() to protect against segfaults.
17406
17407 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
17408
17409         * docs/gst/tmpl/gstevent.sgml:
17410         * gst/gstevent.c:
17411         * gst/gstevent.h:
17412           inlined remaining docs, added missing doc comments
17413
17414 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
17415
17416         * check/gst/gstbin.c: (GST_START_TEST):
17417           since we don't know when preroll is done, use refcount range
17418           check for the sink
17419         * gst/check/gstcheck.h:
17420           add macro for checking refcount range
17421
17422 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
17423
17424         * check/Makefile.am:
17425           clean up environment for when registry gets built versus
17426           when actual tests are run; valgrind seems to not report
17427           leaks if GST_PLUGIN_PATH is set to some specific values
17428         * check/gst/gstbin.c: (GST_START_TEST):
17429           add more refcounting checks; maybe this exposes a
17430           preroll lock bug ?
17431         * common/check.mak:
17432         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17433         * gst/check/gstcheck.h:
17434         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
17435         (gst_bin_change_state):
17436         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
17437           add/fix debugging/whitespace
17438
17439 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
17440
17441         * check/gst/gstevent.c: (event_probe), (test_event),
17442         (GST_START_TEST):
17443          Er, don't call gst_bin_watch_for_state_change you idiot.
17444
17445 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
17446
17447         * check/Makefile.am:
17448           Use CHECK_CFLAGS and CHECK_LIBS
17449         * check/gst/gstevent.c: (event_probe), (test_event),
17450         (GST_START_TEST):
17451           Don't leak events.
17452         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
17453         (gst_base_src_start), (gst_base_src_stop),
17454         (gst_base_src_activate_push), (gst_base_src_activate_pull),
17455         (gst_base_src_change_state):
17456           Sprinkle gst_base_src_stop liberally around error paths to fix
17457           problems reusing a source after failed state changes.
17458         * gst/base/gsttypefindhelper.c: (helper_find_peek),
17459         (helper_find_suggest), (gst_type_find_helper):
17460           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
17461         * gst/gstevent.h:
17462         * docs/gst/tmpl/gstevent.sgml:
17463           Migrate part of the docs from the SGML file. Wait for ensonic to
17464           tell me how I did it wrong ;)
17465         * tools/gst-typefind.c: (main):
17466           Extra robustness to state changes between files.
17467
17468 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
17469
17470         * check/Makefile.am:
17471           don't valgrind the controller test - it's leaking - Stefan, HELP
17472         * gst/check/gstcheck.c: (gst_check_message_error),
17473         (gst_check_chain_func), (gst_check_setup_element),
17474         (gst_check_teardown_element), (gst_check_setup_src_pad),
17475         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
17476         (gst_check_teardown_sink_pad):
17477         * gst/check/gstcheck.h:
17478           add a bunch of methods to set up elements, and src and sink pads
17479         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
17480         * check/elements/identity.c: (setup_identity), (cleanup_identity),
17481         (GST_START_TEST):
17482           use them
17483         * gst/gstmessage.c:
17484         * gst/gsttag.h:
17485           whitespace/doc fixes
17486
17487 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17488
17489         * gst/gstelement.h:
17490           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
17491           be handled by the application and not always printed as well
17492
17493 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17494
17495         * check/Makefile.am:
17496           set GST_TOOLS_DIR
17497         * gst/check/gstcheck.c: (gst_check_message_error):
17498         * gst/check/gstcheck.h:
17499           add a fail_unless_equals_int
17500           add fail_unless for error messages
17501
17502 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17503
17504         * check/Makefile.am:
17505         * check/gst.supp:
17506         * common/Makefile.am:
17507         * common/check.mak:
17508         * common/gst.supp:
17509           factor out some of the common stuff so we can use it
17510
17511 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17512
17513         * check/Makefile.am:
17514         * check/gst/gstiterator.c: (GST_START_TEST):
17515         * check/gst/gstsystemclock.c: (GST_START_TEST),
17516         (gst_systemclock_suite):
17517         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
17518         * gst/gstclock.c:
17519           valgrind more tests
17520
17521 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17522
17523         * check/elements/.cvsignore:
17524         * check/elements/gstfakesrc.c:
17525           rename to name of element
17526         * check/elements/identity.c: (chain_func), (event_func),
17527         (setup_identity), (cleanup_identity), (GST_START_TEST),
17528         (identity_suite), (main):
17529           add a test for identity
17530         * check/Makefile.am:
17531         * pkgconfig/Makefile.am:
17532         * pkgconfig/gstreamer-check.pc.in:
17533         * pkgconfig/gstreamer-check-uninstalled.pc.in:
17534         * gst/check:
17535         * gst/Makefile.am:
17536         * configure.ac:
17537           move the check stuff to a library that gets installed
17538         * check/gst-libs/controller.c: (GST_START_TEST):
17539         * check/gst-libs/gdp.c:
17540         * check/gst/gst.c: (GST_START_TEST):
17541         * check/gst/gstbin.c:
17542         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
17543         * check/gst/gstbus.c:
17544         * check/gst/gstcaps.c: (GST_START_TEST):
17545         * check/gst/gstelement.c:
17546         * check/gst/gstghostpad.c:
17547         * check/gst/gstiterator.c:
17548         * check/gst/gstmessage.c:
17549         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
17550         * check/gst/gstobject.c:
17551         * check/gst/gstpad.c: (GST_START_TEST):
17552         * check/gst/gststructure.c: (GST_START_TEST):
17553         * check/gst/gstsystemclock.c: (GST_START_TEST),
17554         (gst_systemclock_suite):
17555         * check/gst/gsttag.c: (gst_tag_suite):
17556         * check/gst/gstvalue.c:
17557         * check/pipelines/cleanup.c:
17558         * check/pipelines/simple_launch_lines.c:
17559         * check/states/sinks.c:
17560           change include statement
17561
17562         * docs/gst/gstreamer-sections.txt:
17563         * docs/gst/tmpl/gstpad.sgml:
17564           document more pad stuff
17565         * gst/gstminiobject.c: (gst_mini_object_ref),
17566         (gst_mini_object_unref):
17567           debug refcounting
17568
17569 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
17570
17571         * docs/gst/tmpl/gst.sgml:
17572         * gst/gst.c:
17573           eliminate another tmpl file, fix spelling in the long-description
17574
17575 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
17576
17577         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
17578         (test_event), (timediff), (gstevents_suite):
17579           Should fix build on 64-bit arch's
17580
17581 2005-08-18  Andy Wingo  <wingo@pobox.com>
17582
17583         Make sure that when a pipeline goes to PLAYING, that data has
17584         actually hit the sink.
17585
17586         * check/states/sinks.c (test_sink): A sink that doesn't get any
17587         data shouldn't return SUCCESS for going to either PLAYING or
17588         PAUSED. Test also the return values on the way back down.
17589
17590         * gst/gstelement.c (gst_element_set_state): When changing the
17591         state of an element currently changing state asynchronously, go to
17592         lost-state after commiting the pending state. Makes future calls
17593         to get_state continue to return ASYNC.
17594
17595         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
17596         ASYNC when going to PLAYING if we still don't have preroll, as can
17597         happen with live sources.
17598
17599 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
17600
17601         * docs/pwg/advanced-types.xml:
17602           Hack long paragraph into 2 chunks as a workaround for buggy
17603           jadetex version in sid and breezy that loops infinitely and
17604           eats all RAM.
17605
17606 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
17607
17608         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
17609         (test_event), (timediff), (gstevents_suite):
17610           Provide more error margin in clock measurements to allow for 
17611           g_get_current_time inaccuracies.
17612
17613 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
17614
17615         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
17616         (test_event), (timediff), (gstevents_suite):
17617            Fix error message output so I might be able to tell why the
17618            test works here but fails on the build farm.
17619
17620 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
17621
17622         * check/Makefile.am:
17623         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
17624         (test_event), (timediff), (gstevents_suite), (main):
17625           I wrote a test!
17626
17627         * docs/design/part-seeking.txt:
17628           Spelling correction
17629
17630         * docs/gst/tmpl/gstevent.sgml:
17631         * docs/gst/tmpl/gstfakesrc.sgml:
17632           Docs updates.
17633
17634         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17635           Treat a buffer-without-newsegment the same as a receiving 
17636           a newsegment not in time format, and disable syncing to the clock
17637           with a warning.
17638
17639         * gst/gstbus.c: (gst_bus_set_sync_handler):
17640           Assert if anyone tries to replace the existing sync_handler for bus, 
17641           as only the owner should be setting it.
17642
17643         * gst/gstevent.h:
17644           Have a fixed set of custom event enums with events identified by
17645           their structure name (as in 0.8), rather than a free-for-all
17646           allowing collisions between enum values from different plugins.
17647
17648         * gst/gstpad.c: (gst_pad_class_init):
17649           Docs change.
17650           
17651         * gst/gstqueue.c: (gst_queue_handle_sink_event):
17652           Handle out-of-band downstream events from the sending thread.
17653
17654 2005-08-17  Andy Wingo  <wingo@pobox.com>
17655
17656         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
17657         play-timeout==0 to mean no timeout at all. In that case, don't
17658         bother with a get_state or a warning, just return directly, even
17659         if it's ASYNC.
17660
17661         * gst/base/gstbasetransform.c: Debug changes.
17662
17663         * gst/gstutils.h:
17664         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
17665         ensure bins post state change messages. A bit of a hack but I can't
17666         think of a way to avoid it.
17667
17668         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
17669
17670 2005-08-16  Andy Wingo  <wingo@pobox.com>
17671
17672         * gst/base/gstadapter.h:
17673         * gst/base/gstadapter.c (gst_adapter_take): New function, like
17674         peek() but you own the data. Not terribly efficient atm.
17675
17676 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17677
17678         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
17679         (gst_element_found_tags):
17680         * gst/gstutils.h:
17681           Add two utility functions for tag handling.
17682
17683 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17684
17685         * docs/manual/advanced-dataaccess.xml:
17686         * docs/manual/basics-helloworld.xml:
17687           Fix docs to use _bin_add() before _link(), which fixes the examples
17688           with recent core versions (reported by Madhan Raj M
17689           <raj_madan@rediffmail.com>, #313199).
17690
17691 2005-08-16  Wim Taymans  <wim@fluendo.com>
17692
17693         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
17694         Added subtract checks.
17695
17696         * docs/design/part-events.txt:
17697         Some more docs about newsegment
17698
17699         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
17700         Fix FIXME
17701
17702         * gst/gstcaps.c: (gst_caps_to_string):
17703         Add comments, cleanups.
17704         
17705         * gst/gstelement.c: (gst_element_save_thyself):
17706         cleanups
17707         
17708         * gst/gstvalue.c: (gst_value_collect_int_range),
17709         (gst_string_unwrap), (gst_value_union_int_int_range),
17710         (gst_value_union_int_range_int_range),
17711         (gst_value_intersect_int_int_range),
17712         (gst_value_intersect_int_range_int_range),
17713         (gst_value_intersect_double_double_range),
17714         (gst_value_intersect_double_range_double_range),
17715         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
17716         (gst_value_subtract_int_range_int),
17717         (gst_value_subtract_double_range_double),
17718         (gst_value_subtract_double_range_double_range),
17719         (gst_value_subtract_from_list), (gst_value_subtract_list),
17720         (gst_value_can_compare), (gst_value_compare_fraction):
17721         Cleanups, add comments, remove unneeded asserts.
17722
17723 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
17724
17725         * tools/gst-launch.c: (event_loop):
17726           don't convert NULL structures to strings
17727
17728 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
17729
17730         * docs/gst/gstreamer-sections.txt:
17731           made some defines private
17732         * docs/gst/tmpl/gstconfig.sgml:
17733         * docs/gst/tmpl/gstqueue.sgml:
17734         * docs/gst/tmpl/gsttaglist.sgml:
17735         * docs/gst/tmpl/gsttypes.sgml:
17736         * docs/gst/tmpl/gstutils.sgml:
17737         * docs/pwg/appendix-porting.xml:
17738         * gst/base/gstbasesink.h:
17739         * gst/base/gstbasesrc.c:
17740         * gst/base/gstbasesrc.h:
17741         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
17742         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
17743         * gst/gstelement.c: (gst_element_class_init):
17744         * gst/gstpad.c: (gst_pad_class_init):
17745         * gst/gstqueue.c: (gst_queue_class_init):
17746         * gst/gstxml.c: (gst_xml_class_init):
17747           documented all undocumented signal inline
17748         * libs/gst/controller/gst-controller.h:
17749           added padding
17750
17751 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17752
17753         * docs/pwg/appendix-porting.xml:
17754           Document _set_link_function -> _set_setcaps_function.
17755
17756 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
17757
17758         * check/Makefile.am:
17759           add a .check target for running the check
17760         * check/gst-libs/controller.c: (GST_START_TEST):
17761           cosmetic fixups
17762         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
17763           complete checks for gstbuffer; would be nice if I could get the
17764           gcov stuff to work so I can see if I actually completed gstbuffer.c
17765         * check/gstcheck.h:
17766           add ASSERT_BUFFER_REFCOUNT
17767
17768 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
17769
17770         * docs/gst/gstreamer-sections.txt:
17771         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
17772         * gst/gsttag.h:
17773           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
17774           spew out a warning if a tag that is already registered
17775           is re-registered, unless it is re-registered with a 
17776           different type (#308438).
17777
17778 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
17779
17780         * docs/pwg/appendix-porting.xml:
17781         * docs/pwg/building-state.xml:
17782           Add some paragraphs about state changes in 0.9 to the PWG
17783           and the porting guide, in particular about the new meaning
17784           of GST_STATE_PAUSED and how to write state change functions
17785           with concurrent access by multiple threads in mind.
17786
17787 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
17788
17789         * docs/gst/gstreamer-docs.sgml:
17790         * docs/libs/gstreamer-libs-docs.sgml:
17791           added deprecation and since indexes
17792         * libs/gst/controller/gst-controller.c:
17793         * libs/gst/controller/gst-helper.c:
17794           added since tags
17795
17796
17797 2005-08-11  Wim Taymans  <wim@fluendo.com>
17798
17799         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
17800         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
17801         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
17802         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
17803         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
17804         (gst_ghost_pad_set_target):
17805         Actually implement (re)setting the target on a ghostpad
17806         as described in the docs.
17807
17808 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
17809
17810         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
17811           Check whether GST_DEBUG_NO_COLOR environment variable is
17812           set and disable coloured debug output if that is the case.
17813
17814 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
17815
17816         * gst/base/gsttypefindhelper.c: (helper_find_peek),
17817         (gst_type_find_helper):
17818           The memory returned by gst_type_find_peek() needs to
17819           stay valid until the end of a typefind function, and
17820           typefind functions may keep results from different 
17821           offsets around, so we can't just unref the buffer from
17822           the previous _peek(), but have to save all buffers 
17823           returned by _peek() until typefinding is done and only
17824           free them then.
17825
17826 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
17827
17828         * docs/gst/gstreamer-sections.txt:
17829         * gst/gstutils.h:
17830           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
17831
17832 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17833
17834         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
17835           Fix a pretty good memleak.
17836
17837 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
17838
17839         * gst/gstiterator.h:
17840           Fix wrong include and 'make distcheck'.
17841
17842 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17843
17844         * gst/gstbin.c: (bin_bus_handler):
17845           Use gst_element_post_message() instead.
17846
17847 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
17848
17849         * gst/base/gstadapter.h:
17850         * gst/base/gstbasesink.h:
17851         * gst/base/gstbasesrc.h:
17852         * gst/base/gstbasetransform.h:
17853         * gst/base/gstcollectpads.h:
17854         * gst/base/gstpushsrc.h:
17855         * gst/gstiterator.h:
17856           Add padding to our base elements' class and instance structs and
17857           to GstIterator (you will need to rebuild all plugins and apps!)
17858
17859 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17860
17861         * gst/gstbin.c: (bin_bus_handler):
17862           Make default message forwarding from child->bus to bin->bus
17863           threadsafe and make it not emit warnings if the parent has no bus.
17864
17865 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17866
17867         * gst/gstelement.c: (activate_pads):
17868           On paused->ready, set pad->caps to NULL, as is the documented
17869           behaviour in this state change. Fixes playback of series of
17870           media files when visualization is enabled in Totem.
17871
17872 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17873
17874         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
17875           Allow NULL as filter-caps (which means "any").
17876
17877 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
17878
17879         * docs/libs/gstreamer-libs-sections.txt:
17880         * libs/gst/controller/gst-controller.c:
17881         * libs/gst/controller/gst-controller.h:
17882         * libs/gst/controller/gst-helper.c:
17883           adding more entries to the docs and fix small doc-bugs
17884
17885 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
17886
17887         * docs/gst/gstreamer-docs.sgml:
17888         * docs/gst/gstreamer-sections.txt:
17889         * docs/gst/gstreamer.types:
17890         * docs/gst/tmpl/gstbasesink.sgml:
17891         * docs/gst/tmpl/gstbasesrc.sgml:
17892         * docs/gst/tmpl/gstbasetransform.sgml:
17893         * docs/gst/tmpl/gstfakesrc.sgml:
17894         * gst/base/gstcollectpads.c:
17895         * gst/base/gstcollectpads.h:
17896         * libs/gst/controller/gst-controller.c:
17897         * libs/gst/controller/gst-controller.h:
17898         * libs/gst/controller/gst-helper.c:
17899         * libs/gst/controller/gst-interpolation.c:
17900         * libs/gst/controller/lib.c:
17901           added long/short desc for controller docs
17902           added collectpads base class docs
17903           added correct includes to base-class docs
17904
17905 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
17906
17907         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
17908         (gst_test_mono_source_set_property),
17909         (gst_test_mono_source_class_init), (GST_START_TEST),
17910         (gst_controller_suite):
17911         * docs/gst/gstreamer-docs.sgml:
17912         * docs/gst/gstreamer-sections.txt:
17913         * docs/gst/gstreamer.types:
17914         * docs/libs/gstreamer-libs-docs.sgml:
17915         * docs/libs/gstreamer-libs-sections.txt:
17916         * gst/base/gstadapter.c:
17917         * libs/gst/controller/gst-controller.c:
17918         (gst_controlled_property_new), (gst_controlled_property_free),
17919         (gst_controller_new_valist),
17920         (gst_controller_remove_properties_valist),
17921         (gst_controller_sink_values), (_gst_controller_finalize):
17922         * libs/gst/controller/gst-controller.h:
17923         * libs/gst/controller/gst-helper.c:
17924         (gst_object_control_properties), (gst_object_uncontrol_properties),
17925         (gst_object_get_controller), (gst_object_set_controller),
17926         (gst_object_sink_values), (gst_object_get_value_arrays),
17927         (gst_object_get_value_array):
17928           more tests (and fixes) for the controller
17929           more docs for the controller
17930           integrated companies docs for the adapter 
17931
17932 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
17933
17934         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
17935         (GST_START_TEST), (fakesrc_suite):
17936           add tests for sizetype
17937
17938 2005-08-04  Andy Wingo  <wingo@pobox.com>
17939
17940         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
17941         fixes buffer_alloc proxying among other things.
17942
17943         * gst/base/gstbasetransform.c:
17944         * gst/base/gstbasetransform.h:
17945         Revert patch to gstbasetransform from 7-28 removing
17946         delay_configure.
17947
17948         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
17949         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
17950         Semantics changed, should return not the size of the output buffer
17951         but the byte size of a buffer with a given caps.
17952
17953         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
17954         debug object.
17955         (gst_base_transform_configure_caps): Don't set out_size here: (in,
17956         out) are not the pad caps until setcaps finishes.
17957         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
17958         not-in-place case as well. Deal with changing from in-place to
17959         not-in-place within calling pad_alloc_buffer. Still a bit
17960         concerned about the overhead here...
17961
17962 2005-08-03  Andy Wingo  <wingo@pobox.com>
17963
17964         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
17965         fixating is an error.
17966
17967 2005-08-04  Edward Hervey  <edward@fluendo.com>
17968
17969         * gst/base/gstadapter.h: 
17970         Added gst_adapter_get_type() to the header
17971
17972 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
17973
17974         * check/Makefile.am:
17975         * check/gst-libs/controller.c:
17976         * libs/gst/controller/gst-controller.c:
17977         (gst_controller_new_valist):
17978           added check test suite for the controller
17979         * gst/base/gstpushsrc.c:
17980           fixed a doc typo
17981
17982 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
17983
17984         * docs/gst/Makefile.am:
17985         * docs/gst/gstreamer-docs.sgml:
17986         * docs/gst/gstreamer-sections.txt:
17987         * docs/gst/gstreamer.types:
17988         * docs/gst/tmpl/gstfakesrc.sgml:
17989         * gst/base/README:
17990         * gst/base/gstbasesink.c:
17991         * gst/base/gstbasesink.h:
17992         * gst/base/gstbasesrc.c:
17993         * gst/base/gstbasesrc.h:
17994         * gst/base/gstbasetransform.c:
17995         * gst/base/gstpushsrc.c:
17996         * gst/base/gstpushsrc.h:
17997           add short/long description docs to base classes
17998           add pushsrc to the docs
17999           remove consolidated doc fragments
18000
18001 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
18002
18003         * configure.ac:
18004         * docs/libs/Makefile.am:
18005         * docs/libs/gstreamer-libs-docs.sgml:
18006         * docs/libs/gstreamer-libs-sections.txt:
18007         * docs/libs/gstreamer-libs.types:
18008         * examples/Makefile.am:
18009         * examples/controller/.cvsignore:
18010         * examples/controller/Makefile.am:
18011         * examples/controller/audio-example.c: (main):
18012         * libs/gst/Makefile.am:
18013         * libs/gst/controller/.cvsignore:
18014         * libs/gst/controller/Makefile.am:
18015         * libs/gst/controller/gst-controller.c:
18016         (on_object_controlled_property_changed), (gst_timed_value_compare),
18017         (gst_timed_value_find),
18018         (gst_controlled_property_set_interpolation_mode),
18019         (gst_controlled_property_new), (gst_controlled_property_free),
18020         (gst_controller_find_controlled_property),
18021         (gst_controller_new_valist), (gst_controller_new),
18022         (gst_controller_remove_properties_valist),
18023         (gst_controller_remove_properties), (gst_controller_set),
18024         (gst_controller_set_from_list), (gst_controller_unset),
18025         (gst_controller_get), (gst_controller_get_all),
18026         (gst_controller_sink_values), (gst_controller_get_value_arrays),
18027         (gst_controller_get_value_array),
18028         (gst_controller_set_interpolation_mode),
18029         (_gst_controller_finalize), (_gst_controller_init),
18030         (_gst_controller_class_init), (gst_controller_get_type):
18031         * libs/gst/controller/gst-controller.h:
18032         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
18033         (g_object_uncontrol_properties), (g_object_get_controller),
18034         (g_object_set_controller), (g_object_sink_values),
18035         (g_object_get_value_arrays), (g_object_get_value_array):
18036         * libs/gst/controller/gst-interpolation.c:
18037         (gst_controlled_property_find_timed_value_node),
18038         (interpolate_none_get), (interpolate_trigger_get),
18039         (interpolate_trigger_get_value_array):
18040         * libs/gst/controller/lib.c: (gst_controller_init):
18041         * pkgconfig/Makefile.am:
18042         * pkgconfig/gstreamer-control-uninstalled.pc.in:
18043         * pkgconfig/gstreamer-control.pc.in:
18044         * testsuite/Makefile.am:
18045         * testsuite/controller/.cvsignore:
18046         * testsuite/controller/Makefile.am:
18047         * testsuite/controller/interpolator.c: (main):
18048           added controller code
18049           removed dparam pc files
18050
18051 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
18052         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
18053         (gst_collectpads_stop):
18054           Broadcast the condition when shutting down, to make sure we wake all
18055           threads up. Shut down pads on finalize, for safety.
18056
18057 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
18058         * gst/base/gstbasetransform.c: (gst_base_transform_init),
18059         (gst_base_transform_handle_buffer),
18060         (gst_base_transform_change_state):
18061           Handle PAUSED->READY->PAUSED transition after negotiation
18062           occurred already.
18063         * gst/gstmessage.c: (gst_message_init):
18064           Extra piece of debug for new messages.
18065
18066 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
18067
18068         * configure.ac:
18069         * docs/gst/tmpl/gstbasesrc.sgml:
18070         * docs/gst/tmpl/gstelement.sgml:
18071         * docs/gst/tmpl/gstevent.sgml:
18072         * docs/gst/tmpl/gstfakesrc.sgml:
18073         * docs/gst/tmpl/gstformat.sgml:
18074         * docs/gst/tmpl/gstghostpad.sgml:
18075         * docs/gst/tmpl/gstpad.sgml:
18076         * docs/gst/tmpl/gstquery.sgml:
18077         * docs/gst/tmpl/gststructure.sgml:
18078         * docs/gst/tmpl/gsttaglist.sgml:
18079         * docs/gst/tmpl/gstvalue.sgml:
18080         * docs/libs/gstreamer-libs-docs.sgml:
18081         * docs/libs/gstreamer-libs-sections.txt:
18082         * docs/libs/gstreamer-libs.types:
18083         * libs/gst/Makefile.am:
18084         * libs/gst/control/.cvsignore:
18085         * libs/gst/control/Makefile.am:
18086         * libs/gst/control/control.c:
18087         * libs/gst/control/control.h:
18088         * libs/gst/control/dparam.c:
18089         * libs/gst/control/dparam.h:
18090         * libs/gst/control/dparam_smooth.c:
18091         * libs/gst/control/dparam_smooth.h:
18092         * libs/gst/control/dparamcommon.h:
18093         * libs/gst/control/dparammanager.c:
18094         * libs/gst/control/dparammanager.h:
18095         * libs/gst/control/dplinearinterp.c:
18096         * libs/gst/control/dplinearinterp.h:
18097         * libs/gst/control/unitconvert.c:
18098         * libs/gst/control/unitconvert.h:
18099         * testsuite/Makefile.am:
18100         * testsuite/dynparams/.cvsignore:
18101         * testsuite/dynparams/Makefile.am:
18102         * testsuite/dynparams/dparamstest.c:
18103         * tools/Makefile.am:
18104         * tools/gst-inspect.c: (print_element_info), (main):
18105         * tools/gst-xmlinspect.c: (print_element_info), (main):
18106           deactivate and remove dparams (libgstcontrol)
18107
18108 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
18109
18110         * gst/elements/gsttypefindelement.c:
18111         (gst_type_find_element_have_type), (gst_type_find_element_init),
18112         (stop_typefinding), (gst_type_find_element_handle_event),
18113         (gst_type_find_element_chain), (gst_type_find_element_getrange):
18114         * gst/elements/gsttypefindelement.h:
18115           Set caps on all outgoing buffers, not just the first one.
18116
18117 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
18118
18119         * gst/elements/gsttypefindelement.c:
18120         (gst_type_find_element_have_type),
18121         (gst_type_find_element_check_set_buffer_caps),
18122         (gst_type_find_element_init), (stop_typefinding),
18123         (gst_type_find_element_handle_event),
18124         (gst_type_find_element_chain), (gst_type_find_element_getrange):
18125         * gst/elements/gsttypefindelement.h:
18126           Set caps on first outgoing buffer when we've found the type.
18127
18128 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
18129
18130         * docs/gst/gstreamer-docs.sgml:
18131         * docs/gst/gstreamer-sections.txt:
18132         * docs/gst/tmpl/gstscheduler.sgml:
18133         * docs/gst/tmpl/gstschedulerfactory.sgml:
18134           Remove some old cruft from docs.
18135
18136 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
18137
18138         * gst/gstpad.h:
18139           Fix inline docs for GstPadLinkReturn.
18140           
18141         * gst/gststructure.c: (gst_structure_has_name):
18142         * gst/gststructure.h:
18143         * docs/gst/gstreamer-sections.txt:
18144           New API: gst_structure_has_name().
18145
18146 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
18147
18148         * configure.ac:
18149           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
18150           and _LARGEFILE_SOURCE in config.h as required. Do not 
18151           export those flags in our .pc files any longer (#142209).
18152
18153           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
18154
18155         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
18156         (gst_file_sink_do_seek), (gst_file_sink_event),
18157         (gst_file_sink_get_current_offset), (gst_file_sink_render):
18158           Redo seek/tell calls with large file support in mind; add some
18159           debugging messages; add log message that tells us when large
18160           file support is unavailable or not enabled for some reason.
18161
18162         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
18163           Add log message that tells us when large file support 
18164           is unavailable or not enabled for some reason.
18165
18166 2005-07-29  Wim Taymans  <wim@fluendo.com>
18167
18168         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
18169         Added test for removing an element with ghostpad from a bin.
18170         Fixed test as current implementation does the right thing.
18171
18172         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
18173         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
18174         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
18175         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
18176         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
18177         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
18178         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
18179         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
18180         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
18181         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
18182         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
18183         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
18184         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
18185         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
18186         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
18187         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
18188         * gst/gstghostpad.h:
18189         Clean up ghostpads, remove properties for internal stuff.
18190         Make threadsafe.
18191         Fix refcounting.
18192         Prepare for switching targets, not all use cases work yet.
18193
18194 2005-07-29  Wim Taymans  <wim@fluendo.com>
18195
18196         * docs/design/part-gstghostpad.txt:
18197         Small update.
18198
18199         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
18200         (gst_bin_remove_func):
18201         Unlinking pads while holding the bin LOCK is not a good
18202         idea.
18203
18204         * gst/gstpad.c: (gst_pad_class_init),
18205         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
18206         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
18207         No prob setting template after creating the pad.
18208
18209 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
18210
18211         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
18212         (gst_bus_peek), (gst_bus_source_dispatch),
18213         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
18214         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
18215           gst_bus_poll may be called from other threads. Handle
18216           this nicely by not making poll_data disappear off the
18217           stack once gst_bus_poll returns.
18218           gst_bus_peek now increments the refcount on the returned
18219           message.
18220
18221 2005-07-29  Wim Taymans  <wim@fluendo.com>
18222
18223         * docs/design/part-gstghostpad.txt:
18224         Overview of current GhostPad datastructures and use
18225         cases for changing the target.
18226
18227 2005-07-28  Wim Taymans  <wim@fluendo.com>
18228
18229         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
18230         Added checks for hierarchy consistency whan adding linked
18231         elements to bins.
18232
18233         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
18234         Added check to test element scheduling without bin/pipeline.
18235
18236         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
18237         First add elements to bin, then link.
18238         
18239         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
18240         (gst_bin_remove_func):
18241         Unlink pads from elements added/removed from bin to maintain
18242         hierarchy consistency.
18243
18244 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18245
18246         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
18247         (gst_base_transform_handle_buffer):
18248         * gst/base/gstbasetransform.h:
18249           Remove broken delay_configure (fixes renegotiation of software
18250           scaling pipelines); remove some leftover printf()s.
18251
18252 2005-07-28  Wim Taymans  <wim@fluendo.com>
18253
18254         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
18255         Added some more tests for wrong hierarchy
18256
18257         * docs/design/part-overview.txt:
18258         Some updates.
18259
18260         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
18261         Cleanups.
18262
18263         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
18264         (gst_element_dispose):
18265         Some more cleanups.
18266
18267         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
18268         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
18269         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
18270         (gst_pad_set_caps), (gst_pad_send_event):
18271         Check for correct hierarchy when linking pads. Moving to
18272         strict requirement for ghostpads when linking elements in
18273         different bins.
18274
18275         * gst/gstpad.h:
18276         Clean ups. Added WRONG_HIERARCHY return value.
18277
18278 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18279
18280         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
18281           Better debug if no transform is possible.
18282
18283 2005-07-27  Wim Taymans  <wim@fluendo.com>
18284
18285         * docs/random/wtay/network-transp:
18286         Some old doc I had.
18287
18288 2005-07-27  Wim Taymans  <wim@fluendo.com>
18289
18290         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
18291         (gst_dp_event_from_packet):
18292         Fix serialization of seek events.
18293
18294 2005-07-27  Wim Taymans  <wim@fluendo.com>
18295
18296         * check/gst-libs/gdp.c: (GST_START_TEST):
18297         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
18298         Fix compilation and fix event serialization.
18299
18300 2005-07-27  Wim Taymans  <wim@fluendo.com>
18301
18302         * CHANGES-0.9:
18303         * docs/design/part-TODO.txt:
18304         * docs/design/part-events.txt:
18305         Some docs updates
18306
18307         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18308         (gst_base_sink_event), (gst_base_sink_do_sync),
18309         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
18310         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
18311         (gst_base_src_do_seek), (gst_base_src_event_handler),
18312         (gst_base_src_loop):
18313         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
18314         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
18315         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
18316         (gst_base_transform_event), (gst_base_transform_handle_buffer),
18317         (gst_base_transform_set_passthrough),
18318         (gst_base_transform_is_passthrough):
18319         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
18320         * gst/elements/gstfilesink.c: (gst_file_sink_event):
18321         Event updates.
18322
18323         * gst/gstbuffer.h:
18324         Use faster casts.
18325
18326         * gst/gstelement.c: (gst_element_seek):
18327         * gst/gstelement.h:
18328         Update gst_element_seek.
18329
18330         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
18331         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
18332         (gst_event_new_flush_start), (gst_event_new_flush_stop),
18333         (gst_event_new_eos), (gst_event_new_newsegment),
18334         (gst_event_parse_newsegment), (gst_event_new_tag),
18335         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
18336         (gst_event_parse_qos), (gst_event_new_seek),
18337         (gst_event_parse_seek), (gst_event_new_navigation):
18338         * gst/gstevent.h:
18339         Make GstEvent use GstStructure. Add parsing code, make sure the
18340         API is sufficiently generic.
18341         Mark possible directions of events and serialization.
18342
18343         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
18344         (_gst_message_copy), (gst_message_new_segment_start),
18345         (gst_message_new_segment_done), (gst_message_new_custom),
18346         (gst_message_parse_segment_start),
18347         (gst_message_parse_segment_done):
18348         Small cleanups.
18349
18350         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
18351         (gst_pad_set_caps), (gst_pad_send_event):
18352         Update for new events. 
18353         Catch events sent in wrong directions.
18354
18355         * gst/gstqueue.c: (gst_queue_link_src),
18356         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
18357         (gst_queue_handle_src_query):
18358         Event updates.
18359
18360         * gst/gsttag.c:
18361         * gst/gsttag.h:
18362         Remove event code from this file.
18363
18364         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
18365         (gst_dp_event_from_packet):
18366         Event updates.
18367
18368 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18369
18370         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
18371         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
18372         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
18373           Make debugging actually useful.
18374
18375 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18376
18377         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
18378         (gst_pad_fixate_caps):
18379           Implement default fixation once again, so that gst_pad_fixate()
18380           actually does anything at all. This probably needs to be some
18381           sort of a last resort, and use profile-based fixation first, but
18382           since that doesn't exist yet, this is the best we have. Fixes
18383           visualization in Totem.
18384
18385 2005-07-22  Wim Taymans  <wim@fluendo.com>
18386
18387         * docs/design/part-events.txt:
18388         Small update.
18389
18390         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18391         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
18392         (gst_base_sink_activate_pull):
18393         Some more comments.
18394
18395         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
18396         (gst_fake_src_create):
18397         Fix handoff marshall.
18398
18399         * gst/elements/gstidentity.c: (gst_identity_class_init),
18400         (gst_identity_transform_ip):
18401         We're a real inplace element.
18402
18403         * gst/gstbus.c: (gst_bus_post):
18404         Added some comments.
18405
18406         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
18407         * tests/muxing/case1.c: (main):
18408         * tests/sched/dynamic-pipeline.c: (main):
18409         * tests/sched/interrupt1.c: (main):
18410         * tests/sched/interrupt2.c: (main):
18411         * tests/sched/interrupt3.c: (main):
18412         * tests/sched/runxml.c: (main):
18413         * tests/sched/sched-stress.c: (main):
18414         * tests/seeking/seeking1.c: (event_received), (main):
18415         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
18416         (main):
18417         * tests/threadstate/threadstate3.c: (main):
18418         * tests/threadstate/threadstate4.c: (main):
18419         * tests/threadstate/threadstate5.c: (main):
18420         Fix the tests.
18421
18422 2005-07-21  Wim Taymans  <wim@fluendo.com>
18423
18424         * docs/design/part-seeking.txt:
18425         Some small additions.
18426
18427         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18428         (gst_base_sink_get_times), (gst_base_sink_do_sync),
18429         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
18430         * gst/base/gstbasesink.h:
18431         discont values are gint64, handle the math correctly.
18432
18433         * gst/base/gstbasesrc.c: (gst_base_src_loop):
18434         Make the basesrc report error if the source pad is not linked.
18435
18436         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
18437         (gst_queue_loop), (gst_queue_handle_src_query),
18438         (gst_queue_src_activate_push):
18439         Make queue collect data even if the srcpad is not linked.
18440         Start pushing out data as soon as it is linked.
18441
18442         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
18443         * gst/gstutils.h:
18444         Added gst_flow_get_name() to ease error reporting.
18445
18446 2005-07-20  Wim Taymans  <wim@fluendo.com>
18447
18448         * gst/gstmessage.c: (gst_message_new_segment_start),
18449         (gst_message_new_segment_done), (gst_message_parse_segment_start),
18450         (gst_message_parse_segment_done):
18451         * gst/gstmessage.h:
18452         Added a bunch of messages for advanced seeking.
18453
18454         * gst/parse/grammar.y:
18455         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
18456         (gst_dpman_state_changed):
18457         Fix some new-pad -> pad-added signals
18458
18459 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18460
18461         * docs/manual/appendix-porting.xml:
18462         * docs/pwg/appendix-porting.xml:
18463           Document new-pad/state-change signal renames and the FixedList
18464           type rename.
18465
18466 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18467
18468         * docs/manual/advanced-autoplugging.xml:
18469         * docs/manual/basics-helloworld.xml:
18470         * docs/manual/basics-pads.xml:
18471         * docs/random/ds/0.9-suggested-changes:
18472         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
18473         * gst/gstelement.h:
18474         * gst/gstevent.h:
18475         * gst/gstformat.h:
18476         * gst/gstquery.h:
18477         * gst/gststructure.c: (gst_structure_value_get_generic_type),
18478         (gst_structure_parse_array), (gst_structure_parse_value):
18479         * gst/gstvalue.c: (gst_type_is_fixed),
18480         (gst_value_list_prepend_value), (gst_value_list_append_value),
18481         (gst_value_list_get_size), (gst_value_list_get_value),
18482         (gst_value_transform_array_string), (gst_value_serialize_array),
18483         (gst_value_deserialize_array), (gst_value_intersect_array),
18484         (gst_value_is_fixed), (_gst_value_initialize):
18485         * gst/gstvalue.h:
18486           GstElement::new-pad -> pad-added, GstElement::state-change ->
18487           state-changed, GstValueFixedList -> GstValueArray, add format and
18488           flags as their own arguments in gst_element_seek() (should improve
18489           "bindeability"), remove function generators since they don't work
18490           under a whole bunch of compilers (they were deprecated already
18491           anyway).
18492
18493 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18494
18495         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
18496         (_gst_debug_register_funcptr):
18497         * gst/gstinfo.h:
18498           Fix illegal cast on some platforms (#309253).
18499
18500 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18501
18502         * gst/gstmessage.c: (gst_message_new_custom):
18503         * gst/gstmessage.h:
18504           Add _new_custom, make _new_application a macro to _new_custom.
18505
18506 2005-07-20  Wim Taymans  <wim@fluendo.com>
18507
18508         * gst/base/gstbasesrc.c: (gst_base_src_init),
18509         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
18510         * gst/base/gstbasesrc.h:
18511         Add a gboolean to decide when to push out a discont.
18512
18513         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
18514         (gst_queue_loop), (gst_queue_handle_src_query),
18515         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
18516         (gst_queue_set_property), (gst_queue_get_property):
18517         Some cleanups.
18518
18519         * tests/threadstate/threadstate1.c: (main):
18520         Make a thread test compile and run... very silly..
18521
18522
18523 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18524
18525         * docs/manual/appendix-porting.xml:
18526           Mention removal of libgstgconf-0.9.la and existence of gconf
18527           elements.
18528
18529 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18530
18531         * docs/pwg/advanced-clock.xml:
18532         * docs/pwg/appendix-porting.xml:
18533         * docs/pwg/intro-preface.xml:
18534         * docs/pwg/other-base.xml:
18535         * docs/pwg/other-manager.xml:
18536         * docs/pwg/other-nton.xml:
18537         * docs/pwg/other-ntoone.xml:
18538         * docs/pwg/other-oneton.xml:
18539         * docs/pwg/pwg.xml:
18540           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
18541           demuxer), remove n-to-n (was never written), fix some code examples
18542           and links and update the porting section to include all this.
18543
18544 2005-07-19  Wim Taymans  <wim@fluendo.com>
18545
18546         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
18547         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
18548         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
18549         (gst_queue_src_activate_push), (gst_queue_change_state),
18550         (gst_queue_get_property):
18551         * gst/gstqueue.h:
18552         Propagate GstFlowReturn more intelligently upstream and output
18553         an ERROR/EOS when streaming stopped due to fatal error.
18554
18555 2005-07-19  Wim Taymans  <wim@fluendo.com>
18556
18557         * tools/gst-launch.c: (check_intr), (event_loop), (main):
18558         Don't block forever for the state change to complete, the
18559         pipeline already did with a sensible timeout.
18560
18561 2005-07-19  Wim Taymans  <wim@fluendo.com>
18562
18563         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
18564         Make sure we never call the create function is we
18565         got deactivated.
18566
18567 2005-07-19  Andy Wingo  <wingo@pobox.com>
18568
18569         * gst/parse/parse.l: Attempt to solve bug #172815.
18570
18571 2005-07-19  Wim Taymans  <wim@fluendo.com>
18572
18573         * docs/design/part-clocks.txt:
18574         * docs/design/part-events.txt:
18575         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
18576         Small docs updates.
18577         Only update the seeking values when we are not
18578         busy streaming.
18579
18580 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
18581
18582         * gst/base/gstbasesrc.c: (gst_base_src_loop):
18583           Oops, ignore the result of gst_pad_push_event here.
18584
18585 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
18586
18587         * gst/base/gstbasesrc.c: (gst_base_src_loop),
18588         (gst_base_src_activate_push):
18589           Send discont event from the loop function, as pads
18590           aren't activated yet in the activate_push handler.
18591
18592         * gst/gstbin.c: (bin_bus_handler):
18593           Don't leak element name.
18594
18595 2005-07-18  Andy Wingo  <wingo@pobox.com>
18596
18597         * configure.ac: Use AS_LIBTOOL_TAGS.
18598
18599 2005-07-18  Wim Taymans  <wim@fluendo.com>
18600
18601         * docs/gst/gstreamer.types:
18602         Remove deleted types.
18603
18604 2005-07-18  Wim Taymans  <wim@fluendo.com>
18605
18606         * check/elements/gstfakesrc.c: (GST_START_TEST):
18607         * configure.ac:
18608         * gst/Makefile.am:
18609         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
18610         (init_popt_callback):
18611         * gst/gst.h:
18612         * gst/gst_private.h:
18613         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
18614         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
18615         * gst/gstbin.h:
18616         * gst/gstbus.h:
18617         * gst/gstconfig.h.in:
18618         * gst/gstelement.c: (gst_element_class_init),
18619         (gst_element_set_base_time), (gst_element_get_base_time),
18620         (iterator_fold_with_resync), (gst_element_change_state),
18621         (gst_element_dispose), (gst_element_get_bus):
18622         * gst/gstelement.h:
18623         * gst/gstelementfactory.h:
18624         * gst/gsterror.c: (_gst_core_errors_init):
18625         * gst/gsterror.h:
18626         * gst/gstevent.h:
18627         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
18628         * gst/gstindex.c:
18629         * gst/gstinfo.c: (_gst_debug_init):
18630         * gst/gstmessage.c: (_gst_message_copy):
18631         * gst/gstmessage.h:
18632         * gst/gstminiobject.h:
18633         * gst/gstobject.c:
18634         * gst/gstobject.h:
18635         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
18636         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
18637         * gst/gstpad.h:
18638         * gst/gstparse.h:
18639         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
18640         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
18641         (gst_pipeline_get_last_stream_time):
18642         * gst/gstpipeline.h:
18643         * gst/gstpluginfeature.h:
18644         * gst/gstquery.h:
18645         * gst/gstscheduler.c:
18646         * gst/gstscheduler.h:
18647         * gst/gststructure.h:
18648         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
18649         (gst_task_finalize), (gst_task_func), (gst_task_create),
18650         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
18651         (gst_task_stop), (gst_task_pause):
18652         * gst/gsttask.h:
18653         * gst/gsttypefind.h:
18654         * gst/gsttypes.h:
18655         * gst/registries/gstlibxmlregistry.c: (load_feature),
18656         (gst_xml_registry_load), (gst_xml_registry_save_feature):
18657         * gst/registries/gstxmlregistry.c:
18658         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
18659         * gst/schedulers/threadscheduler.c:
18660         * libs/gst/control/dparammanager.h:
18661         * tools/gst-inspect.c: (print_element_list),
18662         (print_plugin_features), (print_element_features):
18663         * tools/gst-xmlinspect.c: (print_element_list),
18664         (print_plugin_info), (main):
18665         Removed plugable schedulers.
18666         Removed Scheduler/Manager from elements.
18667         Removed gsttypes.h, rearranged includes.
18668         Removed dependency pad<->element, element<>pipeline, and
18669         various others,  fix includes.
18670         implement gst_pad_get_parent() with gst_object_get_parent()
18671         Make GstTask sefcontained.
18672         Fix _get_state() on GstBin, it did not return ASYNC with a 0
18673         timeout.
18674         Fix endless loop in iterator_fold_with_resync.
18675
18676
18677 2005-07-18  Wim Taymans  <wim@fluendo.com>
18678
18679         * gst/Makefile.am:
18680         * gst/gstarch.h:
18681         Remove old file.
18682
18683 2005-07-18  Wim Taymans  <wim@fluendo.com>
18684
18685         * gst/Makefile.am:
18686         No more cothreads.h
18687
18688 2005-07-18  Wim Taymans  <wim@fluendo.com>
18689
18690         * gst/cothreads.c:
18691         * gst/cothreads.h:
18692         Let's remove these.
18693
18694 2005-07-18  Wim Taymans  <wim@fluendo.com>
18695
18696         * docs/design/part-dynamic.txt:
18697         * docs/design/part-events.txt:
18698         * docs/design/part-seeking.txt:
18699         Some more docs in the works.
18700
18701         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
18702         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
18703         (gst_base_transform_setcaps), (gst_base_transform_get_size),
18704         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
18705         (gst_base_transform_handle_buffer),
18706         (gst_base_transform_sink_activate_push),
18707         (gst_base_transform_src_activate_pull),
18708         (gst_base_transform_set_passthrough),
18709         (gst_base_transform_is_passthrough):
18710         Refcounting fixes.
18711
18712         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
18713         Cleanups.
18714
18715         * gst/gstevent.c: (gst_event_finalize):
18716         Set SRC to NULL.
18717
18718         * gst/gstutils.c: (gst_element_unlink),
18719         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
18720         (gst_pad_proxy_setcaps):
18721         * gst/gstutils.h:
18722         Add _get_parent_element() to get a pads parent as an element.
18723
18724 2005-07-18  Wim Taymans  <wim@fluendo.com>
18725
18726         * check/gst/gstbin.c: (GST_START_TEST):
18727         Remove bogus test.
18728
18729 2005-07-18  Wim Taymans  <wim@fluendo.com>
18730
18731         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
18732         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
18733         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
18734         (gst_base_sink_event), (gst_base_sink_do_sync),
18735         (gst_base_sink_chain), (gst_base_sink_loop),
18736         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
18737         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
18738         Refcounting fixes.
18739         Fix logic for returning ASYNC when not prerolled.
18740
18741 2005-07-18  Wim Taymans  <wim@fluendo.com>
18742
18743         * gst/gstqueue.c: (gst_queue_handle_sink_event):
18744         Fix nasty refcount bug.
18745
18746 2005-07-16 Philippe Khalaf <burger@speedy.org>
18747
18748         * gst/elements/gstfdsrc.c:
18749         * gst/elements/gstfdsrc.h:
18750         * gst/elements/gstelements.c:
18751         * gst/elements/Makefile.am:
18752         Ported fdsrc to 0.9.
18753
18754 2005-07-16  Wim Taymans  <wim@fluendo.com>
18755
18756         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18757         (gst_base_sink_do_sync):
18758         Fix compile error.
18759
18760 2005-07-16  Wim Taymans  <wim@fluendo.com>
18761
18762         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18763         (gst_base_sink_event), (gst_base_sink_get_times),
18764         (gst_base_sink_do_sync), (gst_base_sink_change_state):
18765         * gst/base/gstbasesink.h:
18766         Store and use discont values when syncing buffers as described
18767         in design docs.
18768         
18769         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
18770         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
18771         (gst_base_src_activate_push):
18772         Push discont event when starting.
18773
18774         * gst/elements/gstidentity.c: (gst_identity_transform):
18775         Small cleanups.
18776
18777         * gst/gstbin.c: (gst_bin_change_state):
18778         Small cleanups in base_time  distribution.
18779
18780         * gst/gstelement.c: (gst_element_set_base_time),
18781         (gst_element_get_base_time), (gst_element_change_state):
18782         * gst/gstelement.h:
18783         Added methods for the base_time of the element.
18784         Some MT fixes.
18785
18786         * gst/gstpipeline.c: (gst_pipeline_send_event),
18787         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
18788         (gst_pipeline_get_last_stream_time):
18789         * gst/gstpipeline.h:
18790         MT fixes.
18791         Handle seeking as described in design doc, remove stream_time
18792         hack.
18793         Cleanups clock and stream_time selection code. Added accessors
18794         for the stream_time.
18795         
18796
18797 2005-07-16  Andy Wingo  <wingo@pobox.com>
18798
18799         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
18800         (#305291).
18801
18802 2005-07-16  Wim Taymans  <wim@fluendo.com>
18803
18804         * check/gst/gstbin.c: (GST_START_TEST):
18805         Make elements silent as the deep_notify refs the
18806         parent, which might make the test fail.
18807
18808         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
18809         Don't hold the lock for too long.
18810
18811 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
18812
18813         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
18814           Don't unref the caps we passed to gst_caps_make_writable() after
18815           passing them. gst_caps_make_writable() will do that for us.
18816
18817 2005-07-15  Andy Wingo  <wingo@pobox.com>
18818
18819         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
18820         (#157311).
18821
18822         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
18823         own marshalling function for the handoff signal. Properly type the
18824         buffer as a buffer. Fixes some warnings. Should do a more general
18825         solution.
18826         (gst_identity_class_init): Plug into the right marshaller.
18827
18828 2005-07-15  Wim Taymans  <wim@fluendo.com>
18829
18830         * docs/design/part-TODO.txt:
18831         * docs/design/part-clocks.txt:
18832         * docs/design/part-element-sink.txt:
18833         * docs/design/part-events.txt:
18834         * docs/design/part-gstpipeline.txt:
18835         Updated docs, mostly DISCONT related.
18836
18837 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
18838
18839         * docs/pwg/building-pads.xml:
18840           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
18841
18842 2005-07-15  Andy Wingo  <wingo@pobox.com>
18843
18844         * tools/gst-typefind.c: Update, add copyright block.
18845
18846         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
18847         Normalize and truncate caps before fixation.
18848
18849         * gst/gstcaps.h:
18850         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
18851         discards all but the first structure from its argument.
18852
18853 2005-07-15  Wim Taymans  <wim@fluendo.com>
18854
18855         * gst/base/gstbasetransform.c: (gst_base_transform_init),
18856         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
18857         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
18858         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
18859         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
18860         (gst_base_transform_chain), (gst_base_transform_change_state),
18861         (gst_base_transform_set_passthrough),
18862         (gst_base_transform_is_passthrough):
18863         * gst/base/gstbasetransform.h:
18864         Make passthrough work using the bufferpools.
18865         Changed API a bit, subclasses have to write into a buffer
18866         provided by the base class.
18867         More debug info in nego functions.
18868         
18869         * gst/elements/gstidentity.c: (gst_identity_init),
18870         (gst_identity_transform):
18871         Port to new base class.
18872
18873 2005-07-15  Wim Taymans  <wim@fluendo.com>
18874
18875         * gst/gstmessage.c: (gst_message_new_state_changed):
18876         * tools/gst-launch.c: (event_loop), (main):
18877         Totally dump messages in -launch with the -m option.
18878         Fix message name for State messages,
18879
18880 2005-07-14  Wim Taymans  <wim@fluendo.com>
18881
18882         * gst/base/gstbasesrc.c: (gst_base_src_loop):
18883         Post error messages on errors.
18884
18885 2005-07-14  Wim Taymans  <wim@fluendo.com>
18886
18887         * gst/gstcaps.c: (gst_caps_do_simplify):
18888         Remove debug info.
18889
18890         * gst/gsterror.h:
18891         Define error for stream stopped.
18892
18893         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
18894         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
18895         Do proper return values.
18896
18897         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
18898         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
18899         (gst_pad_get_range):
18900         Better return values.
18901
18902         * gst/gstpad.h:
18903         Reorganise return values, add macro to check for fatal errors.
18904
18905         * gst/gstqueue.c: (gst_queue_chain):
18906         Return proper GstFlowReturn values,
18907
18908 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
18909
18910         * docs/gst/gstreamer-sections.txt:
18911         * docs/gst/gstreamer.types:
18912         * docs/gst/tmpl/gst.sgml:
18913         * docs/gst/tmpl/gstbasesink.sgml:
18914         * docs/gst/tmpl/gstbasesrc.sgml:
18915         * docs/gst/tmpl/gstbasetransform.sgml:
18916         * docs/gst/tmpl/gstbin.sgml:
18917         * docs/gst/tmpl/gstbuffer.sgml:
18918         * docs/gst/tmpl/gstcaps.sgml:
18919         * docs/gst/tmpl/gstclock.sgml:
18920         * docs/gst/tmpl/gstcompat.sgml:
18921         * docs/gst/tmpl/gstconfig.sgml:
18922         * docs/gst/tmpl/gstelement.sgml:
18923         * docs/gst/tmpl/gstelementdetails.sgml:
18924         * docs/gst/tmpl/gstelementfactory.sgml:
18925         * docs/gst/tmpl/gstenumtypes.sgml:
18926         * docs/gst/tmpl/gsterror.sgml:
18927         * docs/gst/tmpl/gstevent.sgml:
18928         * docs/gst/tmpl/gstfakesink.sgml:
18929         * docs/gst/tmpl/gstfakesrc.sgml:
18930         * docs/gst/tmpl/gstfilesink.sgml:
18931         * docs/gst/tmpl/gstfilesrc.sgml:
18932         * docs/gst/tmpl/gstfilter.sgml:
18933         * docs/gst/tmpl/gstformat.sgml:
18934         * docs/gst/tmpl/gstghostpad.sgml:
18935         * docs/gst/tmpl/gstimplementsinterface.sgml:
18936         * docs/gst/tmpl/gstindex.sgml:
18937         * docs/gst/tmpl/gstindexfactory.sgml:
18938         * docs/gst/tmpl/gstinfo.sgml:
18939         * docs/gst/tmpl/gstiterator.sgml:
18940         * docs/gst/tmpl/gstmacros.sgml:
18941         * docs/gst/tmpl/gstmemchunk.sgml:
18942         * docs/gst/tmpl/gstminiobject.sgml:
18943         * docs/gst/tmpl/gstobject.sgml:
18944         * docs/gst/tmpl/gstpad.sgml:
18945         * docs/gst/tmpl/gstpadtemplate.sgml:
18946         * docs/gst/tmpl/gstparse.sgml:
18947         * docs/gst/tmpl/gstpipeline.sgml:
18948         * docs/gst/tmpl/gstplugin.sgml:
18949         * docs/gst/tmpl/gstpluginfeature.sgml:
18950         * docs/gst/tmpl/gstquery.sgml:
18951         * docs/gst/tmpl/gstqueue.sgml:
18952         * docs/gst/tmpl/gstregistry.sgml:
18953         * docs/gst/tmpl/gstregistrypool.sgml:
18954         * docs/gst/tmpl/gstscheduler.sgml:
18955         * docs/gst/tmpl/gstschedulerfactory.sgml:
18956         * docs/gst/tmpl/gststructure.sgml:
18957         * docs/gst/tmpl/gstsystemclock.sgml:
18958         * docs/gst/tmpl/gsttaglist.sgml:
18959         * docs/gst/tmpl/gsttagsetter.sgml:
18960         * docs/gst/tmpl/gsttrace.sgml:
18961         * docs/gst/tmpl/gsttrashstack.sgml:
18962         * docs/gst/tmpl/gsttypefind.sgml:
18963         * docs/gst/tmpl/gsttypefindfactory.sgml:
18964         * docs/gst/tmpl/gsttypes.sgml:
18965         * docs/gst/tmpl/gsturihandler.sgml:
18966         * docs/gst/tmpl/gsturitype.sgml:
18967         * docs/gst/tmpl/gstutils.sgml:
18968         * docs/gst/tmpl/gstvalue.sgml:
18969         * docs/gst/tmpl/gstversion.sgml:
18970         * docs/gst/tmpl/gstxml.sgml:
18971         * docs/libs/tmpl/gstcontrol.sgml:
18972         * docs/libs/tmpl/gstdataprotocol.sgml:
18973         * docs/libs/tmpl/gstdparam.sgml:
18974         * docs/libs/tmpl/gstdplinint.sgml:
18975         * docs/libs/tmpl/gstdpman.sgml:
18976         * docs/libs/tmpl/gstdpsmooth.sgml:
18977         * docs/libs/tmpl/gstgetbits.sgml:
18978         * docs/libs/tmpl/gstunitconvert.sgml:
18979         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
18980         (gst_push_src_base_init), (gst_push_src_class_init),
18981         (gst_push_src_init), (gst_push_src_create):
18982         * gst/base/gstpushsrc.h:
18983         * gst/elements/gstelements.c:
18984         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
18985         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
18986         (gst_fake_sink_init), (gst_fake_sink_set_property),
18987         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
18988         (gst_fake_sink_event), (gst_fake_sink_preroll),
18989         (gst_fake_sink_render), (gst_fake_sink_change_state):
18990         * gst/elements/gstfakesink.h:
18991         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
18992         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
18993         (gst_fake_src_base_init), (gst_fake_src_class_init),
18994         (gst_fake_src_init), (gst_fake_src_event_handler),
18995         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
18996         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
18997         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
18998         (gst_fake_src_create_buffer), (gst_fake_src_create),
18999         (gst_fake_src_start), (gst_fake_src_stop):
19000         * gst/elements/gstfakesrc.h:
19001         * gst/elements/gstfilesink.c: (_do_init),
19002         (gst_file_sink_base_init), (gst_file_sink_class_init),
19003         (gst_file_sink_init), (gst_file_sink_dispose),
19004         (gst_file_sink_set_location), (gst_file_sink_set_property),
19005         (gst_file_sink_get_property), (gst_file_sink_open_file),
19006         (gst_file_sink_close_file), (gst_file_sink_query),
19007         (gst_file_sink_event), (gst_file_sink_render),
19008         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
19009         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
19010         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
19011         * gst/elements/gstfilesink.h:
19012         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
19013         (gst_file_src_class_init), (gst_file_src_init),
19014         (gst_file_src_finalize), (gst_file_src_set_location),
19015         (gst_file_src_set_property), (gst_file_src_get_property),
19016         (gst_file_src_map_region), (gst_file_src_map_small_region),
19017         (gst_file_src_create_mmap), (gst_file_src_create_read),
19018         (gst_file_src_create), (gst_file_src_is_seekable),
19019         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
19020         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
19021         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
19022         (gst_file_src_uri_handler_init):
19023         * gst/elements/gstfilesrc.h:
19024           more autistic cleanliness in functions/names/defines
19025
19026 2005-07-13  Andy Wingo  <wingo@pobox.com>
19027
19028         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
19029         source couldn't negotiate.
19030
19031         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
19032         connections again.
19033
19034         * gst/gstutils.h:
19035         * gst/gstutils.c (gst_element_link_pads_filtered): New old
19036         function. I am channeling Hades. Put your boots on suckers!!!
19037
19038 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
19039
19040         * testsuite/caps/Makefile.am:
19041         * testsuite/caps/value_compare.c:
19042         * testsuite/caps/value_intersect.c:
19043         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
19044           move two testsuite apps over to the check dir
19045
19046 2005-07-12  Wim Taymans  <wim@fluendo.com>
19047
19048         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
19049         Added more debug info in the negotiate process.
19050
19051         * gst/gstmessage.h:
19052         Prepare for segment playback.
19053
19054         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
19055         Better debugging.
19056
19057         * gst/gstutils.c:
19058         Some more docs.
19059
19060         * tools/gst-launch.c: (main):
19061         NULL pipeline on errors.
19062
19063 2005-07-12  Andy Wingo  <wingo@pobox.com>
19064
19065         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
19066         not it comes from a malloc region. Make sure our copy gets freed.
19067
19068 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
19069
19070         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
19071         * check/gst/gstmessage.c: (GST_START_TEST):
19072         * check/gst/gststructure.c: (GST_START_TEST),
19073         (gst_structure_suite), (main):
19074           more testing
19075         * gst/gstelement.c: (gst_element_message_full):
19076           clean up GError and debug string now that they get copied
19077         * gst/gstmessage.c: (gst_message_new_error),
19078         (gst_message_new_warning), (gst_message_parse_error),
19079         (gst_message_parse_warning):
19080           use GST_TYPE_G_ERROR for structure_new, and take copies of
19081           arguments, so that we don't mess up refcounting
19082
19083 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
19084
19085         * check/Makefile.am:
19086           add per-test valgrind targets
19087         * check/gst-libs/gdp.c: (GST_START_TEST),
19088         (gst_data_protocol_suite), (main):
19089           clean up
19090
19091 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
19092
19093         * check/Makefile.am:
19094           instate more valgrindable tests
19095         * check/elements/gstfakesrc.c: (chain_func), (event_func),
19096         (GST_START_TEST), (fakesrc_suite):
19097         * check/gst/gstpad.c: (GST_START_TEST):
19098         * check/gst/gststructure.c: (GST_START_TEST):
19099           fix test leaks
19100         * docs/gst/tmpl/gstminiobject.sgml:
19101         * gst/gstpad.c: (gst_pad_finalize):
19102           fix the static mutex leak
19103
19104 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19105
19106         * check/Makefile.am:
19107           add two more tests for valgrinding
19108         * check/gst/gstvalue.c: (GST_START_TEST):
19109           test refcount of deserialized buffer, found a leak
19110         * docs/gst/gstreamer-docs.sgml:
19111         * docs/gst/gstreamer-sections.txt:
19112         * docs/gst/gstreamer.types:
19113         * docs/gst/tmpl/gstminiobject.sgml:
19114           add miniobject to docs
19115         * gst/gstminiobject.c:
19116           add some docs
19117         * gst/gstvalue.c: (gst_value_deserialize_buffer),
19118         (gst_string_unwrap):
19119           fix a hard-to-find invalid write for one of the tests
19120           fix a leak for deserialized buffers
19121
19122 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19123
19124         * docs/pwg/advanced-events.xml:
19125         * docs/pwg/advanced-request.xml:
19126         * docs/pwg/advanced-scheduling.xml:
19127         * docs/pwg/appendix-porting.xml:
19128         * docs/pwg/building-boiler.xml:
19129         * docs/pwg/intro-preface.xml:
19130         * docs/pwg/other-ntoone.xml:
19131           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
19132           of example code and explanation for pad activation, loop() and
19133           getrange() functions and a bit more. Remove old comments pointing
19134           to loop-functions.
19135         * examples/pwg/Makefile.am:
19136           Add loop/getrange examples.
19137
19138 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19139
19140         * configure.ac:
19141           check for valgrind binary + some fixes
19142         * check/gst.supp:
19143           valgrind suppressions for the tests
19144         * check/Makefile.am:
19145           add a valgrind: target that valgrinds the unit tests
19146         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
19147         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
19148         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
19149         * check/gst/gstghostpad.c:
19150           added some cleanup
19151         * check/gst/gstdata.c:
19152           removed
19153         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
19154         (thread_unref), (gst_mini_object_suite), (main):
19155           added
19156         * gst/gst.c: (gst_deinit):
19157         * gst/gst.h:
19158           add a method to clean up.
19159         * gst/gstsystemclock.c: (gst_system_clock_dispose),
19160         (gst_system_clock_obtain):
19161           allow for disposing the system clock.
19162         * tools/gst-launch.c: (main):
19163           deinit
19164
19165 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19166
19167         * docs/gst/tmpl/gstbasesrc.sgml:
19168         * docs/gst/tmpl/gstfakesrc.sgml:
19169         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
19170         (gst_base_src_init), (gst_base_src_set_property),
19171         (gst_base_src_get_property), (gst_base_src_get_range),
19172         (gst_base_src_start):
19173         * gst/base/gstbasesrc.h:
19174           add num-buffers property
19175         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
19176         (gst_fakesrc_init), (gst_fakesrc_set_property),
19177         (gst_fakesrc_get_property), (gst_fakesrc_create),
19178         (gst_fakesrc_start):
19179           remove num-buffers property
19180
19181 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19182
19183         * docs/gst/gstreamer-sections.txt:
19184         * docs/gst/tmpl/gstbasesink.sgml:
19185         * docs/gst/tmpl/gstbasesrc.sgml:
19186         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
19187         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
19188         (gst_base_sink_finalize), (gst_base_sink_set_clock),
19189         (gst_base_sink_set_property), (gst_base_sink_get_property),
19190         (gst_base_sink_handle_object), (gst_base_sink_event),
19191         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
19192         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
19193         (gst_base_sink_loop), (gst_base_sink_deactivate),
19194         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
19195         (gst_base_sink_change_state):
19196         * gst/base/gstbasesink.h:
19197         * gst/base/gstbasesrc.h:
19198         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
19199         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
19200         (gst_filesink_init):
19201           more macro splitting
19202
19203 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19204
19205         * gst/gstelement.c: (gst_element_get_bus):
19206           add debug
19207         * tools/gst-launch.c: (check_intr), (event_loop):
19208           fix bus leaks
19209
19210 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19211
19212         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
19213           fix a caps leak
19214
19215 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19216
19217         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
19218         (gst_base_src_finalize):
19219           add finalize method and clean up properly
19220         * gst/gstpipeline.c: (gst_pipeline_dispose):
19221           add debug
19222
19223 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
19224
19225         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
19226         (gst_bin_suite):
19227           add more things to check
19228         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
19229         * gst/gstelement.c:
19230           more debug
19231
19232 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
19233
19234         * check/elements/gstfakesrc.c: (chain_func), (event_func),
19235         (GST_START_TEST), (fakesrc_suite):
19236         * check/gst-libs/gdp.c: (GST_START_TEST):
19237         * check/gst/gst.c: (GST_START_TEST):
19238         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
19239         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
19240         * check/gst/gstbus.c: (GST_START_TEST):
19241         * check/gst/gstcaps.c: (GST_START_TEST):
19242         * check/gst/gstdata.c: (GST_START_TEST):
19243         * check/gst/gstelement.c: (GST_START_TEST):
19244         * check/gst/gstghostpad.c: (GST_START_TEST):
19245         * check/gst/gstiterator.c: (GST_START_TEST):
19246         * check/gst/gstmessage.c: (GST_START_TEST):
19247         * check/gst/gstobject.c: (GST_START_TEST):
19248         * check/gst/gstpad.c: (GST_START_TEST):
19249         * check/gst/gststructure.c: (GST_START_TEST):
19250         * check/gst/gstsystemclock.c: (GST_START_TEST),
19251         (gst_systemclock_suite):
19252         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
19253         * check/gst/gstvalue.c: (GST_START_TEST):
19254         * check/pipelines/cleanup.c: (GST_START_TEST):
19255         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
19256         * check/states/sinks.c: (GST_START_TEST):
19257         * check/gstcheck.c: (gst_check_init):
19258         * check/gstcheck.h:
19259           add debugging category
19260           use GST_START_TEST now, so we add a debug line
19261
19262 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
19263
19264         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
19265           add test for state change message on a bin
19266         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
19267           add another test
19268         * gst/gstbin.c: (gst_bin_init):
19269         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
19270         * gst/gstelement.c: (gst_element_post_message),
19271         (gst_element_set_state):
19272         * gst/gstelementfactory.c: (gst_element_factory_create):
19273         * gst/gstmessage.c: (gst_message_new):
19274         * gst/gstscheduler.c:
19275           various debugging additions and cleanups
19276
19277 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19278
19279         * check/Makefile.am:
19280         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
19281         (main):
19282           adding tests for elements
19283         * gst/gstelement.c: (gst_element_dispose):
19284
19285 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19286
19287         * gst/registries/gstlibxmlregistry.c: (load_feature):
19288           plug more leaks.  A simple gst_init() now is leakfree, yay.
19289
19290 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19291
19292         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
19293         (gst_xml_registry_load):
19294           plug another memleak
19295
19296 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19297
19298         * configure.ac:
19299           use GST_SET_ERROR_CFLAGS
19300         * docs/faq/cvs.xml:
19301           change to ERROR_CFLAGS
19302
19303 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19304
19305         * configure.ac:
19306           make GST_ERROR_CFLAGS overridable and re-enable Werror
19307         * docs/faq/cvs.xml:
19308           add a note about error CFLAGS
19309         * docs/gst/tmpl/gstfakesrc.sgml:
19310         * gst/elements/gstfakesrc.c:
19311           comment out some unused code
19312         * gst/gst.c: (split_and_iterate):
19313         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
19314         (load_feature):
19315           plug some memleaks
19316
19317 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
19318
19319         * common/Makefile.am:
19320         * common/gtk-doc.mak:
19321         * docs/gst/Makefile.am:
19322           factor out gtk-doc.mak
19323
19324 2005-07-07  Wim Taymans  <wim@fluendo.com>
19325
19326         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
19327         (gst_thread_scheduler_dispose):
19328         Unlock the STREAM_LOCK completely.
19329
19330 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
19331
19332         * check/Makefile.am:
19333         * check/elements/.cvsignore:
19334         * check/elements/gstfakesrc.c: (chain_func), (event_func),
19335         (START_TEST), (fakesrc_suite), (main):
19336         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
19337         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
19338         (gst_fakesrc_create), (gst_fakesrc_start):
19339         * gst/elements/gstfakesrc.h:
19340           adding a first element test
19341
19342 2005-07-07  Andy Wingo  <wingo@pobox.com>
19343
19344         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
19345         debug message.
19346
19347 2005-07-07  Wim Taymans  <wim@fluendo.com>
19348
19349         * gst/gstquery.c:
19350         * gst/gstquery.h:
19351         Remove old types
19352
19353 2005-07-07  Wim Taymans  <wim@fluendo.com>
19354
19355         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
19356         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
19357         Allow subclasses to implement their own negotiation.
19358
19359 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
19360
19361         * docs/design/part-gstbin.txt:
19362         * docs/design/part-gstpipeline.txt:
19363           Update design notes to reflect the movement of
19364           responsibility for bus handling from GstPipeline to
19365           GstBin
19366
19367 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
19368
19369         * configure.ac:
19370           Remove unnecessary queue2/3/4 examples.
19371
19372 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
19373
19374         * examples/Makefile.am:
19375         * examples/helloworld/helloworld.c: (event_loop), (main):
19376         * examples/queue/queue.c: (event_loop), (main):
19377         * examples/queue2/queue2.c: (main):
19378           Update a couple of the examples to work again.
19379
19380         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
19381         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
19382          Spelling corrections and extra debug.
19383         
19384         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
19385         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
19386         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
19387         * gst/gstbin.h:
19388         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
19389         (gst_pipeline_change_state):
19390         * gst/gstpipeline.h:
19391           Move the bus handler for children to the GstBin, and create a
19392           separate bus for receiving messages from children to the one the
19393           bus sends 'upwards' on.
19394
19395 2005-07-06  Wim Taymans  <wim@fluendo.com>
19396
19397         * gst/base/README:
19398         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
19399         (gst_base_sink_handle_object), (gst_base_sink_loop),
19400         (gst_base_sink_change_state):
19401         * gst/base/gstbasesink.h:
19402         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
19403         (gst_base_src_init), (gst_base_src_setcaps),
19404         (gst_base_src_getcaps), (gst_base_src_loop),
19405         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
19406         (gst_base_src_start), (gst_base_src_change_state):
19407         * gst/base/gstbasesrc.h:
19408         Make basesrc negotiate.
19409         Handle the case where preroll fails in basesink.
19410         Update README.
19411
19412 2005-07-06  Wim Taymans  <wim@fluendo.com>
19413
19414         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
19415         Implement the fixate function.
19416         Clean up acceptcaps.
19417
19418 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19419
19420         * docs/pwg/building-filterfactory.xml:
19421         * docs/pwg/pwg.xml:
19422           Remove never-written filter-factory chapter; I'll add the various
19423           base classes to part 4 ("other element types") later on.
19424
19425 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19426
19427         * docs/pwg/advanced-negotiation.xml:
19428         * docs/pwg/building-boiler.xml:
19429         * docs/pwg/building-pads.xml:
19430         * docs/pwg/pwg.xml:
19431         * examples/pwg/Makefile.am:
19432           Add a chapter on caps negotiation, simplify the original code
19433           samples a bit w.r.t. caps negotiation, add link to the advanced
19434           section. Add a bunch of examples showing different use cases of
19435           different types of caps negotiation. Upstream renegotiation isn't
19436           fully documented yet since nobody knows how that works.
19437
19438 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
19439
19440         * check/gst/gstpad.c:
19441         * check/gstcheck.c:
19442         * gst/gstpad.c: (gst_pad_get_internal_links_default):
19443           if pad has no parent, return NULL as list of internal links
19444
19445 2005-07-05  Andy Wingo  <wingo@pobox.com>
19446
19447         * gst/elements/gstfilesrc.c:
19448         * gst/elements/gstfakesrc.c: 
19449         * gst/base/gstpushsrc.c:
19450         * gst/base/gstbasesrc.h: 
19451         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
19452         
19453 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
19454
19455         * Makefile.am:
19456           better report generation target (lcov needs a patch)
19457
19458 2005-07-05  Andy Wingo  <wingo@pobox.com>
19459
19460         * gst/elements, testsuite: Null if we got it...
19461
19462 2005-07-05  Wim Taymans  <wim@fluendo.com>
19463
19464         * configure.ac:
19465         * libs/gst/dataprotocol/Makefile.am:
19466         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
19467         * libs/gst/dataprotocol/dataprotocol.h:
19468         * pkgconfig/Makefile.am:
19469         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
19470         * pkgconfig/gstreamer-dataprotocol.pc.in:
19471         Ported dataprotol to 0.9. 
19472         Added pkgconfig files.
19473
19474 2005-07-05  Andy Wingo  <wingo@pobox.com>
19475
19476         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
19477         Default to returning TRUE for the case when tranform_caps returns
19478         a fixed caps, like for identity or volume.
19479
19480         * check/gst/gstbus.c (pound_bus_with_messages): 
19481         * check/gst/gstmessage.c (START_TEST): 
19482         * check/pipelines/simple_launch_lines.c (got_handoff): Application
19483         message API change.
19484
19485         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
19486         logic weaks here: always run transform_caps, trying passthrough
19487         operation only if the original caps intersects with the transform.
19488
19489         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
19490         source and sink caps.
19491
19492         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
19493         Intersect the peer caps with the pad template before going into
19494         transform_caps.
19495         (gst_base_transform_transform_caps): More debugging.
19496
19497         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
19498         src argument.
19499
19500 2005-07-04  Edward Hervey  <edward@fluendo.com>
19501
19502         * gst/gstutils.c:
19503         * gst/gstutils.h:
19504         (gst_pad_add_*_probe): now returns the signal id for better wrapping
19505         in bindings.
19506
19507 2005-07-04  Andy Wingo  <wingo@pobox.com>
19508
19509         * check/gst/gstpad.c: Only set explicit caps on pads.
19510
19511 2005-07-01  Andy Wingo  <wingo@pobox.com>
19512
19513         * tests/network-clock.scm: Commentary update.
19514
19515         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
19516         Didn't really make sense, not implementable with basetransform,
19517         etc.
19518         (gst_identity_transform): Unref inbuf via make_writable. Feeble
19519         attempt at implementing the sync property, needs an unlock method.
19520
19521         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
19522         New func, by default returns the same caps (the identity
19523         transformation).
19524         (gst_base_transform_getcaps): Uses transform_caps to return
19525         something sensible.
19526         (gst_base_transform_setcaps): Complicated logic to get caps on
19527         both pads, even if they are different, and to call set_caps once
19528         for every time both pads get their caps set.
19529         (gst_base_transform_handle_buffer): Give the ref to the transform
19530         function. Allows in-place modification of the buffer.
19531
19532         * gst/base/gstbasetransform.h (transform_caps): New class method.
19533         Given caps on one side, what can I do on the other.
19534         (set_caps): Take two caps, one for each side of the element.
19535
19536         * gst/gstpad.h:
19537         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
19538         caps in place. This is safe because we can check the mutability of
19539         the caps, and a good idea because fixate functions are just called
19540         as a matter of last resort. (Not actually implemented.)
19541         (gst_pad_set_caps): If the caps we're setting is actually the same
19542         as the existing pad caps, just update the pointer without calling
19543         setcaps. Assert that caps is either NULL or fixed, as per the
19544         docs.
19545
19546         * gst/gstghostpad.c: Update for fixate changes.
19547
19548 2005-07-02  Andy Wingo  <wingo@pobox.com>
19549
19550         * gst/gstcaps.c:
19551         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
19552         two refcounts makes it immutable, which is enough. Doc more.
19553
19554 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
19555
19556         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
19557           Put the mini_object into GValue as a mini_object,
19558           not a gpointer, since that's how we declared
19559           the signal.
19560
19561 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19562
19563         * examples/pwg/Makefile.am:
19564           Fix buildbot again.
19565
19566 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19567
19568         * docs/pwg/building-testapp.xml:
19569           Add extra check.
19570         * examples/pwg/Makefile.am:
19571           Fix buildbot.
19572
19573 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19574
19575         * configure.ac:
19576         * examples/Makefile.am:
19577         * examples/pwg/Makefile.am:
19578         * examples/pwg/extract.pl:
19579           Enable building the PWG examples.
19580         * docs/pwg/advanced-interfaces.xml:
19581           Add URI interface stub.
19582         * docs/pwg/advanced-types.xml:
19583         * docs/pwg/other-autoplugger.xml:
19584         * docs/pwg/appendix-porting.xml:
19585         * docs/pwg/pwg.xml:
19586           Add porting guide (mostly stubs), remove autoplugging (see ADM).
19587         * docs/pwg/building-boiler.xml:
19588         * docs/pwg/building-chainfn.xml:
19589         * docs/pwg/building-pads.xml:
19590         * docs/pwg/building-props.xml:
19591         * docs/pwg/building-state.xml:
19592         * docs/pwg/building-testapp.xml:
19593           Update the building-*.xml parts for 0.9 changes. All examples
19594           code blocks compile in examples/pwg/*.
19595
19596 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19597
19598         * docs/manual/advanced-autoplugging.xml:
19599         * docs/manual/appendix-checklist.xml:
19600         * docs/manual/appendix-integration.xml:
19601         * docs/manual/highlevel-components.xml:
19602           Fix playbin/decodebin examples, update docs a bit, mention bus
19603           instead of signals in various places, mention kmplayer and
19604           kaffeine since they have a working GStreamer backend in the KDE
19605           section.
19606
19607 2005-06-30  Wim Taymans  <wim@fluendo.com>
19608
19609         * CHANGES-0.9:
19610         * docs/design/draft-ghostpads.txt:
19611         * docs/design/draft-push-pull.txt:
19612         * docs/design/draft-query.txt:
19613         * docs/design/part-TODO.txt:
19614         * docs/design/part-query.txt:
19615         Added CHANGES-0.9 doc, updated status of other docs.
19616         
19617         * gst/gstquery.h:
19618         Remove "hmm" macro
19619
19620 2005-06-30  Wim Taymans  <wim@fluendo.com>
19621
19622         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
19623         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
19624         (gst_base_sink_change_state):
19625         * gst/base/gstbasesink.h:
19626         Some tweaks, only EOS and a buffer complete a preroll.
19627
19628 2005-06-30  Andy Wingo  <wingo@pobox.com>
19629
19630         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
19631         activate_push down to the internal pad as well.
19632
19633 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
19634
19635         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19636
19637         * gst/gsttaginterface.c:
19638           Some documentation fixes (#307394 and #307397).
19639
19640 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
19641
19642         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19643
19644         * gst/gstvalue.c: (gst_value_intersect_list):
19645           Fix memleak (#309125).
19646
19647 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19648
19649         * docs/manual/advanced-dataaccess.xml:
19650           Fix fakesrc example to compile; doesn't work, bug somewhere...?
19651         * docs/manual/basics-pads.xml:
19652           Add reference for filtered caps to above chapter.
19653
19654 2005-06-30  Wim Taymans  <wim@fluendo.com>
19655
19656         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
19657         (gst_bin_change_state):
19658         Probes are gone.
19659         Lame attempt at making the state change function a bit
19660         more readable.
19661
19662 2005-06-30  Wim Taymans  <wim@fluendo.com>
19663
19664         * docs/design/part-clocks.txt:
19665         * docs/design/part-element-sink.txt:
19666         * docs/design/part-events.txt:
19667         * docs/design/part-preroll.txt:
19668         * docs/design/part-states.txt:
19669         Some more tweeks and additions to the docs.
19670
19671 2005-06-30  Wim Taymans  <wim@fluendo.com>
19672
19673         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
19674         (default_have_data), (gst_pad_class_init), (gst_pad_init),
19675         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
19676         (gst_pad_check_pull_range), (gst_pad_get_range),
19677         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
19678         * gst/gstpad.h:
19679         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
19680         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
19681         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
19682         (gst_pad_remove_buffer_probe):
19683         Removed atomic operations, use existing LOCK.
19684         Move exception handling out of main code path.
19685
19686 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19687
19688         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
19689         (silly_return_true_function), (gst_pad_class_init),
19690         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
19691         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
19692         (gst_pad_send_event):
19693           Fix accumulator, add default value by using _emitv() instead
19694           of _emit() for signal emission.
19695
19696 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19697
19698         * docs/manual/advanced-dataaccess.xml:
19699         * examples/manual/Makefile.am:
19700           Add probe example.
19701         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
19702           Make work (??).
19703
19704 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
19705
19706         * gst/elements/gstfilesink.c: (gst_filesink_render):
19707           Simplify code so that we don't have to handle short
19708           writes and return GST_FLOW_ERROR if an error occured.
19709
19710 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19711
19712         * docs/gst/gstreamer-docs.sgml:
19713           Remove probes more.
19714
19715 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19716
19717         * docs/gst/gstreamer-sections.txt:
19718         * docs/gst/tmpl/gstpad.sgml:
19719         * docs/gst/tmpl/gstprobe.sgml:
19720         * gst/Makefile.am:
19721         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
19722         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
19723         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
19724         (gst_pad_push_event), (gst_pad_send_event):
19725         * gst/gstpad.h:
19726         * gst/gstutils.c: (gst_pad_add_data_probe),
19727         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
19728         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
19729         (gst_pad_remove_buffer_probe):
19730         * gst/gstutils.h:
19731           Remove old probes, add new g-signal-based probes and some utility
19732           functions.
19733
19734 2005-06-29  Edward Hervey  <edward@fluendo.com>
19735
19736         * gst/gstelementfactory.c:
19737         * gst/gstutils.h:
19738         * gst/gstutils.c:
19739         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
19740         the definition to the header file.
19741
19742 2005-06-29  Andy Wingo  <wingo@pobox.com>
19743
19744         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
19745         plugins from the source directory.
19746
19747 2005-06-29  Wim Taymans  <wim@fluendo.com>
19748
19749         * docs/gst/tmpl/gstbuffer.sgml:
19750         * docs/gst/tmpl/gstclock.sgml:
19751         Some fixings for blantently wrong text.
19752
19753 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19754
19755         * check/Makefile.am:
19756         * gst/gst.c: (add_path_func), (init_pre):
19757         * gst/gstregistry.c: (gst_registry_add_path):
19758           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
19759           only scan the GST_PLUGIN_PATH locations, and not add
19760           system locations
19761
19762 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19763
19764         * docs/gst/gstreamer-sections.txt:
19765         * docs/gst/tmpl/gstbasesrc.sgml:
19766         * gst/gstelement.c:
19767         * gst/gstelement.h:
19768         * gst/gstevent.c:
19769         * gst/gstutils.c:
19770           doc fixes
19771
19772 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19773
19774         * docs/manual/advanced-autoplugging.xml:
19775           Fix autoplugging example.
19776
19777 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19778
19779         * docs/manual/advanced-autoplugging.xml:
19780         * docs/manual/mime-world.fig:
19781           Try to get autoplugging working, fix type detection. Fix text
19782           in hello-world image.
19783
19784 2005-06-29  Wim Taymans  <wim@fluendo.com>
19785
19786         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19787         (gst_base_sink_change_state):
19788         Small debug line.
19789
19790         * gst/gstclock.h:
19791         map SIGNAL and BROADCAST to the right function.
19792
19793         * gst/gstobject.h:
19794         Remove redundant braces.
19795
19796         * gst/gstpad.c: (gst_pad_set_caps):
19797         Don't call setcaps function when reseting caps to NULL.
19798
19799         * gst/gstsystemclock.c: (gst_system_clock_dispose),
19800         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
19801         (gst_system_clock_id_unschedule):
19802         Use BROADCAST as this is what we do.
19803
19804 2005-06-29  Wim Taymans  <wim@fluendo.com>
19805
19806         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19807         We are actually prerolling before commiting the state
19808         change. 
19809
19810 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19811
19812         * docs/manual/advanced-clocks.xml:
19813         * docs/manual/advanced-interfaces.xml:
19814         * docs/manual/advanced-metadata.xml:
19815         * docs/manual/advanced-position.xml:
19816         * docs/manual/advanced-schedulers.xml:
19817         * docs/manual/advanced-threads.xml:
19818         * docs/manual/appendix-porting.xml:
19819         * docs/manual/basics-bins.xml:
19820         * docs/manual/basics-bus.xml:
19821         * docs/manual/basics-elements.xml:
19822         * docs/manual/basics-helloworld.xml:
19823         * docs/manual/basics-pads.xml:
19824         * docs/manual/highlevel-components.xml:
19825         * docs/manual/manual.xml:
19826         * docs/manual/thread.fig:
19827           Update (until threads/scheduling) Application Development Manual;
19828           remove GstThread, add GstBus, add simple porting checklist, add
19829           documentation for tag writing, clocks, make all examples until this
19830           part compile and run.
19831         * examples/manual/Makefile.am:
19832           Update from changes to Application Development Manual; add bus
19833           example, remove thread example.
19834
19835 2005-06-28  Wim Taymans  <wim@fluendo.com>
19836
19837         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
19838         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
19839         (gst_bus_source_dispatch):
19840         Add debugging messages.
19841         Make internal methods static.
19842         Handle the case where the bus is flushed in the handler.
19843         
19844         * gst/gstelement.c: (gst_element_get_bus):
19845         Fix refcount in _get_bus();
19846
19847         * gst/gstpipeline.c: (gst_pipeline_change_state),
19848         (gst_pipeline_get_clock_func):
19849         Clock refcounting fixes.
19850         Handle the case where preroll timed out more gracefully.
19851         
19852         * gst/gstsystemclock.c: (gst_system_clock_dispose):
19853         Clean up the internal thread in dispose. This is needed
19854         for subclasses that actually get disposed.
19855         
19856         * gst/schedulers/threadscheduler.c:
19857         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
19858         (gst_thread_scheduler_dispose):
19859         Free thread pool in dispose.
19860
19861 2005-06-28  Andy Wingo  <wingo@pobox.com>
19862
19863         * tests/network-clock-utils.scm (debug, print-event): New utils.
19864
19865         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
19866         (*packet-loss*): Unified loss probability.
19867         (network-time): Report out-of-band events.
19868
19869         * tests/plot-data: Add support for out-of-band events. Hack it
19870         into this script instead of passing it down the pipe; should fix
19871         this later.
19872
19873 2005-06-28  Wim Taymans  <wim@fluendo.com>
19874
19875         * docs/gst/gstreamer.types:
19876         * docs/gst/tmpl/gstbasesrc.sgml:
19877         * docs/gst/tmpl/gstpad.sgml:
19878         Docs fixes.
19879
19880 2005-06-28  Wim Taymans  <wim@fluendo.com>
19881
19882         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
19883         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
19884         (gst_proxy_pad_do_fixatecaps):
19885         Correctly proxy the check_pull_range function.
19886
19887 2005-06-28  Andy Wingo  <wingo@pobox.com>
19888
19889         * tests/network-clock.scm: Removed need for slib.
19890         
19891 2005-06-28  Wim Taymans  <wim@fluendo.com>
19892
19893         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
19894         (gst_basesink_preroll_queue_flush):
19895         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
19896         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
19897         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
19898         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
19899         (gst_proxy_pad_set_property):
19900         * gst/gstpad.c:
19901         * gst/gstpad.h:
19902         * gst/gstqueue.c: (gst_queue_init):
19903         The deprecated pad loop function is removed now.
19904
19905 2005-06-28  Andy Wingo  <wingo@pobox.com>
19906
19907         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
19908         New parameters, simulate network packet loss.
19909
19910         * tests/network-clock-utils.scm: Initialize the RNG.
19911
19912 2005-06-28  Wim Taymans  <wim@fluendo.com>
19913
19914         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
19915         (gst_basesink_event), (gst_basesink_deactivate):
19916         Flushing the preroll queue always needs to unlock the waiters.
19917
19918 2005-06-28  Edward Hervey  <edward@fluendo.com>
19919
19920         * gst/gstpipeline.c: (gst_pipeline_send_event): 
19921         Wheen a seek was successful on a pipeline, set the stream_time to the
19922         seek offset in order to have a synchronized stream_time.
19923
19924 2005-06-28  Wim Taymans  <wim@fluendo.com>
19925
19926         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
19927         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
19928         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
19929         (gst_proxy_pad_do_fixatecaps):
19930         Call wrapper function instead of just calling the function
19931         pointers. This takes care of any locking and whatmore.
19932
19933 2005-06-28  Wim Taymans  <wim@fluendo.com>
19934
19935         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
19936         (gst_pad_pull_range):
19937         * gst/gstpad.h:
19938         CONNECTED -> LINKED.
19939
19940 2005-06-28  Andy Wingo  <wingo@pobox.com>
19941
19942         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
19943         source-munging commit!!!
19944
19945         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
19946         (gst_object_sink): Take gpointer arguments, not GstObject --
19947         avoids casts. Like GLib.
19948
19949         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
19950         activate.
19951
19952 2005-06-27  Andy Wingo  <wingo@pobox.com>
19953
19954         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
19955         remaining buffer.
19956
19957         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
19958         returns a sorted copy of the trace list.
19959         (gst_alloc_trace_print_live): New API, only prints traces with
19960         live objects. Sort the list.
19961         (gst_alloc_trace_print_all): Sort the list.
19962         (gst_alloc_trace_print): Align columns.
19963
19964         * gst/elements/gstttypefindelement.c:
19965         * gst/elements/gsttee.c:
19966         * gst/base/gstbasesrc.c:
19967         * gst/base/gstbasesink.c:
19968         * gst/base/gstbasetransform.c:
19969         * gst/gstqueue.c: Adapt for pad activation changes.
19970
19971         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
19972         sched.
19973         (gst_pipeline_dispose): Drop ref on sched.
19974
19975         * gst/gstpad.c (gst_pad_init): Set the default activate func.
19976         (gst_pad_activate_default): Push mode by default.
19977         (pre_activate_switch, post_activate_switch): New stubs, things to
19978         do before and after switching activation modes on pads.
19979         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
19980         the pad's activate function to choose which mode to activate.
19981         Shortcut on deactivation and call the right function directly.
19982         (gst_pad_activate_pull): New API, (de)activates a pad in pull
19983         mode.
19984         (gst_pad_activate_push): New API, same for push mode.
19985         (gst_pad_set_activate_function) 
19986         (gst_pad_set_activatepull_function) 
19987         (gst_pad_set_activatepush_function): Setters for new API.
19988
19989         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
19990         Trace all miniobjects.
19991         (gst_mini_object_make_writable): Unref the arg if we copy, like
19992         gst_caps_make_writable.
19993
19994         * gst/gstmessage.c (_gst_message_initialize): No trace init.
19995
19996         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
19997         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
19998         Adapt for new pad API.
19999
20000         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
20001
20002         * gst/gstelement.h:
20003         * gst/gstelement.c (gst_element_iterate_src_pads) 
20004         (gst_element_iterate_sink_pads): New API functions.
20005         
20006         * gst/gstelement.c (iterator_fold_with_resync): New utility,
20007         should fold into gstiterator.c in some form.
20008         (gst_element_pads_activate): Simplified via use of fold and
20009         delegation of decisions to gstpad->activate.
20010
20011         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
20012         help in debugging.
20013
20014         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
20015         class once in init, like gstmessage. Didn't run into this issue
20016         but it seems correct. Don't initialize a trace, gstminiobject does
20017         that.
20018
20019         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
20020         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
20021         to the bus.
20022         (assert_live_count): New util function, uses alloc traces to check
20023         cleanup.
20024
20025         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
20026         To be modified when unlink drops the internal pad.
20027
20028 2005-06-27  Wim Taymans  <wim@fluendo.com>
20029
20030         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
20031         (gst_bin_change_state):
20032         Cleanup the get_state() function a little, make sure it
20033         iterates the same set of elements.
20034         Added stub iterate_state_order().
20035
20036 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
20037
20038         * docs/gst/gstreamer-docs.sgml:
20039         * docs/gst/gstreamer-sections.txt:
20040         * docs/gst/gstreamer.types:
20041         * docs/gst/tmpl/gstbasesink.sgml:
20042         * docs/gst/tmpl/gstbasesrc.sgml:
20043         * docs/gst/tmpl/gstbasetransform.sgml:
20044         * docs/gst/tmpl/gstelement.sgml:
20045         * docs/gst/tmpl/gstiterator.sgml:
20046         * gst/base/gstbasesrc.c:
20047         * gst/base/gstbasesrc.h:
20048         * gst/base/gstbasetransform.h:
20049         * gst/gstelement.c:
20050         * gst/gstiterator.h:
20051           adding basetransform and iterator docs
20052
20053 2005-06-27  Andy Wingo  <wingo@pobox.com>
20054
20055         * docs/design/part-activation.txt: Notes on how activation should
20056         work -- not quite implemented yet.
20057
20058 2005-06-25  Wim Taymans  <wim@fluendo.com>
20059
20060         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
20061         At least get the chain function correct, needs more
20062         fixing.
20063
20064 2005-06-25  Wim Taymans  <wim@fluendo.com>
20065
20066         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
20067         (gst_basesink_handle_object), (gst_basesink_event),
20068         (gst_basesink_do_sync), (gst_basesink_handle_event),
20069         (gst_basesink_change_state):
20070         * gst/gsttask.h:
20071         Right, two problems here: ghostpads don't take locks and
20072         glib _rec_mutex_lock_full() with depth==0 still locks.
20073         Catch illegal locking and g_warn them.
20074
20075 2005-06-25  Wim Taymans  <wim@fluendo.com>
20076
20077         * check/states/sinks.c: (START_TEST), (gst_object_suite):
20078         Have to check for completion now...
20079
20080 2005-06-25  Wim Taymans  <wim@fluendo.com>
20081
20082         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
20083         (gst_basesink_handle_object), (gst_basesink_event),
20084         (gst_basesink_do_sync), (gst_basesink_handle_event),
20085         (gst_basesink_change_state):
20086         * gst/gstpad.h:
20087         Unlock STREAM_LOCK whatever the recursion was.
20088
20089 2005-06-25  Wim Taymans  <wim@fluendo.com>
20090
20091         * gst/base/gstbasesink.c: (gst_basesink_set_property),
20092         (gst_basesink_preroll_queue_empty),
20093         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
20094         (gst_basesink_event), (gst_basesink_do_sync),
20095         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
20096         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
20097         (gst_basesink_change_state):
20098         Reworked the base sink, handle event and buffer serialisation
20099         correctly and removed possible deadlock.
20100         Handle EOS correctly.
20101
20102 2005-06-25  Wim Taymans  <wim@fluendo.com>
20103
20104         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
20105         (gst_pipeline_change_state):
20106         * tools/gst-launch.c: (check_intr), (event_loop), (main):
20107         Allow elements to post EOS in the state change function.
20108         Fix up -launch, make it exit the poll loop when the
20109         pipeline actually changed state.
20110         Fix up warning parsing in -launch.
20111
20112 2005-06-25  Wim Taymans  <wim@fluendo.com>
20113
20114         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
20115         (gst_tee_sink_activate):
20116         Core takes STREAM_LOCK for us now.
20117
20118 2005-06-25  Wim Taymans  <wim@fluendo.com>
20119
20120         * gst/gstelement.c: (gst_element_get_state_func),
20121         (gst_element_set_state):
20122         * gst/gstelement.h:
20123         * gst/gstmessage.c: (gst_message_parse_error),
20124         (gst_message_parse_warning):
20125         Keep track of current target state while performing a state
20126         change so that subclasses can do something interesting.
20127         Fix parsing of warning/error messages when GError is NULL.
20128
20129 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20130
20131         * docs/gst/Makefile.am:
20132         * docs/gst/gstreamer-docs.sgml:
20133         * docs/gst/gstreamer-sections.txt:
20134         * docs/gst/gstreamer.types:
20135         * docs/gst/tmpl/gstbasesink.sgml:
20136         * docs/gst/tmpl/gstbasesrc.sgml:
20137         * docs/gst/tmpl/gstbin.sgml:
20138         * docs/gst/tmpl/gstcompat.sgml:
20139         * docs/gst/tmpl/gstfakesink.sgml:
20140         * docs/gst/tmpl/gstfakesrc.sgml:
20141         * docs/gst/tmpl/gstfilesink.sgml:
20142         * docs/gst/tmpl/gstfilesrc.sgml:
20143         * docs/gst/tmpl/gstindex.sgml:
20144         * docs/manual/appendix-quotes.xml:
20145         * gst/base/gstbasesrc.h:
20146         * gst/elements/gstfakesrc.h:
20147         * gst/gstmessage.h:
20148           start pulling in base classes and elements in our docs
20149
20150 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
20151
20152         * docs/gst/Makefile.am:
20153         * docs/libs/Makefile.am:
20154           fixed make distcheck with gtk-doc 1.3
20155
20156 2005-06-23  Wim Taymans  <wim@fluendo.com>
20157
20158         * gst/gstelement.c: (gst_element_get_state_func),
20159         (gst_element_set_state), (gst_element_change_state):
20160         When the state did not change, also report NO_PREROLL
20161         when it matters.
20162
20163 2005-06-23  Wim Taymans  <wim@fluendo.com>
20164
20165         * gst/gstpad.c: (gst_pad_event_default):
20166         * gst/gstqueue.c: (gst_queue_loop):
20167         No unsafe task pausing please.
20168
20169 2005-06-23  Wim Taymans  <wim@fluendo.com>
20170
20171         * gst/schedulers/threadscheduler.c:
20172         (gst_thread_scheduler_task_start),
20173         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
20174         Ref the task before pushing it on the threadpool. This
20175         makes sure that we have a ref when the threadfunction is
20176         actually called.
20177
20178 2005-06-23  Andy Wingo  <wingo@pobox.com>
20179
20180         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
20181         offset is greater than the file's size.
20182
20183         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
20184         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
20185         * gst/gstobject.c (gst_object_class_init): Make the class lock
20186         recursive. Wim won't let me drop deep_notify. Decodebin works
20187         again, whoopdy doo.
20188
20189         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
20190         internal pad, and hacks accordingly. Doesn't do it on the target
20191         pad because we change its caps. Probably catches all cases of
20192         interest tho.
20193         (gst_ghost_pad_set_property): Connect to notify::caps as
20194         appropritate.
20195
20196         * tests/network-clock.scm (plot-simulation): Pipe data to the
20197         elite python skript.
20198
20199         * tests/network-clock-utils.scm (define-parameter): New macro,
20200         defines a parameter that can be set via the command line.
20201         (set-parameter!, parse-parameter-arguments): Command line args
20202         parser.
20203
20204         * tests/plot-data: Simple matplotlib-based plotter, takes input on
20205         stdin.
20206
20207 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
20208
20209         * gst/elements/gsttypefindelement.c:
20210         (gst_type_find_element_handle_event):
20211           Don't restart typefinding on a discont.
20212         * gst/gstelement.c: (gst_element_set_state):
20213           Debug spelling fix.
20214         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
20215           Allow changing mode of an active pad.
20216           Debug output fixes.
20217         * gst/registries/gstlibxmlregistry.c: (load_feature):
20218           Don't cast a static pad template to a normal pad template.
20219
20220 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20221
20222         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
20223         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
20224           remove gst_strtoll completely, since it didn't actually do
20225           anything more than what g_ascii_strtoull already does.
20226           check for range errors when deserializing
20227           do a cast for the unsigned cases; but further fixing needs
20228           a decision on what the interpretation of "(int)" and
20229           deserialization should be for values that fall outside the
20230           type's boundaries (ie, refuse, or interpret as casting)
20231
20232 2005-06-23  Wim Taymans  <wim@fluendo.com>
20233
20234         * check/Makefile.am:
20235         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
20236         * docs/design/part-live-source.txt:
20237         * docs/design/part-states.txt:
20238         * gst/base/gstbasesrc.c: (gst_basesrc_init),
20239         (gst_basesrc_set_live), (gst_basesrc_is_live),
20240         (gst_basesrc_get_range), (gst_basesrc_activate),
20241         (gst_basesrc_change_state):
20242         * gst/base/gstbasesrc.h:
20243         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
20244         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
20245         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
20246         * gst/gstelement.c: (gst_element_get_state_func),
20247         (gst_element_set_state):
20248         * gst/gstelement.h:
20249         * gst/gsttypes.h:
20250         * tools/gst-launch.c: (event_loop), (main):
20251         Added support for live sources and other elements that
20252         cannot do preroll.
20253         Updated design docs, added live-source design doc.
20254         Implemented live source functionality in basesrc
20255         Fix error condition in _bin_get_state()
20256         Implement live source handling in -launch.
20257         Added check for live sources.
20258         Fixed case in GstBin where elements were changed state
20259         multiple times.
20260
20261
20262 2005-06-23  Andy Wingo  <wingo@pobox.com>
20263
20264         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
20265         borken refcounting.
20266
20267         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
20268         gst_caps_replace takes care of this for us.
20269
20270         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
20271         gst_pad_set_caps on the target, not just its setcaps() function.
20272
20273         * tests/network-clock.scm: 
20274         * tests/network-clock-utils.scm: A network clock simulator.
20275         Something of an algorithmic testbed before doing something in C.
20276
20277 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20278
20279         * check/Makefile.am:
20280         * check/gst/capslist.h:
20281           copy over from 0.8, and add two with bitmasks specified with
20282           (int) 0xFF...
20283         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
20284           add test to parse everything from capslist.h
20285         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
20286         (main):
20287           add test for structure deserialization
20288         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
20289           add tests for deserialization of strings to int types
20290         * gst/gststructure.c: (gst_structure_nth_field_name):
20291         * gst/gststructure.h:
20292           add a way to get the name of a field referenced by index
20293         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
20294           instead of checking if the resulting long long lies between
20295           min and max, we check if the long long would fit into
20296           a number of bytes for the final type.
20297           This fixes cases where a string represents 2^32 - 1, which
20298           when cast to int would be the (valid) -1, but is bigger than
20299           G_MAXINT
20300
20301 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20302
20303         * gst/parse/grammar.y:
20304           add a log line for type deserialization
20305
20306 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20307
20308         * check/gst/gstvalue.c: (START_TEST):
20309         * gst/gstvalue.c: (gst_value_deserialize):
20310           return long long, not int, so gint64 deserialization actually
20311           works.  Is there any flag that makes the compiler check this ?
20312           Fixes #308559
20313
20314 2005-06-22  Wim Taymans  <wim@fluendo.com>
20315
20316         * gst/gstbuffer.h:
20317         Added convenience macros for setting buffers in GValue.
20318
20319 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
20320
20321         * check/gst/.cvsignore:
20322         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
20323           add a test deserializing int64, and comment part out because
20324           it fails, yay !
20325
20326 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
20327
20328         * check/Makefile.am:
20329         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
20330         * testsuite/Makefile.am:
20331         * testsuite/caps/Makefile.am:
20332         * testsuite/caps/value_serialize.c:
20333         * testsuite/test_gst_init.c:
20334           move a value_serialize test over
20335
20336 2005-06-20  Wim Taymans  <wim@fluendo.com>
20337
20338         * gst/gstpad.c:
20339         Small doc updates.
20340         
20341         * gst/gstvalue.c: (gst_value_compare_buffer),
20342         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
20343         (gst_value_compare_flags), (gst_value_serialize_flags),
20344         (gst_value_deserialize_flags), (_gst_value_initialize):
20345         Fix serialisation of buffers, they are not boxed types anymore
20346
20347 2005-06-20  Wim Taymans  <wim@fluendo.com>
20348
20349         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
20350         Testcase to show error in buffer-on-caps serialisation.
20351
20352 2005-06-20  Andy Wingo  <wingo@pobox.com>
20353
20354         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
20355         will be adding to later.
20356
20357         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
20358         if its socks fill with rocks.
20359         (gst_system_clock_obtain): Set the name on object construction.
20360         Avoid double-checked locking.
20361
20362 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
20363
20364         * gst/gsturi.c: (gst_element_make_from_uri):
20365           Fix potential endless loop.
20366
20367 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20368
20369         * check/Makefile.am:
20370           add gsttag
20371         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
20372         (main):
20373           move over from testsuite dir and clean up
20374         * configure.ac:
20375         * gst/gsttag.c:
20376         * testsuite/Makefile.am:
20377         * testsuite/tags/.cvsignore:
20378         * testsuite/tags/Makefile.am:
20379         * testsuite/tags/merge.c:
20380           remove testsuite/tags
20381
20382 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20383
20384         * docs/gst/gstreamer-sections.txt:
20385         * docs/gst/tmpl/gstenumtypes.sgml:
20386         * win32/gstenumtypes.c:
20387           clean up documentation build a little
20388
20389 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20390
20391         * check/gstcheck.h:
20392           add macros for checking refcounts on objects and caps
20393         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
20394           add some more unit tests
20395         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
20396         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
20397           fix leaked refcounts (I hope :)) so unittest works
20398         * gst/gstpad.h:
20399           whitespace removal
20400
20401 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20402
20403         * configure.ac: back to HEAD
20404
20405 === release 0.9.1 ===
20406
20407 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
20408
20409         * NEWS:
20410         * RELEASE:
20411           updated
20412
20413 2005-06-17  Andy Wingo  <wingo@pobox.com>
20414
20415         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
20416         assert; it's always possible that the pad gets deactivated in
20417         between the checks in gstpad.c and the implementation. Rely on
20418         finish_preroll() to return a FLUSHING or similar instead of on the
20419         assert.
20420         
20421         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
20422         clock and post an EOS message if we come out of finish_preroll in
20423         the playing state.
20424
20425 2005-06-16  David Schleef  <ds@schleef.org>
20426
20427         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
20428         (gst_capsfilter_set_property): Allow NULL as possible value
20429         for filter_caps property, indicating GST_CAPS_ANY.
20430
20431 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
20432
20433         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
20434           fix debug output
20435         * gst/schedulers/Makefile.am:
20436           use libgst prefix
20437         * gstreamer.spec.in:
20438           fix spec for it
20439
20440 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
20441
20442         * gstreamer.spec.in:
20443           clean up
20444
20445 2005-06-08  Andy Wingo  <wingo@pobox.com>
20446
20447         * gst/gstutils.c: RPAD fixes all around.
20448         (gst_element_link_pads): Refcounting fixes.
20449
20450         * tools/gst-inspect.c:
20451         * tools/gst-xmlinspect.c:
20452         * parse/grammar.y:
20453         * gst/base/gsttypefindhelper.c:
20454         * gst/base/gstbasesink.c:
20455         * gst/gstqueue.c: RPAD fixes.
20456
20457         * gst/gstghostpad.h:
20458         * gst/gstghostpad.c: New ghost pad implementation as full proxy
20459         pads. The tricky thing is they provide both source and sink
20460         interfaces, since they proxy the internal pad for the external
20461         pad, and vice versa. Implement with lower-level ProxyPad objects,
20462         with the interior proxy pad as a child of the exterior ghost pad.
20463         Should write a doc on this.
20464         
20465         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
20466         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
20467         gst_object API.
20468         
20469         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
20470         pads are real pads. No ghost pads in this file. Not documenting
20471         the myriad s/RPAD/PAD/ and REALIZE fixes.
20472         (gst_pad_class_init): Add properties for "direction" and
20473         "template". Both are construct-only, so they can't change during
20474         the life of the pad. Fixes properly deriving from GstPad.
20475         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
20476         derived objects, just set properties when creating the objects via
20477         g_object_new.
20478         (gst_pad_get_parent): Implement as a function, return NULL if the
20479         parent is not an element.
20480         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
20481         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
20482         
20483         * gst/gstobject.c (gst_object_class_init): Make name a construct
20484         property. Don't set it in the object init.
20485
20486         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
20487         with UNKNOWN direction.
20488         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
20489         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
20490         (gst_element_remove_pad): Remove ghost-pad special cases.
20491         (gst_element_pads_activate): Remove rpad cruft.
20492
20493         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
20494         catch the pad's-parent-not-an-element case.
20495
20496         * gst/gst.h: Include gstghostpad.h.
20497
20498         * gst/gst.c (init_post): No more real, ghost pads.
20499
20500         * gst/Makefile.am: Add gstghostpad.[ch].
20501
20502         * check/Makefile.am:
20503         * check/gst/gstbin.c:
20504         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
20505         into a bin creates ghost pads, and that the refcounts are right.
20506         Partly moved from gstbin.c.
20507
20508 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20509
20510         * check/gst-libs/.cvsignore:
20511         * check/gst/.cvsignore:
20512         * check/pipelines/.cvsignore:
20513           ignore more
20514         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
20515         (START_TEST), (cleanup_suite), (main):
20516           add some tests related to cleanup after running pipelines
20517
20518 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20519
20520         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
20521           add a testsuite for GstBuffer
20522
20523 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20524
20525         * gst/gstminiobject.h:
20526           add defines for accessing the refcount
20527
20528 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
20529
20530         * Makefile.am: added support for html unit test coverage reports
20531
20532 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
20533
20534         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
20535           Free existing caps if the capsfilter changes. Add a FIXME about
20536           setting those caps on the pads.
20537
20538         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
20539           Before adding a ghost pad to a parent bin, check that there isn't
20540           already one for the element on the bin. Prevents infinite recursion
20541           when using decodebin in parse pipelines. Andy says he'll rewrite the
20542           way this works anyway, so ignore the hack.
20543
20544 2005-06-02  Andy Wingo  <wingo@pobox.com>
20545
20546         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
20547         file size, pass it on to the type find helper.
20548
20549         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
20550         segment_start and segment_end properly according to the seek
20551         method. Segment_end is still a bit flaky because offset can be
20552         negative for CUR and END cases, but it takes -1 as an "unset"
20553         value.
20554
20555 2005-06-02  Wim Taymans  <wim@fluendo.com>
20556
20557         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
20558         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
20559         (gst_basesink_activate):
20560         * gst/base/gstbasesink.h:
20561         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
20562         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
20563         (gst_pad_query), (gst_pad_start_task):
20564         * gst/gstpad.h:
20565         * gst/gstqueue.c: (gst_queue_bufferalloc),
20566         (gst_queue_handle_sink_event), (gst_queue_chain):
20567         Bufferalloc: return GstFlowReturn to more accuratly report
20568         why allocation failed.
20569
20570 2005-06-02  Wim Taymans  <wim@fluendo.com>
20571
20572         * gst/gstpipeline.c: (gst_pipeline_send_event):
20573         Take snapshot of state without blocking.
20574
20575 2005-06-02  Wim Taymans  <wim@fluendo.com>
20576
20577         * docs/design/part-TODO.txt:
20578         * docs/design/part-caps.txt:
20579         * docs/design/part-clocks.txt:
20580         * docs/design/part-negotiation.txt:
20581         * docs/design/part-preroll.txt:
20582         Small doc updates 
20583
20584 2005-05-30  Wim Taymans  <wim@fluendo.com>
20585
20586         * gst/elements/gstidentity.c: (gst_identity_event),
20587         (gst_identity_transform), (gst_identity_get_property):
20588         Protect last_message property as it is accessed from
20589         multiple threads.
20590
20591 2005-05-30  Wim Taymans  <wim@fluendo.com>
20592
20593         * gst/gstelement.c: (gst_element_init),
20594         (gst_element_pads_activate), (gst_element_change_state):
20595         Slicker pad activation code.
20596
20597 2005-05-30  Wim Taymans  <wim@fluendo.com>
20598
20599         * gst/Makefile.am:
20600         * gst/gstelement.h:
20601         * gst/gstelementfactory.h:
20602         * gst/gsttypes.h:
20603         Move elementfactory methods to separate .h file.
20604
20605 2005-05-30  Wim Taymans  <wim@fluendo.com>
20606
20607         * docs/design/part-overview.txt:
20608         * gst/gstsystemclock.h:
20609         Small typo fixes, doc updates.
20610
20611 2005-05-30  Wim Taymans  <wim@fluendo.com>
20612
20613         * gst/gst.c: (gst_init_get_popt_table), (init_post),
20614         (init_popt_callback):
20615         Remove cpu-opt flag.
20616
20617 2005-05-30  Wim Taymans  <wim@fluendo.com>
20618
20619         * gst/gstbuffer.c: (gst_subbuffer_finalize),
20620         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
20621         * gst/gstbuffer.h:
20622         Avoid typechecking in places where not needed.
20623         Added accessor for malloc_data.
20624
20625 2005-05-30  Wim Taymans  <wim@fluendo.com>
20626
20627         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
20628         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
20629         (gst_pad_configure_sink), (gst_pad_configure_src),
20630         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
20631         (gst_pad_start_task):
20632         Propagate errors from _set_caps() in configure_src/sink
20633         functions instead of returning TRUE.
20634         FLUSH events can travel up and downstream
20635
20636
20637 2005-05-30  Wim Taymans  <wim@fluendo.com>
20638
20639         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
20640         (gst_basesink_activate):
20641         Handle EOS in preroll.
20642
20643 2005-05-30  Wim Taymans  <wim@fluendo.com>
20644
20645         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
20646         (gst_queue_loop), (gst_queue_handle_src_event):
20647         Remove old pieces of code
20648         Flushing the queue in an upstream event is a very bad idea.
20649
20650 2005-05-26  Andy Wingo  <wingo@pobox.com>
20651
20652         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
20653         gst_value_set_mini_object so as to add a ref on the object (which
20654         will be removed when the value is unset).
20655
20656         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
20657         arg type in ::handoff.
20658
20659         * gst/gstelement.c (gst_element_change_state): Also deactivate
20660         pads in READY->NULL, just in case the element didn't make it to
20661         PAUSED. Wingo tested, Wim approved.
20662
20663 2005-05-26  Wim Taymans  <wim@fluendo.com>
20664
20665         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
20666         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
20667         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
20668         A flushing pad cannot be used to alloc_buffer from.
20669
20670 2005-05-26  Wim Taymans  <wim@fluendo.com>
20671
20672         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
20673         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
20674         (gst_bus_source_dispatch), (gst_bus_source_finalize),
20675         (gst_bus_create_watch), (gst_bus_add_watch_full):
20676         * gst/gstbus.h:
20677         Implement a real GSource and use g_main_context_wakeup() to
20678         signal new messages instead of the socketpair.
20679
20680 2005-05-25  Wim Taymans  <wim@fluendo.com>
20681
20682         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
20683         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
20684         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
20685         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
20686         (gst_pad_send_event), (gst_pad_start_task):
20687         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
20688         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
20689         (gst_queue_sink_activate), (gst_queue_src_activate),
20690         (gst_queue_change_state):
20691         * gst/gstqueue.h:
20692         Fix state changes for non sinks. We now change sinks, then elements
20693         with unconnected srcpads, then the rest.
20694         More efficient queue unlocking in flush and state changes.
20695         Set the pad activate mode even if it does not have an activate
20696         function.
20697
20698 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20699
20700         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
20701           Don't go in pull mode for non-seekable sources.
20702         * gst/elements/gsttypefindelement.h:
20703         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
20704         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
20705         (free_entry), (stop_typefinding),
20706         (gst_type_find_element_handle_event), (find_peek),
20707         (gst_type_find_element_chain), (do_pull_typefind),
20708         (gst_type_find_element_change_state):
20709           Allow typefinding (w/o seeking) in push-mode, simplified version
20710           of what was in 0.8.
20711         * gst/gstutils.c: (gst_buffer_join):
20712         * gst/gstutils.h:
20713           gst_buffer_join() from 0.8.
20714
20715 2005-05-25  Wim Taymans  <wim@fluendo.com>
20716
20717         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
20718         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
20719         (gst_pad_send_event), (gst_pad_start_task):
20720         Disable attempt at mode switching until it is figured out.
20721
20722 2005-05-25  Wim Taymans  <wim@fluendo.com>
20723
20724         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
20725         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
20726         (gst_basesink_finish_preroll), (gst_basesink_chain),
20727         (gst_basesink_loop), (gst_basesink_activate),
20728         (gst_basesink_change_state):
20729         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
20730         (gst_basesrc_get_range), (gst_basesrc_loop),
20731         (gst_basesrc_activate):
20732         * gst/elements/gsttee.c: (gst_tee_sink_activate):
20733         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
20734         (gst_real_pad_init), (gst_real_pad_set_property),
20735         (gst_real_pad_get_property), (gst_pad_set_active),
20736         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
20737         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
20738         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
20739         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
20740         (gst_pad_event_default_dispatch), (gst_pad_event_default),
20741         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
20742         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
20743         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
20744         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
20745         (gst_pad_stop_task):
20746         * gst/gstpad.h:
20747         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
20748         (gst_queue_loop), (gst_queue_src_activate):
20749         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
20750         (gst_task_get_state):
20751         * gst/gsttask.h:
20752         * gst/schedulers/threadscheduler.c:
20753         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
20754         Implement gst_pad_pause/start/stop_task(), take STREAM lock
20755         in task function.
20756         Remove ACTIVE pad flag, use FLUSHING everywhere
20757         Added _pad_chain(), _pad_get_range() to call chain/getrange 
20758         functions.
20759         Add locks around IS_FLUSHING when reading.
20760         Take STREAM lock in chain(), get_range() functions so plugins
20761         don't need to take it anymore.
20762         
20763
20764
20765 2005-05-25  Wim Taymans  <wim@fluendo.com>
20766
20767         * tools/gst-launch.c: (event_loop):
20768         Unref message after using its contents instead of
20769         before.
20770
20771 2005-05-24  Wim Taymans  <wim@fluendo.com>
20772
20773         * docs/design/draft-ghostpads.txt:
20774         * docs/design/draft-push-pull.txt:
20775         * docs/design/draft-query.txt:
20776         * docs/design/part-overview.txt:
20777         Docs updates, added general overview doc.
20778
20779 2005-05-21  David Schleef  <ds@schleef.org>
20780
20781         * docs/gst/tmpl/old/GstBin.sgml:
20782         * docs/gst/tmpl/old/GstBuffer.sgml:
20783         * docs/gst/tmpl/old/GstCaps.sgml:
20784         * docs/gst/tmpl/old/GstClock.sgml:
20785         * docs/gst/tmpl/old/GstCompat.sgml:
20786         * docs/gst/tmpl/old/GstData.sgml:
20787         * docs/gst/tmpl/old/GstElement.sgml:
20788         * docs/gst/tmpl/old/GstEvent.sgml:
20789         * docs/gst/tmpl/old/GstIndex.sgml:
20790         * docs/gst/tmpl/old/GstStructure.sgml:
20791         * docs/gst/tmpl/old/GstTag.sgml:
20792         * docs/gst/tmpl/old/cothreads.sgml:
20793         * docs/gst/tmpl/old/cothreads_compat.sgml:
20794         * docs/gst/tmpl/old/gettext.sgml:
20795         * docs/gst/tmpl/old/gobject2gtk.sgml:
20796         * docs/gst/tmpl/old/grammar.tab.sgml:
20797         * docs/gst/tmpl/old/gst-i18n-app.sgml:
20798         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
20799         * docs/gst/tmpl/old/gst_private.sgml:
20800         * docs/gst/tmpl/old/gstaggregator.sgml:
20801         * docs/gst/tmpl/old/gstarch.sgml:
20802         * docs/gst/tmpl/old/gstatomic_impl.sgml:
20803         * docs/gst/tmpl/old/gstbufferstore.sgml:
20804         * docs/gst/tmpl/old/gstdata_private.sgml:
20805         * docs/gst/tmpl/old/gstdisksink.sgml:
20806         * docs/gst/tmpl/old/gstdisksrc.sgml:
20807         * docs/gst/tmpl/old/gstelementfactory.sgml:
20808         * docs/gst/tmpl/old/gstextratypes.sgml:
20809         * docs/gst/tmpl/old/gstfakesink.sgml:
20810         * docs/gst/tmpl/old/gstfakesrc.sgml:
20811         * docs/gst/tmpl/old/gstfdsink.sgml:
20812         * docs/gst/tmpl/old/gstfdsrc.sgml:
20813         * docs/gst/tmpl/old/gstfilesink.sgml:
20814         * docs/gst/tmpl/old/gstfilesrc.sgml:
20815         * docs/gst/tmpl/old/gsthttpsrc.sgml:
20816         * docs/gst/tmpl/old/gstidentity.sgml:
20817         * docs/gst/tmpl/old/gstindexfactory.sgml:
20818         * docs/gst/tmpl/old/gstmarshal.sgml:
20819         * docs/gst/tmpl/old/gstmd5sink.sgml:
20820         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
20821         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
20822         * docs/gst/tmpl/old/gstpadtemplate.sgml:
20823         * docs/gst/tmpl/old/gstpipefilter.sgml:
20824         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
20825         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
20826         * docs/gst/tmpl/old/gstshaper.sgml:
20827         * docs/gst/tmpl/old/gstspider.sgml:
20828         * docs/gst/tmpl/old/gstspideridentity.sgml:
20829         * docs/gst/tmpl/old/gststatistics.sgml:
20830         * docs/gst/tmpl/old/gsttee.sgml:
20831         * docs/gst/tmpl/old/gsttimecache.sgml:
20832         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
20833         * docs/gst/tmpl/old/gstxmlregistry.sgml:
20834         * docs/gst/tmpl/old/gthread-cothreads.sgml:
20835         * docs/gst/tmpl/old/types.sgml:
20836           I didn't intend to add these or check them in.
20837
20838 2005-05-19  David Schleef  <ds@schleef.org>
20839
20840         * configure.ac: Use -no-common everywhere.  In a sane world, it
20841           would be the default in libtool, because without it, you can't
20842           build DLLs on Windows.
20843         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
20844         * docs/gst/gstreamer-sections.txt:
20845         * docs/gst/tmpl/gstcpu.sgml:
20846         * docs/gst/tmpl/gstdata.sgml:
20847         * docs/gst/tmpl/gstthread.sgml:
20848
20849 2005-05-19  David Schleef  <ds@schleef.org>
20850
20851         * gst/gstminiobject.c: (gst_value_set_mini_object),
20852         (gst_value_take_mini_object), (gst_value_get_mini_object):
20853         * gst/gstminiobject.h: Add GValue set/get functions.
20854
20855 2005-05-19  Wim Taymans  <wim@fluendo.com>
20856
20857         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
20858         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
20859         (gst_subbuffer_init), (gst_buffer_is_span_fast):
20860         * gst/gstbuffer.h:
20861         * gst/gstbus.c: (gst_bus_post):
20862         * gst/gstelement.c: (gst_element_get_random_pad):
20863         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
20864         Make subbufer unref the parent in finalize.
20865         some more debugging info.
20866
20867
20868 2005-05-19  Wim Taymans  <wim@fluendo.com>
20869
20870         * gst/base/gstbasesink.c: (gst_basesink_class_init),
20871         (gst_basesink_init), (gst_basesink_finalize),
20872         (gst_basesink_activate), (gst_basesink_change_state):
20873         Don't free preroll queue too early.
20874
20875 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20876
20877         * gst/Makefile.am:
20878         * gst/ROADMAP:
20879           Hi, I'm outdated. Please shoot me.
20880
20881 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20882
20883         * gst/gstpipeline.c: (gst_pipeline_send_event):
20884           Do not access variables after they have been deleted.
20885
20886 2005-05-19  Wim Taymans  <wim@fluendo.com>
20887
20888         * tools/gst-inspect.c: (print_plugin_features):
20889         A plugin feature does unfortunatly not use the
20890         object name yet...
20891
20892 2005-05-18  Wim Taymans  <wim@fluendo.com>
20893
20894         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
20895         Port _span() functions to new subbuffers.
20896
20897 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20898
20899         * gst/gstbin.c: (gst_bin_add_func):
20900           Fix clock settery in bins when adding kids after the clock has
20901           been selected.
20902
20903 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20904
20905         * gst/elements/gstidentity.c: (gst_identity_class_init):
20906           Workaround until signals support GstMiniObject.
20907
20908 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
20909
20910         * gst/gstbuffer.c:
20911         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
20912
20913 2005-05-18  Wim Taymans  <wim@fluendo.com>
20914
20915         * gst/base/Makefile.am:
20916         * gst/base/gstadapter.c: (gst_adapter_base_init),
20917         (gst_adapter_class_init), (gst_adapter_init),
20918         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
20919         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
20920         (gst_adapter_flush), (gst_adapter_available),
20921         (gst_adapter_available_fast):
20922         * gst/base/gstadapter.h:
20923         Ported and added adapter to the base classes.
20924
20925 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
20926
20927         * gst/gst.c:
20928         * gst/gstmessage.c:
20929           Make sure the class is reffed/unreffed once before threads can be
20930           used.  Fixes #304551.
20931
20932 2005-05-17  Wim Taymans  <wim@fluendo.com>
20933
20934         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
20935         (gst_basesink_chain_unlocked), (gst_basesink_activate):
20936         * gst/gstminiobject.c: (gst_mini_object_get_type),
20937         (gst_mini_object_free):
20938         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
20939         (gst_pad_push), (gst_pad_push_event):
20940         * gst/gstqueue.c: (gst_queue_change_state):
20941         Don't queue buffers in basesink when we are flushing.
20942         Unref buffer when flushing in basesink.
20943         Flush queue when going to READY
20944         Unref buffer when _push() returns an error.
20945         Don't free MiniObject instance when refcount is incremented
20946         in _finalize() so that we can recover objects.
20947
20948 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
20949
20950         * docs/manual/advanced-schedulers.xml:
20951         * docs/manual/appendix-checklist.xml:
20952         * docs/pwg/advanced-clock.xml:
20953         * docs/pwg/advanced-interfaces.xml:
20954         * docs/pwg/advanced-request.xml:
20955         * docs/pwg/advanced-types.xml:
20956         * docs/pwg/intro-preface.xml:
20957         * examples/plugins/example.c: (gst_example_get_type),
20958         (gst_example_class_init), (gst_example_chain),
20959         (gst_example_set_property), (gst_example_get_property),
20960         (gst_example_change_state), (plugin_init):
20961         * examples/plugins/example.h:
20962           small doc fixes
20963
20964 2005-05-17  Wim Taymans  <wim@fluendo.com>
20965
20966         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
20967         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
20968         * gst/gstqueue.c: (gst_queue_change_state):
20969         Clear queue when going to READY.
20970         Remove IN_SETCAPS flag too.
20971
20972 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
20973
20974         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
20975           Remove implicit cast from gboolean to GstElementStateReturn;
20976           make sure we still return failure in paused => ready case if
20977           the parent class fails to change state and our own stop 
20978           vfunc succeeds.
20979
20980 2005-05-17  Wim Taymans  <wim@fluendo.com>
20981
20982         * tools/gst-launch.c: (event_loop):
20983         Message was unreffed too soon.
20984
20985 2005-05-16  Andy Wingo  <wingo@pobox.com>
20986
20987         * gst/gstbin.c (sink_iterator_filter): Err... um...
20988
20989         * check/gst/gstbin.c (test_ghost_pads): New test for the
20990         ghosting-if-elements-not-in-same-bin behavior.
20991
20992 2005-05-16  David Schleef  <ds@schleef.org>
20993
20994         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
20995         accessing refcount directly.
20996
20997 2005-05-15  David Schleef  <ds@schleef.org>
20998
20999         * check/Makefile.am: remove GstData checks
21000         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
21001         * gst/Makefile.am: add miniobject, remove data
21002         * gst/gst.h: add miniobject, remove data
21003         * gst/gstdata.c: remove
21004         * gst/gstdata.h: remove
21005         * gst/gstdata_private.h: remove
21006         * gst/gsttypes.h: remove GstEvent and GstMessage
21007         * gst/gstelement.c: (gst_element_post_message): fix for API changes
21008         * gst/gstmarshal.list: change BOXED -> OBJECT
21009
21010         Implement GstMiniObject.
21011         * gst/gstminiobject.c:
21012         * gst/gstminiobject.h:
21013
21014         Modify to be subclasses of GstMiniObject.
21015         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
21016         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
21017         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
21018         (gst_subbuffer_get_type), (gst_subbuffer_init),
21019         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
21020         (gst_buffer_span):
21021         * gst/gstbuffer.h:
21022         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
21023         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
21024         (_gst_event_copy), (gst_event_new):
21025         * gst/gstevent.h:
21026         * gst/gstmessage.c: (_gst_message_initialize),
21027         (gst_message_get_type), (gst_message_class_init),
21028         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
21029         (gst_message_new), (gst_message_new_error),
21030         (gst_message_new_warning), (gst_message_new_tag),
21031         (gst_message_new_state_changed), (gst_message_new_application):
21032         * gst/gstmessage.h:
21033         * gst/gstprobe.c: (gst_probe_perform),
21034         (gst_probe_dispatcher_dispatch):
21035         * gst/gstprobe.h:
21036         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
21037         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
21038         (_gst_query_copy), (gst_query_new):
21039
21040         Update elements for GstData -> GstMiniObject changes
21041         * gst/gstquery.h:
21042         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
21043         (gst_queue_chain), (gst_queue_loop):
21044         * gst/elements/gstbufferstore.c:
21045         (gst_buffer_store_add_buffer_func),
21046         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
21047         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
21048         (gst_fakesink_render):
21049         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
21050         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
21051         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
21052         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
21053         (gst_filesrc_create_read):
21054         * gst/elements/gstidentity.c: (gst_identity_class_init):
21055         * gst/elements/gsttypefindelement.c:
21056         (gst_type_find_element_src_event), (free_entry_buffers),
21057         (gst_type_find_element_handle_event):
21058         * libs/gst/dataprotocol/dataprotocol.c:
21059         (gst_dp_header_from_buffer):
21060         * libs/gst/dataprotocol/dataprotocol.h:
21061         * libs/gst/dataprotocol/dp-private.h:
21062
21063 2005-05-15  David Schleef  <ds@schleef.org>
21064
21065         * gst/elements/gstelements.c: Don't include headers that were
21066         just removed.
21067
21068 2005-05-15  David Schleef  <ds@schleef.org>
21069
21070         * gst/elements/Makefile.am: Remove some elements that don't
21071         need to be in the core (or even exist at all).
21072         * gst/elements/gstaggregator.c:
21073         * gst/elements/gstaggregator.h:
21074         * gst/elements/gstmd5sink.c:
21075         * gst/elements/gstmd5sink.h:
21076         * gst/elements/gstmultifilesrc.c:
21077         * gst/elements/gstmultifilesrc.h:
21078         * gst/elements/gstpipefilter.c:
21079         * gst/elements/gstpipefilter.h:
21080         * gst/elements/gstshaper.c:
21081         * gst/elements/gstshaper.h:
21082         * gst/elements/gststatistics.c:
21083         * gst/elements/gststatistics.h:
21084         * po/POTFILES.in: Remove above files.
21085
21086 2005-05-14  Andy Wingo  <wingo@pobox.com>
21087
21088         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
21089         so as to get the refs right.
21090         (sink_iterator_filter): New function, wraps bin_element_is_sink,
21091         unreffing objects that don't pass the filter.
21092
21093         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
21094         gst_element_set_bus.
21095         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
21096         normal cases, this will destroy the bus.
21097
21098         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
21099         object.
21100
21101         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
21102         has no sinks.
21103
21104 2005-05-13  Andy Wingo  <wingo@pobox.com>
21105
21106         * gst/gstutils.c (gst_element_link_pads): Instead of calling
21107         gst_pad_link, call pad_link_maybe_ghosting,
21108         (pad_link_maybe_ghosting): Links pads, making sure that the
21109         elements being linked are in the same bin.
21110         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
21111         Helpers for pad_link_maybe_ghosting.
21112
21113 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
21114
21115         * configure.ac:
21116           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
21117
21118 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
21119
21120         * docs/design/part-element-source.txt:
21121           Mention GstPushSrc
21122
21123 2005-05-12  Wim Taymans  <wim@fluendo.com>
21124
21125         * gst/base/gstbasesink.c: (gst_basesink_init),
21126         (gst_basesink_activate):
21127         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
21128         (gst_basesrc_is_seekable):
21129         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
21130         (bin_element_is_sink), (gst_bin_change_state):
21131         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
21132         * gst/gstelement.h:
21133         Identify sinks by their flag to avoid overly complicated
21134         checks (fow now).
21135         Do state changes even for elements not reachable from the
21136         sinks.
21137         BaseSink is a sink now :)
21138         Some more debugging info in the basesrc.
21139
21140
21141 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21142
21143         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
21144           Implement _query on a bin, similar to _send_event.
21145
21146 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
21147
21148         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
21149           Discont event offset format should be GST_FORMAT_BYTES,
21150           not GST_FORMAT_TIME.
21151
21152 2005-05-12  Wim Taymans  <wim@fluendo.com>
21153
21154         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
21155         Same fix as Ronald's but without the signal. 
21156
21157 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21158
21159         * gst/gstutils.c: (gst_element_query_position):
21160           No, an element is not a pad.
21161
21162 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21163
21164         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
21165         (gst_bin_get_state):
21166           If a child is removed from a bin while we remove the child from
21167           the bin and while we're retrieving its state, signal this to the
21168           get_state function so we abort the wait (instead of waiting for
21169           a timeout) and can immediately re-iterate over all other elements.
21170
21171 2005-05-12  Wim Taymans  <wim@fluendo.com>
21172
21173         * gst/base/Makefile.am:
21174         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
21175         (gst_basesrc_start):
21176         * gst/base/gstbasesrc.h:
21177         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
21178         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
21179         (gst_pushsrc_init), (gst_pushsrc_create):
21180         * gst/base/gstpushsrc.h:
21181         Added is_seekable to BaseSrc
21182         Added simple PushSrc.
21183
21184 2005-05-11  Wim Taymans  <wim@fluendo.com>
21185
21186         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
21187         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21188         (gst_element_link_pads), (gst_element_query_position),
21189         (gst_element_query_convert), (intersect_caps_func),
21190         (gst_pad_query_position), (gst_pad_query_convert):
21191         Fix refcounting in utils function.
21192         No point in trying to activate a pad when it's added, it could
21193         be added from the state change function and then we deadlock, the
21194         element has to decide what to do.
21195
21196 2005-05-10  Andy Wingo  <wingo@pobox.com>
21197
21198         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
21199         *all* the arguments.
21200
21201         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
21202         stream lock if it's a FLUSH_DONE; normal flushes don't get the
21203         lock (according to the docs -- if this is wrong change the docs).
21204
21205         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
21206         flush messages in the NULL state.
21207
21208         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
21209         message immediately and return.
21210         (gst_bus_set_flushing): New function. If a bus is flushing, it
21211         flushes out any queued messages and immediately unrefs new
21212         messages. This is so when an element goes to NULL, all of the
21213         unhandled messages coming from it can be freed, and their
21214         references to the element dropped. In other words: message source
21215         ref considered harmful :P
21216
21217         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
21218         we're finished with it.
21219
21220         * gst/gstmessage.c (gst_message_new_state_changed): 
21221
21222 2005-05-10  Wim Taymans  <wim@fluendo.com>
21223
21224         * gst/gstvalue.c: (gst_value_compare_flags),
21225         (gst_value_serialize_flags), (gst_value_deserialize_flags),
21226         (_gst_value_initialize):
21227         Added flags serialize/deserialize/compare code.
21228
21229 2005-05-09  Andy Wingo  <wingo@pobox.com>
21230
21231         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
21232         Intersect the peer's caps with our caps.
21233
21234 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21235
21236         * gst/base/gsttypefindhelper.c: (helper_find_peek):
21237         * gst/elements/gsttypefindelement.c: (find_peek):
21238           Handle negative offsets better. Fixes decodebin.
21239
21240 2005-05-09  Wim Taymans  <wim@fluendo.com>
21241
21242         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
21243         (gst_base_transform_event):
21244         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
21245         Implement accept_caps.
21246         Fix silly lock/unlock mismatch in base class.
21247
21248 2005-05-09  Wim Taymans  <wim@fluendo.com>
21249
21250         * docs/design/draft-push-pull.txt:
21251         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
21252         * gst/elements/gstfilesink.c: (gst_filesink_init),
21253         (gst_filesink_query):
21254         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
21255         (gst_type_find_handle_src_query), (find_element_get_length):
21256         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
21257         * gst/gstelement.h:
21258         * gst/gstmessage.c:
21259         * gst/gstmessage.h:
21260         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
21261         (gst_real_pad_get_caps_unlocked),
21262         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
21263         (gst_pad_event_default_dispatch), (gst_pad_event_default),
21264         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
21265         (gst_real_pad_dispose), (gst_real_pad_finalize),
21266         (gst_pad_load_and_link), (gst_pad_save_thyself),
21267         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
21268         (gst_pad_check_pull_range), (gst_pad_pull_range),
21269         (gst_pad_template_get_type), (gst_pad_template_class_init),
21270         (gst_pad_template_init), (gst_pad_template_dispose),
21271         (name_is_valid), (gst_static_pad_template_get),
21272         (gst_pad_template_new), (gst_static_pad_template_get_caps),
21273         (gst_pad_template_get_caps), (gst_pad_set_element_private),
21274         (gst_pad_get_element_private), (gst_pad_start_task),
21275         (gst_pad_pause_task), (gst_pad_stop_task),
21276         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
21277         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
21278         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
21279         (gst_ghost_pad_new):
21280         * gst/gstpad.h:
21281         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
21282         (gst_query_new_position), (gst_query_set_position),
21283         (gst_query_parse_position), (gst_query_new_convert),
21284         (gst_query_set_convert), (gst_query_parse_convert):
21285         * gst/gstquery.h:
21286         * gst/gstqueryutils.c:
21287         * gst/gstqueryutils.h:
21288         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
21289         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
21290         (gst_queue_handle_src_query):
21291         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21292         (gst_element_query_position), (gst_element_query_convert),
21293         (intersect_caps_func), (gst_pad_query_position),
21294         (gst_pad_query_convert):
21295         * gst/gstutils.h:
21296         * tools/gst-inspect.c: (print_pad_info):
21297         * tools/gst-xmlinspect.c: (print_element_info):
21298         Remove old query functions. Ported old code.
21299         Added position/convert helper functions to gstutils.
21300         Reordered gstpad.c code, grouping relevant things.
21301         Remove gst_message_new(), always need to speficy a specific
21302         message.
21303
21304
21305 2005-05-09  Andy Wingo  <wingo@pobox.com>
21306
21307         * gst/gstiterator.h: Add some includes.
21308
21309         * gst/gstqueryutils.h: Include more headers.
21310
21311         * gst/gstpad.h:
21312         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
21313         some uses of gst_pad_query.
21314
21315         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
21316         NULL out parameters.
21317         (gst_query_new_position): New proc, allocates a new position
21318         query.
21319
21320         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
21321         gstqueryutils.c to the build.
21322
21323         * gst/gststructure.c (gst_structure_set_valist): Implement with
21324         the generic G_VALUE_COLLECT.
21325         
21326 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
21327
21328         * gst/Makefile.am: (gst_headers):
21329         Added gstqueryutils.h to the list of headers to install, that was
21330         a 'nachty' move wingo :)
21331
21332 2005-05-06  Andy Wingo  <wingo@pobox.com>
21333
21334         * gst/gstquery.h
21335         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
21336         GstData, init a memchunk.
21337         (standard_definitions): Add a few query types, deprecate a few.
21338         (gst_query_get_type): New proc.
21339         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
21340         implementation.
21341         (gst_query_new_application, gst_query_get_structure): New public
21342         procs.
21343
21344         * docs/design/draft-query.txt: Removed LINKS from the query types,
21345         because all the rest can be dispatched to other pads -- seemed
21346         ugly to have a query that couldn't be dispatched. internal_links
21347         is fine as a pad method.
21348
21349         * gst/gstpad.h: Add query2 as a pad method, add the new functions
21350         in gstpad.c, but maintain binary compatibility for the moment.
21351         Will fix before 0.9 is out.
21352
21353         * gst/gstqueryutils.c: 
21354         * gst/gstqueryutils.h: New files, implement 3 methods for each
21355         query type: parse_query, parse_response, and set. Probably need an
21356         allocator as well.
21357
21358         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
21359
21360         * gst/elements/gstfilesink.c (gst_filesink_query2):
21361         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
21362         query_types, and formats methods.
21363
21364         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
21365         (gst_pad_set_query2_function): New functions.
21366         (gst_real_pad_init): Set query2_default as the default query2
21367         function. Basically just dispatches to internally linked pads.
21368
21369         Needs review!
21370         
21371         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
21372         without using the atomic operations. Only one thread can possibly
21373         be accessing the data at this point. Changed so as to avoid
21374         gst_atomic operations.
21375
21376 2005-05-06  Wim Taymans  <wim@fluendo.com>
21377
21378         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
21379         Also set caps if we use the fallback buffer alloc.
21380
21381 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
21382
21383         * docs/gst/Makefile.am:
21384         * docs/gst/gstreamer-docs.sgml:
21385         * docs/gst/gstreamer-sections.txt:
21386         * docs/gst/tmpl/gstatomic.sgml:
21387         * docs/gst/tmpl/gstmemchunk.sgml:
21388         * testsuite/elements/struct_i386.h:
21389         * win32/GStreamer.vcproj:
21390         * win32/Makefile:
21391           Purge GstAtomic stuff from docs and win32 makefiles as well
21392
21393 2005-05-06  Wim Taymans  <wim@fluendo.com>
21394
21395         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
21396         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
21397         * gst/gstpad.c: (gst_pad_peer_get_caps):
21398         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
21399         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
21400         (gst_queue_src_activate), (gst_queue_change_state):
21401         * gst/gstqueue.h:
21402         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21403         (intersect_caps_func):
21404         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
21405         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
21406         Some fixes for the peer_get_caps() change.
21407
21408 2005-05-06  Wim Taymans  <wim@fluendo.com>
21409
21410         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
21411         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
21412         (gst_basesink_activate):
21413         Actually do something with error codes returned from the push
21414         functions.
21415
21416 2005-05-06  Wim Taymans  <wim@fluendo.com>
21417
21418         * docs/design/part-element-sink.txt:
21419         * docs/design/part-element-source.txt:
21420         * gst/base/gstbasesink.c: (gst_basesink_class_init),
21421         (gst_basesink_event), (gst_basesink_activate):
21422         * gst/base/gstbasesink.h:
21423         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
21424         (gst_basesrc_activate):
21425         * gst/base/gstbasesrc.h:
21426         * gst/gstelement.c: (gst_element_pads_activate):
21427         Some more documentation.
21428         Fixed scheduling decision in _pads_activate().
21429
21430 2005-05-05  Andy Wingo  <wingo@pobox.com>
21431
21432         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
21433         the test suite.
21434
21435 2005-05-05  Wim Taymans  <wim@fluendo.com>
21436
21437         * gst/base/Makefile.am:
21438         * gst/base/gstbasesink.h:
21439         * gst/base/gstbasesrc.c: (gst_basesrc_init),
21440         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
21441         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
21442         (gst_collectpads_class_init), (gst_collectpads_init),
21443         (gst_collectpads_finalize), (gst_collectpads_new),
21444         (gst_collectpads_set_function), (gst_collectpads_add_pad),
21445         (find_pad), (gst_collectpads_remove_pad),
21446         (gst_collectpads_is_active), (gst_collectpads_collect),
21447         (gst_collectpads_collect_range), (gst_collectpads_start),
21448         (gst_collectpads_stop), (gst_collectpads_peek),
21449         (gst_collectpads_pop), (gst_collectpads_available),
21450         (gst_collectpads_read), (gst_collectpads_flush),
21451         (gst_collectpads_chain):
21452         * gst/base/gstcollectpads.h:
21453         * gst/elements/Makefile.am:
21454         * gst/elements/gstelements.c:
21455         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
21456         (gst_fakesink_get_times), (gst_fakesink_event),
21457         (gst_fakesink_preroll), (gst_fakesink_render):
21458         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
21459         (gst_filesink_init), (gst_filesink_set_location),
21460         (gst_filesink_open_file), (gst_filesink_close_file),
21461         (gst_filesink_pad_query), (gst_filesink_event),
21462         (gst_filesink_render), (gst_filesink_change_state):
21463         * gst/elements/gstfilesink.h:
21464         Added object to help in making collect pad based elements.
21465         Ported filesink.
21466         Make event function in sink baseclass return gboolean.
21467
21468 2005-05-05  Wim Taymans  <wim@fluendo.com>
21469
21470         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
21471         (gst_bin_get_by_name):
21472         * gst/gstbuffer.h:
21473         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
21474         (gst_clock_finalize):
21475         * gst/gstdata.c: (gst_data_replace):
21476         * gst/gstdata.h:
21477         * gst/gstelement.c: (gst_element_request_pad),
21478         (gst_element_pads_activate):
21479         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
21480         (gst_object_unref):
21481         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21482         (gst_pad_set_checkgetrange_function),
21483         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
21484         (gst_pad_check_pull_range), (gst_pad_pull_range),
21485         (gst_static_pad_template_get_caps), (gst_pad_start_task),
21486         (gst_pad_pause_task), (gst_pad_stop_task):
21487         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21488         (gst_element_request_pad), (gst_pad_proxy_getcaps):
21489         Fix name lookup in GstBin.
21490         Added _data_replace() function and _buffer_replace()
21491         Use finalize method to clean up clock.
21492         Fix refcounting on request pads.
21493         Fix pad schedule mode error.
21494         Some more object refcounting debug info,
21495
21496
21497 2005-05-04  Andy Wingo <wingo@pobox.com>
21498
21499         * check/Makefile.am:
21500         * docs/gst/tmpl/gstatomic.sgml:
21501         * docs/gst/tmpl/gstplugin.sgml:
21502         * gst/base/gstbasesink.c: (gst_basesink_activate):
21503         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
21504         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
21505         (gst_basesrc_query), (gst_basesrc_set_property),
21506         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
21507         (gst_basesrc_activate):
21508         * gst/base/gstbasesrc.h:
21509         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
21510         (gst_base_transform_src_activate):
21511         * gst/elements/gstelements.c:
21512         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
21513         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
21514         * gst/elements/gsttee.c: (gst_tee_sink_activate):
21515         * gst/elements/gsttypefindelement.c: (find_element_get_length),
21516         (gst_type_find_element_checkgetrange),
21517         (gst_type_find_element_activate):
21518         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
21519         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
21520         (gst_caps_load_thyself):
21521         * gst/gstelement.c: (gst_element_pads_activate),
21522         (gst_element_save_thyself), (gst_element_restore_thyself):
21523         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
21524         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
21525         * gst/gstpad.h:
21526         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
21527         (gst_xml_parse_file), (gst_xml_parse_memory),
21528         (gst_xml_get_element), (gst_xml_make_element):
21529         * gst/indexers/gstfileindex.c: (gst_file_index_load),
21530         (_file_index_id_save_xml), (gst_file_index_commit):
21531         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
21532         (read_enum), (load_pad_template), (load_feature), (load_plugin),
21533         (load_paths):
21534         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
21535         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
21536         * tools/gst-complete.c: (main):
21537         * tools/gst-compprep.c: (main):
21538         * tools/gst-inspect.c: (print_element_properties_info):
21539         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
21540         * tools/gst-xmlinspect.c: (print_element_properties):
21541         GCC 4 fixen.
21542         
21543 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
21544
21545         * gst/gstplugin.c: (gst_plugin_check_module),
21546         (gst_plugin_check_file), (gst_plugin_load_file):
21547             apply patch from #172526 to make register work on MacOSX
21548
21549 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21550
21551         * docs/gst/tmpl/gstconfig.sgml:
21552         * gst/gstconfig.h.in:
21553           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
21554         * testsuite/debug/printf_extension.c: (main):
21555           Do not use GST_PTR_FORMAT on pointers to types with
21556           sizeof < sizeof(gpointer).  Fixes test on 64-bit
21557         * testsuite/elements/property.h:
21558           use correct printf format
21559
21560 2005-05-02  Wim Taymans  <wim@fluendo.com>
21561
21562         * docs/design/draft-push-pull.txt:
21563         * docs/design/draft-query.txt:
21564         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
21565         (gst_basesrc_start):
21566         Added draft for new query API.
21567         Added draft for better selecting scheduling methods.
21568         Make basesrc ignore length if the subclass does not support
21569         it.
21570
21571 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21572
21573         * gst/Makefile.am:
21574           possible fixes for automake-1.5 - _LIBADD is reserved
21575
21576 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21577
21578         * docs/faq/Makefile.am:
21579         * docs/manual/Makefile.am:
21580         * docs/manuals.mak:
21581         * docs/pwg/Makefile.am:
21582         * gst/Makefile.am:
21583           possible fixes for automake-1.5
21584
21585 2005-04-28  Wim Taymans  <wim@fluendo.com>
21586
21587         * gst/base/gstbasesink.c: (gst_basesink_base_init),
21588         (gst_basesink_pad_getcaps), (gst_basesink_init),
21589         (gst_basesink_do_sync):
21590         * gst/gstclock.c: (gst_clock_entry_new):
21591         * gst/gstevent.c: (gst_event_discont_get_value):
21592         * gst/gstpipeline.c: (pipeline_bus_handler),
21593         (gst_pipeline_change_state):
21594         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
21595         Better debugging of clocking info.
21596         Allow NULL values when getting discont values.
21597
21598 2005-04-27  Wim Taymans  <wim@fluendo.com>
21599
21600         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
21601         * check/gst/gstpad.c: (gst_pad_suite):
21602         Increase timeout for checks.
21603
21604 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
21605
21606         * check/Makefile.am:
21607           fix the broken rule for cleanup.  Apparently this rule is
21608           only needed on FC2, so maybe this warrants further autotool
21609           inspection.
21610
21611 2005-04-26  Wim Taymans  <wim@fluendo.com>
21612
21613         * gst/gsttrashstack.h:
21614         Ooohh. a nasty one! After having a failed pop() from the stack,
21615         it's possible that the stack is empty. In that case, don't
21616         follow the NULL pointer.
21617
21618 2005-04-25  Wim Taymans  <wim@fluendo.com>
21619
21620         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21621         (gst_pad_set_checkgetrange_function),
21622         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
21623         (gst_pad_check_pull_range), (gst_pad_pull_range),
21624         (gst_static_pad_template_get_caps), (gst_pad_start_task),
21625         (gst_pad_pause_task), (gst_pad_stop_task):
21626         * gst/gstplugin.c: (gst_plugin_load):
21627         * gst/gstplugin.h:
21628         Remove gst_library_load as it does more harm than good with
21629         the new g_module flags.
21630         Revert bogus caps template check in pad linking, pad caps
21631         are important when linking not the template, which is more
21632         general than the current caps.
21633
21634 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21635
21636         * gst/autoplug/.cvsignore:
21637         * gst/autoplug/Makefile.am:
21638         * gst/autoplug/gstsearchfuncs.c:
21639         * gst/autoplug/gstsearchfuncs.h:
21640         * gst/autoplug/gstspider.c:
21641         * gst/autoplug/gstspider.h:
21642         * gst/autoplug/gstspideridentity.c:
21643         * gst/autoplug/gstspideridentity.h:
21644         * gst/autoplug/spidertest.c:
21645           Die, spider, die.
21646
21647 2005-04-25  Wim Taymans  <wim@fluendo.com>
21648
21649         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21650         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
21651         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
21652         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
21653         * gst/gstpad.h:
21654         Added stubs for unimplemented functions. 
21655
21656 2005-04-24  David Schleef  <ds@schleef.org>
21657
21658         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
21659         please fix.
21660
21661 2005-04-24  David Schleef  <ds@schleef.org>
21662
21663         Convert everything from GstAtomicInt to g_atomic_int_*, and
21664         remove gstatomic.
21665         * gst/Makefile.am:
21666         * gst/gstatomic.c:
21667         * gst/gstatomic.h:
21668         * gst/gstatomic_impl.h:
21669         * gst/gstbuffer.c:
21670         * gst/gstcaps.c:
21671         * gst/gstcaps.h:
21672         * gst/gstclock.c:
21673         * gst/gstclock.h:
21674         * gst/gstdata.c:
21675         * gst/gstdata.h:
21676         * gst/gstdata_private.h:
21677         * gst/gstevent.c:
21678         * gst/gstinfo.c:
21679         * gst/gstinfo.h:
21680         * gst/gstmessage.c:
21681         * gst/gstobject.c:
21682         * gst/gstobject.h:
21683         * gst/gststructure.c:
21684         * gst/gststructure.h:
21685         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
21686         * gst/gstutils.h:
21687
21688 2005-04-24  David Schleef  <ds@schleef.org>
21689
21690         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
21691         make the regressions tests work.  Remove some code that is no
21692         longer true.
21693         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
21694         Disable warning for pads without templates.
21695
21696 2005-04-24  David Schleef  <ds@schleef.org>
21697
21698         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
21699         functions that handle filtered links.
21700         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
21701         removed functions.
21702         * gst/gstutils.c: Fix/remove utility functions that handle
21703         filtered caps.
21704         * gst/gstutils.h:
21705         * gst/gstvalue.c: Add serialization/deserialization of caps
21706         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
21707         requires fixing so that the filter caps notation creates
21708         a capsfilter element and sets the filter_caps property.  I
21709         think everyone probably wants to keep the shorthand notation.
21710         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
21711         * docs/gst/tmpl/gstpad.sgml:
21712
21713         * gst/elements/gstelements.c: Register capsfilter element.
21714         * gst/Makefile.am: fix spacing
21715         * docs/random/ds/0.9-suggested-changes: random
21716
21717 2005-04-23  David Schleef  <ds@schleef.org>
21718
21719         * gst/elements/Makefile.am:
21720         * gst/elements/gstcapsfilter.c: New element that acts like an
21721         identity, but filters caps.  Will eventually replace filtered
21722         caps in pad linking.
21723         * gst/gstutils.c: (gst_element_create_all_pads): New function
21724         to create all the ALWAYS pads that are registered with an
21725         element class.  This functionality should eventually be
21726         merged in with GstElement initialization.
21727         * gst/gstutils.h:
21728         * testsuite/trigger/README: part of trigger test code that should
21729         have been checked in a long time ago.
21730
21731 2005-04-23  David Schleef  <ds@schleef.org>
21732
21733         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
21734         needed with new versions of libtool (nobody will confirm this),
21735         and hard to carry around.
21736         * gst/autoplug/Makefile.am:
21737         * gst/base/Makefile.am:
21738         * gst/elements/Makefile.am:
21739         * gst/indexers/Makefile.am:
21740         * gst/schedulers/Makefile.am:
21741         * libs/gst/bytestream/Makefile.am:
21742         * libs/gst/control/Makefile.am:
21743         * libs/gst/dataprotocol/Makefile.am:
21744         * libs/gst/getbits/Makefile.am:
21745
21746 2005-04-21  Wim Taymans  <wim@fluendo.com>
21747
21748         * docs/design/draft-push-pull.txt:
21749         * docs/design/part-MT-refcounting.txt:
21750         * docs/design/part-TODO.txt:
21751         * docs/design/part-caps.txt:
21752         * docs/design/part-events.txt:
21753         * docs/design/part-gstbus.txt:
21754         * docs/design/part-gstpipeline.txt:
21755         * docs/design/part-messages.txt:
21756         * docs/design/part-push-pull.txt:
21757         * docs/design/part-query.txt:
21758         Some more docs.
21759
21760 2005-04-21  Wim Taymans  <wim@fluendo.com>
21761
21762         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
21763         (gst_message_new), (gst_message_new_error),
21764         (gst_message_new_warning), (gst_message_new_tag),
21765         (gst_message_new_state_changed), (gst_message_new_application),
21766         (gst_message_get_structure):
21767         * gst/gstmessage.h:
21768         * gst/gststructure.c: (gst_structure_set_parent_refcount),
21769         (gst_structure_copy_conditional):
21770         Use parent refcount in GstMessage to ensure GstStructure
21771         consistency.
21772         Cleaned up headers a bit.
21773         
21774
21775 2005-04-20  Wim Taymans  <wim@fluendo.com>
21776
21777         * gst/base/gstbasesink.c: (gst_basesink_base_init),
21778         (gst_basesink_pad_getcaps), (gst_basesink_init),
21779         (gst_basesink_chain_unlocked):
21780         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
21781         (gst_type_find_helper):
21782         * gst/elements/gsttypefindelement.c:
21783         (gst_type_find_element_have_type), (gst_type_find_element_init),
21784         (stop_typefinding), (gst_type_find_element_handle_event),
21785         (find_suggest), (gst_type_find_element_chain),
21786         (gst_type_find_element_checkgetrange),
21787         (gst_type_find_element_getrange), (do_typefind),
21788         (gst_type_find_element_activate):
21789         * gst/gstbuffer.c: (_gst_buffer_sub_free),
21790         (gst_buffer_default_free), (gst_buffer_default_copy),
21791         (gst_buffer_set_caps):
21792         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
21793         (gst_caps_replace):
21794         * gst/gstmessage.c: (gst_message_new),
21795         (gst_message_new_state_changed):
21796         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21797         (gst_pad_set_checkgetrange_function),
21798         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
21799         (gst_pad_set_caps), (gst_pad_check_pull_range),
21800         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
21801         * gst/gstpad.h:
21802         * gst/gsttypefind.c: (gst_type_find_register):
21803         Make gst_caps_replace() work like other _replace() functions.
21804         Use _caps_replace() where possible.
21805         Make sure _message_new() initialises its field.
21806         Add gst_static_pad_template_get_caps()
21807
21808
21809 2005-04-18  Andy Wingo  <wingo@pobox.com>
21810
21811         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
21812         on the peer, not the pad. I think that was a typo. Pass an extra
21813         arg to see if random access is possible. Activate the pads as
21814         PULL_RANGE if possible.
21815
21816         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
21817
21818         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
21819         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
21820         to PROP_....
21821
21822 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21823
21824         * docs/faq/using.xml:
21825           Add note on gstreamer-properties (#154996).
21826
21827 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21828
21829         * docs/random/bbb/optional-properties:
21830           Some analysis on optional properties.
21831
21832 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21833
21834         * docs/gst/tmpl/gstelementfactory.sgml:
21835         * gst/gstelement.h:
21836         * gst/gstelementfactory.c: (gst_element_factory_init),
21837         (gst_element_factory_cleanup), (gst_element_register),
21838         (__gst_element_factory_add_static_pad_template),
21839         (gst_element_factory_get_static_pad_templates),
21840         (gst_element_factory_can_src_caps),
21841         (gst_element_factory_can_sink_caps):
21842         * gst/registries/Makefile.am:
21843         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
21844         (gst_xml_registry_class_init), (gst_xml_registry_init),
21845         (gst_xml_registry_new), (gst_xml_registry_set_property),
21846         (gst_xml_registry_get_property), (get_time), (make_dir),
21847         (gst_xml_registry_get_perms_func),
21848         (plugin_times_older_than_recurse), (plugin_times_older_than),
21849         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
21850         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
21851         (add_to_char_array), (read_string), (read_uint), (read_enum),
21852         (load_pad_template), (load_feature), (load_plugin), (load_paths),
21853         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
21854         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
21855         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
21856         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
21857         (gst_xml_registry_rebuild):
21858         * gst/registries/gstlibxmlregistry.h:
21859         * tools/gst-compprep.c: (main):
21860         * tools/gst-inspect.c: (print_pad_templates_info):
21861         * tools/gst-xmlinspect.c: (print_element_info):
21862           Use libxml2 for registry parsing, use staticpadtemplates in
21863           elementfactories. Makes gst_init() +/- 10x faster.
21864
21865 2005-04-12  Wim Taymans  <wim@fluendo.com>
21866
21867         * gst/base/Makefile.am:
21868         * gst/base/gstbasesink.c: (gst_basesink_base_init),
21869         (gst_basesink_pad_getcaps), (gst_basesink_init),
21870         (gst_basesink_event), (gst_basesink_change_state):
21871         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
21872         (gst_basesrc_init), (gst_basesrc_query),
21873         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
21874         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
21875         (gst_basesrc_check_get_range), (gst_basesrc_loop),
21876         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
21877         (gst_basesrc_stop), (gst_basesrc_activate),
21878         (gst_basesrc_change_state):
21879         * gst/base/gsttypefindhelper.c: (helper_find_peek),
21880         (helper_find_suggest), (gst_type_find_helper):
21881         * gst/base/gsttypefindhelper.h:
21882         * gst/elements/Makefile.am:
21883         * gst/elements/gstelements.c:
21884         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
21885         (gst_fakesink_get_times), (gst_fakesink_event),
21886         (gst_fakesink_preroll), (gst_fakesink_render):
21887         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
21888         (gst_fakesrc_init), (gst_fakesrc_event_handler),
21889         (gst_fakesrc_get_property), (gst_fakesrc_create),
21890         (gst_fakesrc_start), (gst_fakesrc_stop):
21891         * gst/elements/gstfakesrc.h:
21892         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
21893         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
21894         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
21895         (gst_filesrc_create_read), (gst_filesrc_create),
21896         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
21897         (gst_filesrc_start):
21898         * gst/elements/gsttypefindelement.c:
21899         (gst_type_find_element_have_type), (gst_type_find_element_init),
21900         (start_typefinding), (stop_typefinding), (push_buffer_store),
21901         (gst_type_find_element_handle_event),
21902         (gst_type_find_element_chain),
21903         (gst_type_find_element_checkgetrange),
21904         (gst_type_find_element_getrange), (do_typefind),
21905         (gst_type_find_element_activate),
21906         (gst_type_find_element_change_state):
21907         * gst/elements/gsttypefindelement.h:
21908         * gst/gstpipeline.c: (pipeline_bus_handler):
21909         Added typefind helper.
21910         Small preroll fix in the base sink.
21911         Disable typefind code in basesrc.
21912         Crude port of typefindelement.
21913         Fakesrc cleanups.
21914
21915
21916 2005-04-11  Wim Taymans  <wim@fluendo.com>
21917
21918         * check/gst/gstbus.c: (gstbus_suite):
21919         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
21920         * check/gstcheck.h:
21921           Fix up the timeout so that the test does not fail.
21922
21923 2005-04-06  Wim Taymans  <wim@fluendo.com>
21924
21925         * gst/base/README:
21926         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
21927         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
21928         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
21929         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
21930         (gst_basesrc_check_get_range), (gst_basesrc_loop),
21931         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
21932         (gst_basesrc_stop), (gst_basesrc_activate),
21933         (gst_basesrc_change_state), (basesrc_find_peek),
21934         (basesrc_find_suggest), (gst_basesrc_type_find):
21935         * gst/base/gstbasesrc.h:
21936         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
21937         (gst_filesrc_class_init), (gst_filesrc_init),
21938         (gst_filesrc_finalize), (gst_filesrc_set_location),
21939         (gst_filesrc_set_property), (gst_filesrc_get_property),
21940         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
21941         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
21942         (gst_filesrc_create_read), (gst_filesrc_create),
21943         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
21944         * gst/elements/gstfilesrc.h:
21945         * gst/gstelement.c: (gst_element_get_state_func),
21946         (gst_element_lost_state), (gst_element_pads_activate):
21947         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21948         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
21949         (gst_pad_pull_range):
21950         * gst/gstpad.h:
21951         More work on the generic source base class, implement seeking,
21952         query.
21953         Make filesrc extend the base source class.
21954         Added gst_pad_set_checkgetrange_function to GstPad.
21955
21956 2005-04-06  Andy Wingo  <wingo@pobox.com>
21957
21958         * pkgconfig/gstreamer-base.pc.in:
21959         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
21960
21961         * pkgconfig/Makefile.am:
21962         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
21963
21964 2005-04-04  Wim Taymans  <wim@fluendo.com>
21965
21966         * gst/base/Makefile.am:
21967         * gst/base/README:
21968         * gst/base/gstbasesink.c: (gst_basesink_base_init),
21969         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
21970         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
21971         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
21972         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
21973         (gst_basesrc_base_init), (gst_basesrc_class_init),
21974         (gst_basesrc_init), (gst_basesrc_get_formats),
21975         (gst_basesrc_get_query_types), (gst_basesrc_query),
21976         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
21977         (gst_basesrc_set_property), (gst_basesrc_get_property),
21978         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
21979         (gst_basesrc_loop), (gst_basesrc_activate),
21980         (gst_basesrc_change_state):
21981         * gst/base/gstbasesrc.h:
21982         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
21983         (gst_fakesrc_class_init), (gst_fakesrc_init),
21984         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
21985         (gst_fakesrc_get_property), (gst_fakesrc_create):
21986         * gst/elements/gstfakesrc.h:
21987         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
21988         (gst_filesrc_open_file), (gst_filesrc_loop),
21989         (gst_filesrc_activate), (filesrc_find_peek),
21990         (gst_filesrc_type_find):
21991         Made base source class, make fakesrc extend it.
21992         Add comments to basesink class.
21993         Some filesrc cleanup.
21994
21995 2005-03-31  David Schleef  <ds@schleef.org>
21996
21997         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
21998         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
21999         expected to link against libgstreamer.
22000         * gst/base/Makefile.am: link against libgstreamer
22001         * gst/elements/Makefile.am: same
22002
22003 2005-03-31  Andy Wingo  <wingo@pobox.com>
22004
22005         * tests/instantiate/Makefile.am:
22006         * tests/instantiate/caps.c: Add test to test speed of caps copy
22007         and free.
22008
22009         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
22010         GMemChunk to be fair.
22011
22012         * gst/gsttrashstack.h: Remove warning about using the fallback
22013         trash stack implementation, it's still faster than malloc.
22014
22015 2005-03-30  Andy Wingo  <wingo@pobox.com>
22016
22017         * tests/complexity.c: Add a copyright.
22018
22019 2005-03-31  Wim Taymans  <wim@fluendo.com>
22020
22021         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
22022         (gst_base_transform_class_init), (gst_base_transform_init),
22023         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
22024         (gst_base_transform_get_property),
22025         (gst_base_transform_sink_activate),
22026         (gst_base_transform_src_activate),
22027         (gst_base_transform_change_state):
22028         * gst/base/gstbasetransform.h:
22029         * gst/elements/gstidentity.c: (gst_identity_class_init),
22030         (gst_identity_event), (gst_identity_check_perfect),
22031         (gst_identity_transform), (gst_identity_start),
22032         (gst_identity_stop):
22033         Added start/stop methods to transform base class so subclasses 
22034         don't need to deal with state changes even.
22035
22036 2005-03-31  Wim Taymans  <wim@fluendo.com>
22037
22038         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
22039         (gst_event_new_discontinuous), (gst_event_discont_get_value):
22040         * gst/gstevent.h:
22041         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
22042         (gst_pad_pull_range):
22043         Added rate to the discont event to prepare for variable speed
22044         and reverse playback.
22045
22046 2005-03-29  David Schleef  <ds@schleef.org>
22047
22048         * configure.ac:
22049         * testsuite/trigger/Makefile.am:
22050         * testsuite/trigger/trigger.c: A little example program to show
22051         how trigger-based elements can work.
22052
22053 2005-03-29  Wim Taymans  <wim@fluendo.com>
22054
22055         * gst/base/Makefile.am:
22056         * gst/base/README:
22057         * gst/base/gstbasesink.c: (gst_basesink_get_type),
22058         (gst_basesink_base_init), (gst_basesink_class_init),
22059         (gst_basesink_pad_getcaps), (gst_basesink_init),
22060         (gst_basesink_activate), (gst_basesink_change_state):
22061         * gst/base/gstbasesink.h:
22062         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
22063         (gst_base_transform_base_init), (gst_base_transform_finalize),
22064         (gst_base_transform_class_init), (gst_base_transform_init),
22065         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
22066         (gst_base_transform_event), (gst_base_transform_getrange),
22067         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
22068         (gst_base_transform_set_property),
22069         (gst_base_transform_get_property),
22070         (gst_base_transform_sink_activate),
22071         (gst_base_transform_src_activate),
22072         (gst_base_transform_change_state):
22073         * gst/base/gstbasetransform.h:
22074         * gst/elements/gstidentity.c: (gst_identity_finalize),
22075         (gst_identity_class_init), (gst_identity_init),
22076         (gst_identity_event), (gst_identity_check_perfect),
22077         (gst_identity_transform), (gst_identity_set_property),
22078         (gst_identity_get_property), (gst_identity_change_state):
22079         * gst/elements/gstidentity.h:
22080         * gst/gstelement.c: (gst_element_get_state_func),
22081         (gst_element_lost_state), (gst_element_pads_activate):
22082         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
22083         (gst_pad_check_pull_range), (gst_pad_pull_range):
22084         * gst/gstpad.h:
22085         Simplify pad activation.
22086         Added function to check if pull_range can be performed.
22087         Error out when pulling inactive or flushing pads.
22088         Removed const from refcounted types as it does not make sense.
22089         Simplify pad templates in basesink
22090         Added base class for simple 1-to-1 transforms.
22091         Make identity subclass the base transform.
22092
22093 2005-03-29  Andy Wingo  <wingo@pobox.com>
22094
22095         * docs/libs/gstreamer-libs-overrides.txt: 
22096         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
22097         really don't understand what's going on, but like whatever. I want
22098         green buildbot!
22099
22100         * docs/gst/Makefile.am:
22101         * docs/libs/Makefile.am: Dist the overrides files.
22102
22103         * check/Makefile.am (clean-local): Remove .libs directories.
22104
22105         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
22106         elements to EXTRA_DIST, so po/ files are happy.
22107
22108         * po/POTFILES.in: Er, remove it here.
22109
22110         * po/POTFILES: Remove gstspider.c.
22111
22112         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
22113
22114         * docs/libs/gstreamer-libs-docs.sgml: 
22115         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
22116         bytestream.
22117
22118         * tests/complexity.c (main): Set the length of the preroll queue
22119         on the sinks to prevent a lockup.
22120
22121         * libs/gst/dataprotocol/Makefile.am: 
22122         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
22123         the same as the one in check/gst-libs/gdp.c.
22124
22125         * po/, docs/gst/: Commit automatic changes to docs and po files.
22126
22127         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
22128         the versioned libgstbase.
22129
22130         * check/Makefile.am: Depend on an unversioned gst-register, seems
22131         to make autoconf happier.
22132
22133         * gst/base/Makefile.am: Make libgstbase a versioned lib.
22134
22135 2005-03-28  Wim Taymans  <wim@fluendo.com>
22136
22137         * configure.ac:
22138         * docs/design/part-gstelement.txt:
22139         * docs/design/part-negotiation.txt:
22140         * docs/design/part-preroll.txt:
22141         * docs/design/part-scheduling.txt:
22142         * docs/design/part-states.txt:
22143         * gst/Makefile.am:
22144         * gst/base/Makefile.am:
22145         * gst/base/README:
22146         * gst/base/gstbasesink.c: (gst_basesink_get_template),
22147         (gst_basesink_base_init), (gst_basesink_class_init),
22148         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
22149         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
22150         (gst_basesink_set_pad_functions),
22151         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
22152         (gst_basesink_set_property), (gst_basesink_get_property),
22153         (gst_base_sink_get_template), (gst_base_sink_get_caps),
22154         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
22155         (gst_basesink_preroll_queue_push),
22156         (gst_basesink_preroll_queue_empty),
22157         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
22158         (gst_basesink_event), (gst_basesink_get_times),
22159         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
22160         (gst_basesink_chain_unlocked), (gst_basesink_chain),
22161         (gst_basesink_loop), (gst_basesink_activate),
22162         (gst_basesink_change_state):
22163         * gst/base/gstbasesink.h:
22164         * gst/elements/Makefile.am:
22165         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
22166         (gst_fakesink_class_init), (gst_fakesink_init),
22167         (gst_fakesink_set_property), (gst_fakesink_get_property),
22168         (gst_fakesink_get_times), (gst_fakesink_event),
22169         (gst_fakesink_preroll), (gst_fakesink_render),
22170         (gst_fakesink_change_state):
22171         * gst/elements/gstfakesink.h:
22172         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
22173         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
22174         * gst/gstelement.c: (gst_element_add_pad),
22175         (gst_element_get_state_func), (gst_element_abort_state),
22176         (gst_element_commit_state), (gst_element_lost_state),
22177         (gst_element_set_state), (gst_element_pads_activate):
22178         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
22179         * gst/gstpipeline.c: (gst_pipeline_send_event),
22180         (gst_pipeline_change_state):
22181         Added state change code.
22182         Added/updated docs.
22183         Added sink base class, make fakesink extend the base class.
22184         Small cleanups in GstPipeline.
22185
22186 2005-03-26  David Schleef  <ds@schleef.org>
22187
22188         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
22189         is broken and should be implemented in a different library.
22190         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
22191         * gst/gst.h: remove gstcpu.h
22192         * gst/gstcpu.c: remove
22193         * gst/gstcpu.h: remove
22194         * gst/Makefile.am.future: Remove this file.  It's ancient.
22195
22196 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22197
22198         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
22199         (gst_bin_send_event):
22200           Add default event/set_manager handlers. The set_manager handler
22201           takes care that the manager is distributed over kids that were
22202           already in the bin before the manager was set. The event handler
22203           is a utility virtual function that sends the event over all sinks,
22204           so that gst_element_send_event (bin, event); has the expected
22205           behaviour.
22206         * gst/gstpad.c: (gst_pad_event_default):
22207           Re-install default event handling for discontinuities, so that
22208           seeking works without requiring hacks in applications or extra
22209           code in sinks.
22210         * gst/gstpipeline.c: (gst_pipeline_class_init),
22211         (gst_pipeline_send_event):
22212           Half hack, half utility: set a pipeline to PAUSED for seek events,
22213           since that is the only way we can guarantee a/v sync. Means that
22214           you can do gst_element_seek (pipeline, method, pos); on a pipeline
22215           and it "just works".
22216
22217 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22218
22219         * gst/gstpipeline.c: (gst_pipeline_use_clock):
22220           Lock/unlock mismatch.
22221
22222 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
22223
22224         * docs/faq/gst-uninstalled:
22225           add gst-plugins-base
22226         * docs/gst/Makefile.am:
22227           don't error out until docs are fixed
22228         * docs/gst/gstreamer.types:
22229           remove thread
22230
22231 2005-03-22  Wim Taymans  <wim@fluendo.com>
22232
22233         * check/Makefile.am:
22234         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
22235         * gst/gststructure.c: (gst_structure_set_valist),
22236         (gst_structure_copy_conditional):
22237         Activated more tests.
22238         Added message test.
22239         Added G_TYPE_POINTER to GstStructure.
22240         
22241
22242 2005-03-22  Wim Taymans  <wim@fluendo.com>
22243
22244         * docs/design/part-TODO.txt:
22245         * docs/design/part-events.txt:
22246         * docs/design/part-gstbin.txt:
22247         * docs/design/part-gstbus.txt:
22248         * docs/design/part-gstpipeline.txt:
22249         * docs/design/part-messages.txt:
22250         * gst/gstbus.c:
22251         * gst/gstmessage.c:
22252         Docs updates
22253
22254 2005-03-21  Wim Taymans  <wim@fluendo.com>
22255
22256         * gst/gstbus.c: (gst_bus_post):
22257         Fix copy-and-paste error.
22258
22259 2005-03-21  Wim Taymans  <wim@fluendo.com>
22260
22261         * check/Makefile.am:
22262         * gst/Makefile.am:
22263         * gst/elements/Makefile.am:
22264         * gst/elements/gstelements.c:
22265         * gst/elements/gstfakesink.c: (gst_fakesink_init),
22266         (gst_fakesink_event), (gst_fakesink_chain):
22267         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
22268         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
22269         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
22270         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
22271         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
22272         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
22273         (gst_fakesrc_loop), (gst_fakesrc_activate),
22274         (gst_fakesrc_change_state):
22275         * gst/elements/gstfakesrc.h:
22276         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
22277         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
22278         (gst_filesrc_open_file), (gst_filesrc_loop),
22279         (gst_filesrc_activate), (gst_filesrc_change_state),
22280         (filesrc_find_peek), (filesrc_find_suggest),
22281         (gst_filesrc_type_find):
22282         * gst/elements/gstidentity.c: (gst_identity_finalize),
22283         (gst_identity_class_init), (gst_identity_init),
22284         (gst_identity_proxy_getcaps), (identity_queue_push),
22285         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
22286         (gst_identity_getrange), (gst_identity_chain),
22287         (gst_identity_sink_loop), (gst_identity_src_loop),
22288         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
22289         (gst_identity_set_property), (gst_identity_get_property),
22290         (gst_identity_change_state):
22291         * gst/elements/gstidentity.h:
22292         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
22293         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
22294         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
22295         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
22296         (gst_tee_sink_activate):
22297         * gst/elements/gsttee.h:
22298         * gst/gst.c: (gst_register_core_elements), (init_post):
22299         * gst/gst.h:
22300         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
22301         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
22302         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
22303         (gst_bin_change_state):
22304         * gst/gstbin.h:
22305         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
22306         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
22307         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
22308         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
22309         (gst_bus_set_sync_handler), (gst_bus_create_watch),
22310         (bus_watch_callback), (bus_watch_destroy),
22311         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
22312         (poll_timeout), (gst_bus_poll):
22313         * gst/gstbus.h:
22314         * gst/gstcaps.h:
22315         * gst/gstdata.h:
22316         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
22317         (gst_element_post_message), (gst_element_message_full),
22318         (gst_element_get_state_func), (gst_element_get_state),
22319         (gst_element_abort_state), (gst_element_commit_state),
22320         (gst_element_lost_state), (gst_element_set_state),
22321         (gst_element_pads_activate), (gst_element_change_state),
22322         (gst_element_dispose), (gst_element_set_manager_func),
22323         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
22324         (gst_element_set_manager), (gst_element_get_manager),
22325         (gst_element_set_bus), (gst_element_get_bus),
22326         (gst_element_set_scheduler), (gst_element_get_scheduler):
22327         * gst/gstelement.h:
22328         * gst/gstevent.c: (gst_event_new_segment_seek),
22329         (gst_event_new_flush):
22330         * gst/gstevent.h:
22331         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
22332         (_gst_message_free), (gst_message_get_type), (gst_message_new),
22333         (gst_message_new_eos), (gst_message_new_error),
22334         (gst_message_new_warning), (gst_message_new_tag),
22335         (gst_message_new_state_changed), (gst_message_new_application),
22336         (gst_message_get_structure), (gst_message_parse_tag),
22337         (gst_message_parse_state_changed), (gst_message_parse_error),
22338         (gst_message_parse_warning):
22339         * gst/gstmessage.h:
22340         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
22341         (gst_real_pad_set_property), (gst_pad_set_active),
22342         (gst_pad_is_active), (gst_pad_set_blocked_async),
22343         (gst_pad_set_blocked), (gst_pad_is_blocked),
22344         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
22345         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
22346         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
22347         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
22348         (gst_pad_link_filtered), (gst_pad_relink_filtered),
22349         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
22350         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
22351         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
22352         (gst_pad_set_caps), (gst_pad_configure_sink),
22353         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
22354         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
22355         (gst_real_pad_dispose), (gst_real_pad_finalize),
22356         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
22357         (gst_pad_event_default_dispatch), (gst_pad_event_default),
22358         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
22359         * gst/gstpad.h:
22360         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
22361         (pipeline_bus_handler), (gst_pipeline_change_state),
22362         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
22363         * gst/gstpipeline.h:
22364         * gst/gstprobe.h:
22365         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
22366         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
22367         (gst_queue_link_src), (gst_queue_bufferalloc),
22368         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
22369         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
22370         (gst_queue_loop), (gst_queue_handle_src_event),
22371         (gst_queue_handle_src_query), (gst_queue_src_activate),
22372         (gst_queue_change_state):
22373         * gst/gstqueue.h:
22374         * gst/gstscheduler.c: (gst_scheduler_init),
22375         (gst_scheduler_dispose), (gst_scheduler_create_task),
22376         (gst_scheduler_factory_create):
22377         * gst/gstscheduler.h:
22378         * gst/gststructure.c: (gst_structure_get_type),
22379         (gst_structure_copy_conditional):
22380         * gst/gststructure.h:
22381         * gst/gsttaginterface.h:
22382         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
22383         (gst_task_init), (gst_task_dispose), (gst_task_create),
22384         (gst_task_get_state), (gst_task_start), (gst_task_stop),
22385         (gst_task_pause):
22386         * gst/gsttask.h:
22387         * gst/gstthread.c:
22388         * gst/gstthread.h:
22389         * gst/gsttypes.h:
22390         * gst/schedulers/Makefile.am:
22391         * gst/schedulers/cothreads_compat.h:
22392         * gst/schedulers/entryscheduler.c:
22393         * gst/schedulers/faircothreads.c:
22394         * gst/schedulers/faircothreads.h:
22395         * gst/schedulers/fairscheduler.c:
22396         * gst/schedulers/gstbasicscheduler.c:
22397         * gst/schedulers/gstoptimalscheduler.c:
22398         * gst/schedulers/gthread-cothreads.h:
22399         * gst/schedulers/threadscheduler.c:
22400         (gst_thread_scheduler_task_get_type),
22401         (gst_thread_scheduler_task_class_init),
22402         (gst_thread_scheduler_task_init),
22403         (gst_thread_scheduler_task_start),
22404         (gst_thread_scheduler_task_stop),
22405         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
22406         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
22407         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
22408         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
22409         (plugin_init):
22410         * libs/gst/Makefile.am:
22411         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
22412         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
22413         (gst_file_pad_parent_set):
22414         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
22415         (gst_dp_event_from_packet):
22416         * tests/complexity.c: (main):
22417         * tests/mass_elements.c: (main):
22418         * testsuite/states/locked.c: (message_received), (main):
22419         * testsuite/states/parent.c: (main):
22420         * tools/gst-inspect.c: (print_element_flag_info),
22421         (print_implementation_info), (print_pad_info):
22422         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
22423         (main):
22424         * tools/gst-md5sum.c: (event_loop), (main):
22425         * tools/gst-typefind.c: (main):
22426         * tools/gst-xmlinspect.c: (print_element_info):
22427         Next big merge.
22428         Added GstBus for mainloop integration.
22429         Added GstMessage for sending notifications on the bus.
22430         Added GstTask as an abstraction for pipeline entry points.
22431         Removed GstThread.
22432         Removed Schedulers.
22433         Simplified GstQueue for multithreaded core.
22434         Made _link threadsafe, removed old capsnego.
22435         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
22436         Added pad blocking functions.
22437         Reworked scheduling functions in GstPad to prepare for
22438         scheduling updates soon.
22439         Moved events out of data stream.
22440         Simplified GstEvent types.
22441         Added return values to push/pull.
22442         Removed clocking from GstElement.
22443         Added prototypes for state change function for next merge.
22444         Removed iterate from bins and state change management.
22445         Fixed some elements, disabled others for now.
22446         Fixed -inspect and -launch.
22447         Added check for GstBus.
22448
22449 2005-03-10  Wim Taymans  <wim@fluendo.com>
22450
22451         * docs/design/part-MT-refcounting.txt:
22452         * docs/design/part-clocks.txt:
22453         * docs/design/part-gstelement.txt:
22454         * docs/design/part-gstobject.txt:
22455         * docs/design/part-standards.txt:
22456         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
22457         (gst_bin_remove_func), (gst_bin_remove):
22458         * gst/gstbin.h:
22459         * gst/gstbuffer.c:
22460         * gst/gstcaps.h:
22461         * testsuite/clock/clock1.c: (main):
22462         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
22463         (main):
22464         * testsuite/dlopen/loadgst.c: (do_test):
22465         * testsuite/refcounting/bin.c: (add_remove_test1),
22466         (add_remove_test2), (main):
22467         * testsuite/refcounting/element.c: (main):
22468         * testsuite/refcounting/element_pad.c: (main):
22469         * testsuite/refcounting/pad.c: (main):
22470         * tools/gst-launch.c: (sigint_handler_sighandler):
22471         * tools/gst-typefind.c: (main):
22472         Doc updates.
22473         Added doc about clock.
22474         removed gst_bin_iterate_recurse_up(), marked methods
22475         for removal.
22476         Fix more testsuites.
22477
22478 2005-03-09  Wim Taymans  <wim@fluendo.com>
22479
22480         * gst/gstpad.c: (gst_pad_get_direction),
22481         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
22482         (gst_pad_collect_valist):
22483         * testsuite/bins/interface.c: (main):
22484         * testsuite/caps/audioscale.c: (test_caps):
22485         * testsuite/caps/caps.c: (test1), (test2), (test3):
22486         * testsuite/caps/deserialize.c: (main):
22487         * testsuite/caps/enumcaps.c: (main):
22488         * testsuite/caps/filtercaps.c: (main):
22489         * testsuite/caps/intersect2.c: (main):
22490         * testsuite/caps/random.c: (main):
22491         * testsuite/caps/renegotiate.c: (my_fixate), (main):
22492         * testsuite/caps/sets.c: (check_caps):
22493         * testsuite/caps/simplify.c: (check_caps), (main):
22494         * testsuite/caps/subtract.c: (check_caps):
22495         Fix _pad_get_direction wrt ghostpads.
22496         Fix caps testsuite.
22497
22498 2005-03-09  Wim Taymans  <wim@fluendo.com>
22499
22500         * check/Makefile.am:
22501         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
22502         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
22503         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
22504         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
22505         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
22506         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
22507         (gst_bin_remove), (gst_bin_iterate_recurse_up),
22508         (bin_element_is_sink), (gst_bin_iterate_sinks),
22509         (gst_bin_iterate_all_by_interface):
22510         * gst/gstbin.h:
22511         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
22512         (gst_element_change_state), (gst_element_dispose),
22513         (gst_element_finalize), (gst_element_set_loop_function):
22514         * gst/gstelement.h:
22515         * gst/gstiterator.c: (find_custom_fold_func):
22516         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
22517         (gst_pad_collectv), (gst_pad_collect_valist),
22518         (gst_pad_template_new):
22519         * gst/gstpipeline.c: (gst_pipeline_class_init),
22520         (gst_pipeline_dispose), (gst_pipeline_set_property),
22521         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
22522         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
22523         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
22524         * gst/gstutils.h:
22525         * gst/schedulers/entryscheduler.c:
22526         * gst/schedulers/gstbasicscheduler.c:
22527         (gst_basic_scheduler_cothreaded_chain),
22528         (gst_basic_scheduler_chain_add_element):
22529         * testsuite/bins/interface.c: (main):
22530         Added GstBin test.
22531         Added GstSystemClock test.
22532         Implemented clock distribution code in GstBin.
22533         Implemented iterate sinks method for future use.
22534         Rearranged gstelement.h
22535         Fix GstIterator comparison bug.
22536         Moved some code to GstPipeline, mostly clocking related.
22537
22538 2005-03-09  Wim Taymans  <wim@fluendo.com>
22539
22540         * configure.ac:
22541         * gst/gst_private.h:
22542         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
22543         (gst_bin_remove_func), (gst_bin_remove),
22544         (gst_bin_get_by_name_recurse_up):
22545         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
22546         (gst_clock_id_compare_func), (gst_clock_id_wait),
22547         (gst_clock_id_wait_async), (gst_clock_init),
22548         (gst_clock_adjust_unlocked), (gst_clock_get_time):
22549         * gst/gstelement.h:
22550         * gst/gstinfo.c: (_gst_debug_init):
22551         * gst/gstobject.h:
22552         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
22553         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
22554         * gst/gstpad.h:
22555         Bump version number, we're now 0.9.0
22556         Add future debugging category.
22557         Fix NULL _unref() in _get_by_name_recurse_up
22558         Rearrange gstpad.h.
22559         Update some docs.
22560
22561 2005-03-08  Wim Taymans  <wim@fluendo.com>
22562
22563         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
22564         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
22565         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
22566         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
22567         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
22568         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
22569         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
22570         * gst/elements/gstidentity.c: (gst_identity_class_init):
22571         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
22572         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
22573         * gst/elements/gstshaper.c: (gst_shaper_class_init):
22574         * gst/elements/gststatistics.c: (gst_statistics_class_init):
22575         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
22576         (gst_tee_link):
22577         * gst/gstelement.c: (gst_element_class_init),
22578         (gst_element_base_class_init), (gst_element_init),
22579         (gst_element_get_random_pad), (gst_element_wait_state_change),
22580         (gst_element_change_state), (gst_element_dispose),
22581         (gst_element_finalize), (gst_element_set_loop_function):
22582         * gst/gstelement.h:
22583         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
22584         * gst/gstthread.c: (gst_thread_class_init),
22585         (gst_thread_release_children_locks), (gst_thread_change_state):
22586         * gst/schedulers/gstbasicscheduler.c:
22587         (gst_basic_scheduler_loopfunc_wrapper),
22588         (gst_basic_scheduler_chain_wrapper),
22589         (gst_basic_scheduler_src_wrapper),
22590         (gst_basic_scheduler_remove_element):
22591         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
22592         Remove threadsafe properties. Fix elements because GObject
22593         complains when installing a property before declaring a
22594         set/get_property handler.
22595         Rearrange gstelement.h file, use STATE macros for state locks.
22596         Free mutexes in the finalize method instead of dispose.
22597
22598 2005-03-08  Wim Taymans  <wim@fluendo.com>
22599
22600         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
22601         * gst/gstthread.c: (gst_thread_release_children_locks):
22602         Added parentage check.
22603         Fix build og GstThread again.
22604
22605 2005-03-08  Wim Taymans  <wim@fluendo.com>
22606
22607         * docs/design/part-MT-refcounting.txt:
22608         * docs/design/part-conventions.txt:
22609         * docs/design/part-gstobject.txt:
22610         * docs/design/part-relations.txt:
22611         * docs/design/part-standards.txt:
22612         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
22613         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
22614         (gst_bin_get_by_name), (gst_bin_get_by_interface),
22615         (gst_bin_iterate_all_by_interface):
22616         * gst/gstbuffer.h:
22617         * gst/gstclock.h:
22618         * gst/gstelement.c: (gst_element_class_init),
22619         (gst_element_change_state), (gst_element_set_loop_function):
22620         * gst/gstelement.h:
22621         * gst/gstiterator.c:
22622         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
22623         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
22624         (gst_object_dispatch_properties_changed), (gst_object_set_name),
22625         (gst_object_set_parent), (gst_object_unparent),
22626         (gst_object_check_uniqueness):
22627         * gst/gstobject.h:
22628         Docs updates, clean up some headers.
22629
22630 2005-03-07  Wim Taymans  <wim@fluendo.com>
22631
22632         * check/.cvsignore:
22633         * check/Makefile.am:
22634         * check/gst-libs/.cvsignore:
22635         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
22636         * check/gst/.cvsignore:
22637         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
22638         (START_TEST), (gstbus_suite), (main):
22639         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
22640         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
22641         (gst_data_suite), (main):
22642         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
22643         (add_fold_func), (gstiterator_suite), (main):
22644         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
22645         (thread_name_object), (thread_name_object_default),
22646         (gst_object_name_compare), (gst_object_suite), (main):
22647         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
22648         (gst_pad_suite), (main):
22649         * check/gstcheck.c: (gst_check_log_message_func),
22650         (gst_check_log_critical_func), (gst_check_init):
22651         * check/gstcheck.h:
22652         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
22653         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
22654         Added checks.
22655
22656 2005-03-07  Wim Taymans  <wim@fluendo.com>
22657
22658         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
22659         (gst_list_iterator_next), (gst_list_iterator_resync),
22660         (gst_list_iterator_free), (gst_iterator_new_list),
22661         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
22662         (gst_iterator_free), (gst_iterator_push), (filter_next),
22663         (filter_resync), (filter_uninit), (filter_free),
22664         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
22665         (gst_iterator_foreach), (find_custom_fold_func),
22666         (gst_iterator_find_custom):
22667         * gst/gstiterator.h:
22668         Added missing files.
22669
22670 2005-03-07  Wim Taymans  <wim@fluendo.com>
22671
22672         * Makefile.am:
22673         * configure.ac:
22674         * docs/design/part-MT-refcounting.txt:
22675         * docs/design/part-conventions.txt:
22676         * docs/design/part-gstobject.txt:
22677         * docs/design/part-relations.txt:
22678         * examples/mixer/mixer.c: (main):
22679         * examples/thread/thread.c: (eos), (main):
22680         * gst/Makefile.am:
22681         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
22682         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
22683         (gst_spider_plug_from_srcpad):
22684         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
22685         (gst_spider_identity_change_state),
22686         (gst_spider_identity_sink_loop_type_finding):
22687         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
22688         * gst/elements/gstidentity.c: (gst_identity_init):
22689         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
22690         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
22691         * gst/elements/gsttypefindelement.c: (free_entry):
22692         * gst/gst.c:
22693         * gst/gst.h:
22694         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
22695         (gst_bin_set_clock_func), (gst_bin_auto_clock),
22696         (gst_bin_set_index), (gst_bin_set_element_sched),
22697         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
22698         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
22699         (gst_bin_iterate_elements), (iterate_child_recurse),
22700         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
22701         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
22702         (compare_interface), (gst_bin_get_by_interface),
22703         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
22704         * gst/gstbin.h:
22705         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
22706         (gst_buffer_default_free), (gst_buffer_default_copy),
22707         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
22708         (gst_buffer_create_sub):
22709         * gst/gstbuffer.h:
22710         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
22711         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
22712         (gst_caps_unref), (gst_static_caps_get),
22713         (gst_caps_remove_and_get_structure), (gst_caps_append),
22714         (gst_caps_append_structure), (gst_caps_remove_structure),
22715         (gst_caps_copy_nth), (gst_caps_set_simple),
22716         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
22717         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
22718         (gst_caps_structure_intersect_field), (gst_caps_intersect),
22719         (gst_caps_structure_subtract_field), (gst_caps_subtract),
22720         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
22721         (gst_caps_structure_figure_out_union),
22722         (gst_caps_switch_structures), (gst_caps_do_simplify),
22723         (gst_caps_replace), (gst_caps_from_string),
22724         (gst_caps_copy_conditional):
22725         * gst/gstcaps.h:
22726         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
22727         (_gst_clock_id_free), (gst_clock_id_unref),
22728         (gst_clock_id_compare_func), (gst_clock_id_wait),
22729         (gst_clock_id_wait_async), (gst_clock_class_init),
22730         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
22731         (gst_clock_get_time), (gst_clock_set_time_adjust),
22732         (gst_clock_set_property), (gst_clock_get_property):
22733         * gst/gstclock.h:
22734         * gst/gstcompat.h:
22735         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
22736         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
22737         * gst/gstdata.h:
22738         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
22739         (gst_element_requires_clock), (gst_element_provides_clock),
22740         (gst_element_set_clock), (gst_element_clock_wait),
22741         (gst_element_wait), (gst_element_set_time_delay),
22742         (gst_element_is_indexable), (gst_element_add_pad),
22743         (gst_element_add_ghost_pad), (gst_element_remove_pad),
22744         (pad_compare_name), (gst_element_get_static_pad),
22745         (gst_element_request_pad), (gst_element_get_request_pad),
22746         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
22747         (gst_element_class_get_pad_template_list),
22748         (gst_element_class_get_pad_template), (gst_element_error_func),
22749         (gst_element_get_random_pad), (gst_element_get_event_masks),
22750         (gst_element_send_event), (gst_element_seek),
22751         (gst_element_get_query_types), (gst_element_query),
22752         (gst_element_get_formats), (gst_element_convert),
22753         (gst_element_is_locked_state), (gst_element_set_locked_state),
22754         (gst_element_sync_state_with_parent), (gst_element_change_state),
22755         (gst_element_finalize), (gst_element_yield),
22756         (gst_element_interrupt), (gst_element_set_scheduler),
22757         (gst_element_get_scheduler), (gst_element_set_loop_function):
22758         * gst/gstelement.h:
22759         * gst/gstevent.h:
22760         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
22761         (gst_format_get_by_nick), (gst_format_get_details),
22762         (gst_format_iterate_definitions):
22763         * gst/gstformat.h:
22764         * gst/gstindex.c: (gst_index_gtype_resolver):
22765         * gst/gstinfo.c:
22766         * gst/gstinfo.h:
22767         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
22768         (gst_mem_chunk_free):
22769         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
22770         (gst_object_ref), (gst_object_unref), (gst_object_sink),
22771         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
22772         (gst_object_dispatch_properties_changed),
22773         (gst_object_set_name_default), (gst_object_set_name),
22774         (gst_object_get_name), (gst_object_set_name_prefix),
22775         (gst_object_get_name_prefix), (gst_object_set_parent),
22776         (gst_object_get_parent), (gst_object_unparent),
22777         (gst_object_check_uniqueness), (gst_object_save_thyself),
22778         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
22779         (gst_object_set_property), (gst_object_get_property),
22780         (gst_object_get_path_string):
22781         * gst/gstobject.h:
22782         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
22783         (gst_real_pad_init), (gst_real_pad_get_property),
22784         (gst_pad_custom_new), (gst_pad_get_direction),
22785         (gst_pad_set_active), (gst_pad_is_active),
22786         (gst_pad_set_event_function), (gst_pad_is_linked),
22787         (gst_pad_link_free), (gst_pad_link_intersect),
22788         (gst_pad_link_fixate), (gst_pad_set_caps),
22789         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
22790         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
22791         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
22792         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
22793         (gst_pad_get_caps), (gst_pad_peer_get_caps),
22794         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
22795         (gst_pad_realize), (gst_pad_get_allowed_caps),
22796         (gst_real_pad_dispose), (gst_real_pad_finalize),
22797         (gst_pad_collectv), (gst_pad_collect_valist),
22798         (gst_pad_template_dispose), (gst_pad_template_new),
22799         (gst_pad_get_internal_links):
22800         * gst/gstpad.h:
22801         * gst/gstpipeline.c: (gst_pipeline_dispose),
22802         (gst_pipeline_change_state):
22803         * gst/gstpipeline.h:
22804         * gst/gstplugin.c:
22805         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
22806         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
22807         * gst/gstpluginfeature.h:
22808         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
22809         * gst/gstquery.c: (_gst_query_type_initialize),
22810         (gst_query_type_register), (gst_query_type_get_by_nick),
22811         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
22812         * gst/gstquery.h:
22813         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
22814         * gst/gstscheduler.c: (gst_scheduler_add_element),
22815         (gst_scheduler_factory_create):
22816         * gst/gststructure.c: (gst_structure_set_parent_refcount),
22817         (gst_structure_free), (gst_structure_set_name),
22818         (gst_structure_id_set_value), (gst_structure_set_value),
22819         (gst_structure_set_valist), (gst_structure_remove_field),
22820         (gst_structure_remove_fields),
22821         (gst_structure_remove_fields_valist),
22822         (gst_structure_remove_all_fields), (gst_structure_foreach),
22823         (gst_structure_map_in_place),
22824         (gst_caps_structure_fixate_field_nearest_int),
22825         (gst_caps_structure_fixate_field_nearest_double):
22826         * gst/gststructure.h:
22827         * gst/gstsystemclock.c: (gst_system_clock_class_init),
22828         (gst_system_clock_init), (gst_system_clock_dispose),
22829         (gst_system_clock_async_thread),
22830         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
22831         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
22832         * gst/gstsystemclock.h:
22833         * gst/gsttag.c: (gst_tag_list_add_value_internal),
22834         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
22835         * gst/gsttaginterface.c:
22836         * gst/gstthread.c: (gst_thread_dispose),
22837         (gst_thread_release_children_locks), (gst_thread_change_state),
22838         (gst_thread_main_loop):
22839         * gst/gsttrashstack.h:
22840         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
22841         * gst/gsttypes.h:
22842         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
22843         (gst_element_request_pad), (gst_element_get_pad_from_template),
22844         (gst_element_request_compatible_pad),
22845         (gst_element_get_compatible_pad_filtered),
22846         (gst_element_get_compatible_pad), (gst_element_state_get_name),
22847         (gst_element_link_pads_filtered), (gst_element_link_filtered),
22848         (gst_element_link_many), (gst_element_link),
22849         (gst_element_link_pads), (gst_element_unlink_pads),
22850         (gst_element_unlink_many), (gst_element_unlink),
22851         (gst_pad_can_link_filtered), (gst_pad_can_link),
22852         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
22853         (gst_object_default_error), (gst_bin_add_many),
22854         (gst_bin_remove_many), (gst_element_populate_std_props),
22855         (gst_element_class_install_std_props), (gst_buffer_merge),
22856         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
22857         (link_fold_func), (gst_pad_proxy_setcaps):
22858         * gst/gstutils.h:
22859         * gst/gstvalue.c: (gst_value_deserialize_string):
22860         * gst/parse/grammar.y:
22861         * gst/schedulers/gstbasicscheduler.c:
22862         (gst_basic_scheduler_cothreaded_chain),
22863         (gst_basic_scheduler_chain_recursive_add),
22864         (gst_basic_scheduler_pad_link):
22865         * gst/schedulers/gstoptimalscheduler.c:
22866         (get_group_schedule_function),
22867         (gst_opt_scheduler_state_transition),
22868         (gst_opt_scheduler_add_element), (element_get_reachables_func):
22869         * libs/gst/bytestream/bytestream.c:
22870         * libs/gst/dataprotocol/dataprotocol.c:
22871         (gst_dp_header_from_buffer):
22872         * po/nb.po:
22873         * po/ru.po:
22874         * tests/threadstate/threadstate2.c: (eos):
22875         * tools/gst-compprep.c: (main):
22876         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
22877         (print_pad_info), (print_children_info):
22878         * tools/gst-launch.c: (idle_func), (main):
22879         * tools/gst-md5sum.c: (idle_func), (main):
22880         * tools/gst-xmlinspect.c: (print_element_info):
22881         First THREADED backport attempt, focusing on adding locks and
22882         making sure the API is threadsafe. Needs more work. More docs
22883         follow this week.
22884
22885 2005-02-24  Andy Wingo  <wingo@pobox.com>
22886
22887         * tests/bench-complexity.scm:
22888         * tests/complexity.gnuplot: New files, good for running complexity
22889         benchmarks.
22890
22891         * tests/Makefile.am:
22892         * tests/complexity.c: New test, sets up N elements, at each level
22893         teeing into M streams per element. Eeeenteresting.
22894
22895         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
22896         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
22897         running bench-mass_elements.scm.
22898
22899         * tests/bench-mass_elements.scm: New script, runs mass_elements
22900         for various numbers of identities, outputting the results to a
22901         file. Requires guile 1.6. Just for testing.
22902
22903 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22904
22905         * gst/schedulers/fairscheduler.c:
22906           compile with debug disabled
22907
22908 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
22909
22910         * configure.ac:
22911           hunting season on 0.9 is now OPEN