plugins/elements/gstmultiqueue.c: Deactivate pads and free GstSingleQueue with gst_si...
[platform/upstream/gstreamer.git] / ChangeLog
1 2007-04-03  Wim Taymans  <wim@fluendo.com>
2
3         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
4
5         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
6         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
7         when releasing sink pad. Fixes #425400.
8
9 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
10
11         * docs/random/ensonic/dynlink.txt:
12           More work on proposal for new core api.
13
14         * docs/libs/gstreamer-libs-sections.txt:
15         * libs/gst/base/gstbasetransform.h:
16           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
17           
18         * libs/gst/controller/gstcontroller.c:
19         (on_object_controlled_property_changed),
20         (gst_controller_sync_values),
21         (gst_controller_set_interpolation_mode):
22         * libs/gst/controller/gstcontroller.h:
23           Less verbose logging add docs for unimplemented parts and correctly
24           return when using unavailable parts.
25
26 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
27
28         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
29         Move all the debug to the CLOCK category, and associate it with
30         the clock object.
31
32 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
33
34         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
35         Make take_buffer a bit quicker by removing redundant checks
36         caused by calling gst_adapter_take.
37
38 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
39
40         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
41           Don't leak GCond.
42
43         * tests/check/Makefile.am:
44         * tests/check/elements/.cvsignore:
45         * tests/check/elements/multiqueue.c: (setup_multiqueue),
46         (GST_START_TEST), (multiqueue_suite):
47           Add some dead simple unit tests for the 'multiqueue' element
48           (some bits don't work yet and are disabled for now).
49
50 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
51
52         * gst/gstelement.c: (gst_element_get_request_pad),
53         (gst_element_class_get_request_pad_template):
54           Make gst_element_get_request_pad() create request pads only for
55           request pad templates and not for, say, sometimes pad templates.
56
57 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
58
59         * docs/design/draft-klass.txt:
60           Add example that needs more thinking.
61         
62         * docs/design/draft-missing-plugins.txt:
63           More thoughts about wrapper plugins.
64         
65         * docs/random/ensonic/embedded.txt:
66         * docs/random/ensonic/profiling.txt:
67           More design work.
68
69 2007-03-25  Wim Taymans  <wim@fluendo.com>
70
71         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
72         (gst_base_src_loop):
73         Only push the segment events in the PLAYING state for live sources.
74
75 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
76
77         * gst/gstpipeline.c: (gst_pipeline_change_state):
78         Modify the clock distribution path in PAUSED->PLAYING so that we 
79         never attempt to choose a new clock unless we're actually leaving
80         the PAUSED state for the first time. This prevents choosing a
81         different clock when the state_change gets called for a 2nd time due
82         to some element doing an async state change.
83
84 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
85
86         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
87         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
88         (gst_pad_chain_unchecked), (gst_pad_push):
89         Revert last commit. This needs some more thoughts.
90
91 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
92
93         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
94         (gst_pad_chain_unchecked), (gst_pad_push):
95         Check in set_caps if the caps are compatible with the pad and remove
96         two functions that are redundant now. Fixes #421543.
97
98 2007-03-22  Wim Taymans  <wim@fluendo.com>
99
100         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
101         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
102         Unref some more to make valgrind happy.
103
104 2007-03-22  Wim Taymans  <wim@fluendo.com>
105
106         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
107         (gst_system_clock_id_wait_jitter),
108         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
109         Fix anoying regression that survived a few releases. When adding an
110         async entry while blocking on a sync entry, the sync entry will unblock
111         but still be busy, so it should continue to wait instead of returning
112         _BUSY to the app.
113         Add some comments here and there.
114
115         * tests/check/gst/gstsystemclock.c: (mixed_thread),
116         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
117         Add testcase for this.
118
119 2007-03-22  Wim Taymans  <wim@fluendo.com>
120
121         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
122         Handle errors from the clock sync better, only UNSCHEDULED indicates a
123         WRONG_STATE and can silently pause the task. All other cases should
124         error out.
125
126 2007-03-22  Wim Taymans  <wim@fluendo.com>
127
128         Patch by: <syrjala at sci dot fi>
129
130         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
131         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
132         Improve debugging.
133
134 2007-03-21  Michael Smith  <msmith@fluendo.com>
135
136         * docs/pwg/advanced-types.xml:
137           Fix some errors in the typefinding docs pointed out on irc.
138
139 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
140
141         * libs/gst/base/gstbasesrc.c:
142         Clarify FIXME comment in the face of having added unlock_stop()
143
144 2007-03-21  Wim Taymans  <wim@fluendo.com>
145
146         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
147         Prepare for release where we warn against possible app breakage in the
148         case of live pipelines along with an env var to enable/disable live
149         preroll mode (GST_COMPAT=[no-]live-preroll).
150
151 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
152
153         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
154         So we should use correct constants for checking for None offset.
155
156 2007-03-20  Wim Taymans  <wim@fluendo.com>
157
158         * docs/design/part-block.txt:
159         Mention the fact that the newly switched element should be set to at
160         least PAUSED.
161
162 2007-03-20  Wim Taymans  <wim@fluendo.com>
163
164         * gst/gst.c:
165         Fix compilation with registry disabled as spotted by Saur.
166
167 2007-03-20  Wim Taymans  <wim@fluendo.com>
168
169         Patch by: Olivier Crete <tester at tester dot ca>
170
171         * gst/gstelement.c: (gst_element_sync_state_with_parent):
172         Look at the pending state too when syncing the element state to the
173         parent. Fixes #420133.
174
175 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
176
177         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
178         (gst_base_sink_change_state):
179         * libs/gst/base/gstbasesink.h:
180         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
181         (gst_base_src_default_event), (gst_base_src_unlock_stop),
182         (gst_base_src_deactivate):
183         * libs/gst/base/gstbasesrc.h:
184         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
185         for sub-classes to correctly clear any state they set trying to
186         unlock, such as clearing out unlock commands from a command fd.
187
188         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
189         (gst_fd_sink_render), (gst_fd_sink_unlock),
190         (gst_fd_sink_unlock_stop):
191         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
192         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
193         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
194
195         Implement unlock_stop in fdsrc and fdsink.
196         Implement seeking in fdsrc when a seekable fd is passed, as in
197         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
198
199 2007-03-19  Wim Taymans  <wim@fluendo.com>
200
201         Patch by: Evan Nemerson <evan at coeus dash group dot com>
202
203         * gst/gstelement.c: (gst_element_class_init):
204         Fix pad-added and pad-removed signal signatures so that the pad type is
205         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
206
207 2007-03-19  Wim Taymans  <wim@fluendo.com>
208
209         * docs/gst/gstreamer-sections.txt:
210         Add new element field and method.
211
212         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
213         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
214         (gst_bin_recalc_state), (gst_bin_get_state_func),
215         (gst_bin_element_set_state), (gst_bin_change_state_func),
216         (gst_bin_continue_func), (bin_bus_handler),
217         (bin_push_state_continue), (bin_handle_async_start),
218         (bin_handle_async_done), (gst_bin_handle_message_func):
219         Make async state changes a bit smarter by using new ASYNC_START and
220         ASYNC_DONE messages. This reduces the number of times we run the state
221         recalculation thread.
222         Don't change state of element with a pending ASYNC_START message.
223         Deprecate STATE_DIRTY messages.
224         
225         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
226         (gst_element_get_state_func), (gst_element_continue_state),
227         (gst_element_lost_state), (gst_element_set_state_func),
228         (gst_element_change_state):
229         * gst/gstelement.h:
230         Keep the state that was last set by the app in a new element field.
231         Don't allow state changes when handling an element event.
232         Post ASYNC_START and ASYNC_DONE messages.
233         Change lost_state so that we go to PAUSED and wait for the parent to set
234         us to PLAYING again (so latency calculation can be performed)
235         Export gst_element_change_state() method so that subclasses can use it.
236         API: gst_element_change_state()
237         API: GST_STATE_TARGET
238
239         * gst/gstpipeline.c: (gst_pipeline_class_init),
240         (reset_stream_time), (gst_pipeline_change_state),
241         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
242         Using the new ASYNC_START message we can reset the base_time when
243         needed. This can then be used to implement base_time redistribution in
244         flushing seeks so that we can remove the explicit seek handling.
245         Perform latency query and configuration when going to PLAYING.
246
247         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
248         (gst_base_sink_query), (gst_base_sink_change_state):
249         Post new ASYNC_START/ASYNC_DONE messages.
250
251         * tests/check/generic/sinks.c: (GST_START_TEST):
252         Fix test because the bin will not set the async element to PLAYING right
253         away.
254
255         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
256         Make the message check a little stronger.
257         Handle ASYNC messages.
258
259         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
260         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
261         Expect ASYNC_DONE messages.
262
263 2007-03-19  Wim Taymans  <wim@fluendo.com>
264
265         * docs/gst/gstreamer-sections.txt:
266         * gst/gstmessage.c: (gst_message_new_async_start),
267         (gst_message_new_async_done), (gst_message_parse_info),
268         (gst_message_parse_async_start):
269         * gst/gstmessage.h:
270         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
271         support.
272
273 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
274
275         * tools/gst-inspect.c:
276         (print_plugin_automatic_install_info_codecs):
277           Now that we don't check for the 'Codec' keyword any longer in the
278           klass, we shouldn't spew a warning if the klass isn't a decoder or
279           encoder (since it might be a Source/Network, for example).
280
281 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
282
283         * tools/gst-inspect.c:
284         (print_plugin_automatic_install_info_codecs):
285           Don't require decoder/demuxer/depayloader elements or
286           encoder/muxer/paylader elements to have 'Codec' as part of their
287           factory class string when introspecting a plugin's capabilities.
288           draft-klass.txt mentions that it might be removed in future, and
289           flump3dec doesn't have it as part of its class string, so chances
290           are others might also not have it.
291
292 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
293
294         * po/af.po:
295         * po/az.po:
296         * po/bg.po:
297         * po/ca.po:
298         * po/cs.po:
299         * po/de.po:
300         * po/en_GB.po:
301         * po/fr.po:
302         * po/it.po:
303         * po/nb.po:
304         * po/nl.po:
305         * po/ru.po:
306         * po/sq.po:
307         * po/sr.po:
308         * po/sv.po:
309         * po/tr.po:
310         * po/uk.po:
311         * po/vi.po:
312         * po/zh_CN.po:
313         * po/zh_TW.po:
314           Update translations from translation project
315
316 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
317
318         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
319         (gst_child_proxy_set_property):
320           Invert precondition check to be alike the ones in the mimiced gobject
321           api.
322
323 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
324
325         * docs/design/draft-tagreading.txt:
326         * docs/random/ensonic/audiobaseclasses.txt:
327           Do some Architect work.
328
329         * gst/gstobject.c: (gst_object_set_name):
330           Add a WARNING.
331
332         * gst/gstpad.c:
333           Add docs that point from gst_pad_get_range to gst_pad_pull_range
334
335 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
336
337         * gst/gstsystemclock.c: (gst_system_clock_init),
338         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
339         Defer starting the async system clock thread until the first async
340         wait is scheduled. Fixes #414986.
341
342 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
343
344         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
345         (gst_single_queue_free):
346           Fix small leak (free GstSingleQueue structure too, not only contents).
347
348 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
349
350         * gst/gstbin.c:(gst_bin_add):
351         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
352         * win32/common/libgstbase.def:
353         * win32/common/libgstreamer.def:
354         Add new exported functions.
355
356 2007-03-09  Wim Taymans  <wim@fluendo.com>
357
358         * docs/plugins/gstreamer-plugins-sections.txt:
359         Fix GstTee docs.
360
361 2007-03-09  Wim Taymans  <wim@fluendo.com>
362
363         * docs/gst/gstreamer-sections.txt:
364         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
365         * gst/gstbuffer.h:
366         Add metadata copy functions. Fixes #393099.
367
368         * gst/gstutils.c: (gst_buffer_stamp):
369         * libs/gst/base/gstbasetransform.c:
370         (gst_base_transform_prepare_output_buffer):
371         Use new metadata copy functions.
372
373 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
374
375         * plugins/elements/gstidentity.c: (gst_identity_class_init),
376         (gst_identity_init), (gst_identity_check_perfect),
377         (gst_identity_check_imperfect_timestamp),
378         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
379         (gst_identity_set_property), (gst_identity_get_property):
380         * plugins/elements/gstidentity.h:
381         Separate out check-imperfect-timestamp and check-imperfect-offset.
382         Put back check-perfect as it was to keep compatibility.
383
384 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
385
386         * gst/gstelement.c: (gst_element_dispose):
387         There's no need to warn if VOID_PENDING is not NONE here, as
388         long as the state is NULL it's ok, and that's checked immediately
389         above.
390
391 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
392
393         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
394         Fix check for perfect stream to ignore buffers with -1 
395         offsets/offset ends when checking data contiguity.
396
397 2007-03-08  Wim Taymans  <wim@fluendo.com>
398
399         * tools/gst-launch.c: (event_loop):
400         Print INFO messages.
401
402 2007-03-08  Wim Taymans  <wim@fluendo.com>
403
404         * libs/gst/base/gstbasetransform.c:
405         (gst_base_transform_sink_eventfunc),
406         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
407         (gst_base_transform_activate):
408         * libs/gst/base/gstbasetransform.h:
409         Add support for dropping buffers with custom GstFlowReturn.
410         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
411         buffers or dropped buffers.
412
413         * docs/libs/gstreamer-libs-sections.txt:
414         docs for new custom return code.
415
416         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
417         Use drop support in base class to implement drop-probability.
418
419 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
420
421         * gst/gst.c: (load_plugin_func):
422         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
423         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
424         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
425           Remove newlines at end of debug log strings.
426
427 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
428
429         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
430         Only post bus message at max, once per buffer received.
431
432 2007-03-07  Wim Taymans  <wim@fluendo.com>
433
434         * docs/design/Makefile.am:
435         * docs/design/part-synchronisation.txt:
436         Add doc about synchronisation
437
438         * docs/design/draft-latency.txt:
439         * docs/design/part-TODO.txt:
440         * docs/design/part-clocks.txt:
441         * docs/design/part-events.txt:
442         * docs/design/part-gstbus.txt:
443         * docs/design/part-gstpipeline.txt:
444         * docs/design/part-live-source.txt:
445         * docs/design/part-messages.txt:
446         * docs/design/part-overview.txt:
447         * docs/design/part-streams.txt:
448         * docs/design/part-trickmodes.txt:
449         Documentation updates.
450
451 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
452
453         * gstreamer.doap:
454         Update the doap file.
455
456 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
457
458         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
459         Rename non-perfect to imperfect for Mike and for the sanctity of the
460         language.
461         Also make sure bus message gets emitted for data-incontiguities.
462
463 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
464
465         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
466         (gst_identity_start):
467         * plugins/elements/gstidentity.h:
468         Emit bus message if check-perfect is true and we encounter a
469         non-perfect stream between 2 consecutive buffers.
470         Fixes #415394.
471
472 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
473
474         * configure.ac:
475         Back to CVS
476
477 === release 0.10.12 ===
478
479 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
480
481         * configure.ac:
482           releasing 0.10.12, "Inevitable Demise"
483
484 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
485
486         * configure.ac:
487          Version 0.10.11.2 (0.10.12 pre-release)
488          Bump libtool versioning.
489
490 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
491
492         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
493           Log flow-names and not numbers.
494
495 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
496
497         * configure.ac:
498           Convert to new AG_GST style.
499
500 2007-02-28  Wim Taymans  <wim@fluendo.com>
501
502         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
503         Don't unref query twice.
504
505 2007-02-28  Wim Taymans  <wim@fluendo.com>
506
507         * gst/gstvalue.c: (gst_value_transform_object_string),
508         (_gst_value_initialize):
509         Implement GstObject -> string transform so we print object names
510         when serializing GValues containing GstObjects.
511
512 2007-02-28  Wim Taymans  <wim@fluendo.com>
513
514         * docs/gst/gstreamer-sections.txt:
515         Add new stuff to docs.
516
517 2007-02-28  Wim Taymans  <wim@fluendo.com>
518
519         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
520         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
521         (gst_base_sink_change_state):
522         Improve latency query code.
523         Don't leak latency events.
524
525         * tests/check/gst/gstbin.c: (GST_START_TEST):
526         Improve debugging.
527
528 2007-02-28  Wim Taymans  <wim@fluendo.com>
529
530         * gst/gstelement.c: (gst_element_message_full),
531         (gst_element_get_state_func):
532         * gst/gstelement.h:
533         Improve docs a little. Added Since: for new macro.
534
535         * gst/gstobject.c: (gst_object_sink):
536         * gst/gstpipeline.c: (gst_pipeline_change_state),
537         (gst_pipeline_set_new_stream_time):
538         * gst/gstpipeline.h:
539         Improve debugging and docs.
540
541         * gst/gstutils.c: (gst_element_state_change_return_get_name):
542         Improve debugging.
543
544 2007-02-28  Wim Taymans  <wim@fluendo.com>
545
546         * gst/gstelement.c: (gst_element_message_full),
547         (gst_element_set_locked_state), (gst_element_get_state_func),
548         (gst_element_change_state):
549         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
550         Documentation updates.
551         Small code cleanups.
552
553         * gst/gstmessage.c: (gst_message_new_info),
554         (gst_message_parse_info):
555         * gst/gstmessage.h:
556         API: gst_message_new_info()
557         API: gst_message_parse_info()
558         Add INFO message create and parse code.
559
560 2007-02-28  Wim Taymans  <wim@fluendo.com>
561
562         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
563         (bin_query_latency_done):
564         Also report the live parameter of a latency query.
565
566 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
567
568         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
569           Copy the current generic/states example from -base and adapt so
570           we can use the exact same code everywhere.
571           Check a STATES_IGNORE_ELEMENTS env var which can be used
572           to ignore certain element factories for this test, which is
573           what is being done in -base
574         * tests/check/Makefile.am:
575           Mention this environment variable.
576
577 2007-02-27  Wim Taymans  <wim@fluendo.com>
578
579         * docs/gst/gstreamer-sections.txt:
580         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
581         (gst_bus_timed_pop), (gst_bus_pop):
582         * gst/gstbus.h:
583         API: gst_bus_timed_pop()
584         Implement gst_bus_timed_pop() to do a blocking timed wait for a
585         message to arrive on the bus.
586
587         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
588         (gst_bus_suite):
589         Two unit tests for new _timed_pop() function.
590
591 2007-02-23  Wim Taymans  <wim@fluendo.com>
592
593         * gst/gstpipeline.c: (gst_pipeline_change_state),
594         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
595         Don't ref a NULL clock in _provide_clock_func().
596         Don't allow an INVALID delay.
597         Don't try to calculate base_time with an invalid start_time.
598         Also distribute and notify a NULL clock when it was selected.
599
600         * tools/gst-launch.c: (event_loop):
601         Don't crash when a NULL clock was selected in the pipeline.
602
603 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
604
605         * docs/design/Makefile.am:
606         * docs/design/draft-missing-plugins.txt:
607         * docs/random/draft-missing-plugins.txt:
608           Some small updates: update plugin system identifier prefix
609           ('gstreamer.net' to 'gstreamer'), mention our new install
610           API in libgstbaseutils rather than libgimme-codec, add
611           reference to the online docs.
612
613 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
614
615         * win32/common/config.h:
616           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
617           use moap cl ci to only check in what is mentioned in the ChangeLog.
618
619 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
620
621         * docs/gst/gstreamer-sections.txt:
622         * gst/gstelement.h:
623           Fix up documentation to link to the correct GstGError section.
624           Add GST_ELEMENT_INFO macro since someone else added a Info message.
625
626 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
627
628         * tools/gst-launch.c: (event_loop):
629           Make sure that we actually show the important message part of a
630           warning message.
631           No need to check if the gerror is not NULL to free; first of all
632           g_free accepts NULL; and second the default error handler would
633           segfault if gerror was NULL.
634
635 2007-02-21  Wim Taymans  <wim@fluendo.com>
636
637         * docs/gst/gstreamer-sections.txt:
638         Removed docs as well.
639
640 2007-02-21  Wim Taymans  <wim@fluendo.com>
641
642         * gst/gstmessage.c: (gst_message_parse_duration):
643         * gst/gstmessage.h:
644         Remove new messages for release.
645
646 2007-02-20  Wim Taymans  <wim@fluendo.com>
647
648         * docs/design/part-gstghostpad.txt:
649         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
650         (gst_ghost_pad_new_full):
651         Make the ghostpad a parent of the internal pad again for better backward
652         compatibility. Don't write code that relies on this however.
653
654         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
655         (gst_pad_link_check_hierarchy):
656         Require that parents should be GstElements in the hierarchy check.
657
658 2007-02-20  Wim Taymans  <wim@fluendo.com>
659
660         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
661         (gst_bin_change_state_func), (bin_query_min_max_init),
662         (bin_query_latency_fold), (bin_query_latency_done),
663         (gst_bin_query):
664         Improve debug info.
665         Implement latency query.
666
667 2007-02-20  Wim Taymans  <wim@fluendo.com>
668
669         * docs/design/part-gstghostpad.txt:
670         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
671         (gst_ghost_pad_internal_do_activate_push),
672         (gst_ghost_pad_internal_do_activate_pull),
673         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
674         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
675         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
676         Do not set the internal pad as a parent anymore so we can avoid
677         hierarchy linking errors when the ghostpad has no parent yet. This also
678         fixes failed activation because of unlinked internal pads, which in
679         turn fixes the impossible case where you have to activate a pad before
680         you can add it to a running element.
681         Also fix the docs.
682
683         * gst/gstpad.c: (pre_activate), (post_activate),
684         (gst_pad_set_active), (gst_pad_activate_pull),
685         (gst_pad_activate_push), (gst_pad_check_pull_range):
686         Add some more debug info.
687         Mark activation mode in pre_activate so that we don't try to activate in
688         endless loops. Fixes #385084.
689
690 2007-02-19  Wim Taymans  <wim@fluendo.com>
691
692         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
693         (gst_base_transform_check_get_range):
694         Implement a checkgetrange function instead of relying on the default
695         core behaviour that assumes we can operate in pull mode if we have a
696         getrange function. First step at fixing #385084.
697
698 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
699
700         * gst/gstchildproxy.h:
701         * libs/gst/base/gstbasesink.h:
702         * libs/gst/base/gstbasesrc.h:
703         * libs/gst/base/gstbasetransform.h:
704         More docs coverage and some ChangeLog surgery (add missing names)
705
706 2007-02-15  Wim Taymans  <wim@fluendo.com>
707
708         * docs/design/part-TODO.txt:
709         * docs/design/part-activation.txt:
710         * docs/design/part-block.txt:
711         * docs/design/part-buffering.txt:
712         * docs/design/part-clocks.txt:
713         * docs/design/part-element-source.txt:
714         * docs/design/part-events.txt:
715         * docs/design/part-gstbin.txt:
716         * docs/design/part-gstbus.txt:
717         * docs/design/part-gstpipeline.txt:
718         * docs/design/part-live-source.txt:
719         * docs/design/part-messages.txt:
720         * docs/design/part-overview.txt:
721         * docs/design/part-qos.txt:
722         * docs/design/part-query.txt:
723         * docs/design/part-states.txt:
724         * docs/design/part-trickmodes.txt:
725         Some doc updates. Start renaming from stream_time to running_time where
726         it was used wrongly.
727
728 2007-02-15  Wim Taymans  <wim@fluendo.com>
729
730         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
731         Answer LATENCY query.
732
733 2007-02-15  Wim Taymans  <wim@fluendo.com>
734
735         * tests/check/gst/gstevent.c: (event_probe), (test_event),
736         (GST_START_TEST):
737         Improve debugging.
738
739 2007-02-15  Wim Taymans  <wim@fluendo.com>
740
741         * gst/gstpad.c: (gst_pad_get_internal_links_default),
742         (gst_pad_dispatcher):
743         Improve debugging of default pad dispatcher and query functions.
744
745 2007-02-15  Wim Taymans  <wim@fluendo.com>
746
747         * docs/gst/gstreamer-sections.txt:
748         Remove old unused method.
749
750 2007-02-13  Wim Taymans  <wim@fluendo.com>
751
752         * tests/check/gst/gstsegment.c: (GST_START_TEST):
753         Fix check
754
755 2007-02-13  Wim Taymans  <wim@fluendo.com>
756
757         * docs/design/part-seeking.txt:
758         Some small update.
759
760         * gst/gstsegment.c: (gst_segment_set_seek):
761         Revert old bogus change that should make seeking work again.
762
763 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
764
765         * docs/random/ensonic/dynlink.txt:
766         * docs/random/ensonic/interfaces.txt:
767         * docs/random/ensonic/receipies.txt:
768           Possible dynamic reconnection api, plus some type fixes the other two
769           docs.
770
771 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
772
773         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
774         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
775         Also check for an absolute path following file:// in the filesrc
776         element. Remove redundant check and call g_path_is_absolute() on the
777         unescaped location.
778
779 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
780
781         * docs/design/draft-klass.txt:
782           Add existing category analysis.
783           
784         * gst/gstcaps.c:
785           Fix doc example, framerate is a fraction.
786
787 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
788
789         * configure.ac:
790         * docs/gst/Makefile.am:
791         * docs/libs/Makefile.am:
792         * docs/plugins/Makefile.am:
793           Add crossreferences to glib/gobject docs.
794
795 2007-02-12  Wim Taymans  <wim@fluendo.com>
796
797         * docs/design/draft-latency.txt:
798         Small update.
799
800         * docs/libs/gstreamer-libs-sections.txt:
801         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
802         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
803         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
804         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
805         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
806         (gst_base_sink_get_position), (gst_base_sink_query),
807         (gst_base_sink_change_state):
808         * libs/gst/base/gstbasesink.h:
809         API: gst_base_sink_query_latency() to let subclasses query the upstream
810         latency.
811         API: gst_base_sink_get_latency() to let subclasses query the configured
812         latency in the sink.
813         Implement query and set latency.
814         Update some docs.
815         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
816         don't continue preroll when we are flushing. Fixes #405284.
817
818         * tests/check/pipelines/stress.c: (change_state_timeout),
819         (quit_timeout), (GST_START_TEST), (stress_suite):
820         Test for #405284.
821
822 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
823
824         Patch by: René Stadler <mail at renestadler de>
825
826         * docs/gst/gstreamer-sections.txt:
827         * gst/gsttaglist.c: (_gst_tag_initialize):
828         * gst/gsttaglist.h:
829           API: add GST_TAG_REFERENCE_LEVEL (#403597).
830
831 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
832
833         * docs/libs/Makefile.am:
834           Fix path to core docs.
835
836         * gst/gstbin.c: (gst_bin_get_by_interface),
837         (gst_bin_iterate_all_by_interface):
838           Refix docs by also renaming 'interface' to 'iface' in implementation.
839
840         * docs/gst/gstreamer-sections.txt:
841         * gst/gstcaps.c:
842         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
843         * gst/gstchildproxy.h:
844         * gst/gstelementfactory.c:
845         * gst/gstpadtemplate.h:
846         * libs/gst/controller/gstcontroller.c:
847         (gst_controlled_property_new):
848           Document more.
849
850 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
851
852         * gst/gstbin.h:(gst_bin_get_by_interface),
853         (gst_bin_iterate_all_by_interface):
854         Replace interface parameter name by iface as interface is 
855         a reserved keyword in Visual Studio for C++ projects so it removes
856         a build error for application developpers using VS.
857         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
858         Fix a bug on Windows in uri format check. Now the prefix checked
859         is file:// and next we check if the path after file:// is absolute.
860         * win32/common/libgstbase.def:
861         * win32/common/libgstdataprotocol.def:
862         * win32/common/libgstgstreamer.def:
863         Add new exported functions.
864
865 2007-02-09  Andy Wingo  <wingo@pobox.com>
866
867         * tests/check/pipelines/simple-launch-lines.c
868         (simple_launch_lines_suite, test_tee): Disable tee test until I
869         have time to fix it :-(
870
871         * tests/check/Makefile.am (noinst_HEADERS): 
872         * tests/check/libs/libsabi.c: 
873         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
874         * tests/check/gst/gstabi.c: 
875         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
876
877         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
878         tests for push and pull tee behavior.
879
880         * plugins/elements/gsttee.h: 
881         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
882         mark as deprecated as well as unimplemented. It was a crack idea.
883         Add support for tee operating in pull mode, off by default.
884
885         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
886         normal-case logs down to LOG, raise errors to WARNING.
887         (gst_registry_xml_read_cache): Don't log before calling a function
888         that logs.
889
890         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
891         exit (registry finalize).
892         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
893         DEBUG log when we emit signals that people don't even have the
894         chance to connect to.
895         (gst_registry_scan_path_level): Less logging in the normal case.
896
897 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
898
899         Patch by: Michal Benes <michal dot benes at itonis dot tv>
900
901         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
902         Correctly generate EOS for non-seekable files. We don't have a total
903         length for them and would get an unexpected end of file if we only
904         special-cased for regular files. (Fixes: #404569)
905
906 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
907
908         * tests/check/elements/filesrc.c: (GST_START_TEST),
909         (filesrc_suite):
910         Add unit test for the GstURIHandler interface in filesrc. This also
911         tests the newly added file://localhost/foo/bar support.
912
913 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
914
915         * gst/gstelementfactory.h:
916           The klass string is not a hierarchy. Add reference to the design doc
917           for more information and common types.
918
919 2007-02-02  Wim Taymans  <wim@fluendo.com>
920
921         * gst/gstquery.c: (gst_query_new_latency):
922         Remove old structure field.
923
924 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
925
926         * tools/gst-launch.1.in:
927           Give example for network streaming (#351998)
928
929 2007-02-02  Wim Taymans  <wim@fluendo.com>
930
931         * docs/gst/gstreamer-sections.txt:
932         Add docs for new methods.
933
934         * gst/gstevent.c: (gst_event_new_latency),
935         (gst_event_parse_latency):
936         * gst/gstevent.h:
937         Add new LATENCY event to configure latency in a pipeline.
938         API: gst_event_new_latency
939         API: gst_event_parse_latency
940
941         * gst/gstmessage.c: (gst_message_new_buffering),
942         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
943         (gst_message_new_latency), (gst_message_parse_buffering),
944         (gst_message_parse_lost_preroll):
945         * gst/gstmessage.h:
946         Added messages used in draft-latency.
947         API: gst_message_new_lost_preroll
948         API: gst_message_parse_lost_preroll
949         API: gst_message_new_prerolled
950         API: gst_message_new_latency
951
952         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
953         (gst_query_parse_latency):
954         * gst/gstquery.h:
955         Implemented new latency query as in design doc.
956         API: gst_query_new_latency
957         API: gst_query_set_latency
958         API: gst_query_parse_latency
959
960 2007-02-02  Wim Taymans  <wim@fluendo.com>
961
962         * docs/design/draft-latency.txt:
963         Slight redesign to allow for dynamic latency adjustments.
964
965         * docs/design/part-negotiation.txt:
966         Fix some typos.
967
968 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
969
970         reviewed by: Wim Taymans <wim@fluendo.com>
971
972         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
973         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
974         Allow file://localhost/foo/bar URLs and correctly fail for every other
975         hostname that one sets. This was gnomevfssrc is linked for those if
976         installed as it can handle it (#403172)
977
978 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
979
980         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
981
982         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
983         (unref_data), (gst_collect_pads_add_pad_full):
984         * libs/gst/base/gstcollectpads.h:
985         Don't put the previously added destroy notify in the GstCollectData
986         struct as all it's padding is already used and we don't want to break
987         ABI. Instead put in the pad's GObject data for now. This should be
988         cleaned up for 0.11 (#402393).
989
990 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
991
992         reviewed by: Wim Taymans <wim@fluendo.com>
993
994         * docs/libs/gstreamer-libs-sections.txt:
995         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
996         (unref_data), (gst_collect_pads_add_pad),
997         (gst_collect_pads_add_pad_full):
998         * libs/gst/base/gstcollectpads.h:
999         API: Add function to specify a destroy notification for custom
1000         GstCollectData when adding new pads in GstCollectPads (#402393).
1001
1002 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
1003
1004         * po/sv.po:
1005           Update Swedish translation (#378255).
1006
1007 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
1008
1009         * docs/design/draft-klass.txt:
1010           Fix the previous change, this is a list of categories and not a hierarchy.
1011
1012 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
1013
1014         * docs/design/draft-klass.txt:
1015           Add info about how to get a list of used classes.
1016
1017 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
1018
1019         * plugins/elements/gsttypefindelement.c:
1020         (gst_type_find_element_chain_do_typefinding),
1021         (gst_type_find_element_change_state):
1022           Don't leak found caps in chain function (no idea why that never
1023           showed up as a leak anywhere).
1024
1025 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
1026
1027         * gst/gstplugin.h:
1028           Fix and expand GstPluginDesc API docs.
1029
1030 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
1031
1032         * gst/gstcaps.c:
1033         * gst/gstelementfactory.c:
1034         * gst/gstpadtemplate.h:
1035           api doc fixes
1036
1037         * libs/gst/controller/gstcontroller.c:
1038         (gst_controlled_property_new):
1039         * tests/examples/controller/audio-example.c:
1040           comment fixes
1041
1042 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
1043
1044         * configure.ac:
1045           comment about refining the xml deps
1046
1047         * docs/manuals.mak:
1048           comments about moving away from jade for docs
1049         
1050         * gst/gst.c:
1051           recommit the ifdefs to use the binary registry
1052         
1053         * gst/gstbin.c: (gst_bin_change_state_func):
1054           this break is obsolete
1055
1056         * gst/gstelementfactory.h:
1057           better GST_ELEMENT_DETAILS docs, add comment about translation
1058
1059         * gst/gstinfo.h:
1060           remove eol slash
1061
1062         * gst/gstobject.c: (gst_signal_object_get_type):
1063           add G_UNLIKELY as usual
1064
1065         * gst/gstpad.c: (gst_pad_event_default):
1066           add fall trhu comment
1067
1068         * gst/gstregistrybinary.c: (gst_registry_binary_write),
1069         (gst_registry_binary_initialize_magic),
1070         (gst_registry_binary_save_string),
1071         (gst_registry_binary_save_pad_template),
1072         (gst_registry_binary_save_feature),
1073         (gst_registry_binary_save_plugin),
1074         (gst_registry_binary_write_cache),
1075         (gst_registry_binary_check_magic),
1076         (gst_registry_binary_load_pad_template),
1077         (gst_registry_binary_load_feature),
1078         (gst_registry_binary_load_plugin),
1079         (gst_registry_binary_read_cache):
1080           comment typo and formatting
1081
1082         * gst/gstutils.c: (gst_element_state_get_name),
1083         (gst_element_state_change_return_get_name):
1084           remove obsolete breaks
1085
1086         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
1087           add FIXME 0.11 and remove cpp comment
1088
1089 2007-01-29  Edward Hervey  <edward@fluendo.com>
1090
1091         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
1092         Fix print statement in an even more portable way.
1093
1094 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
1095
1096         * docs/gst/gstreamer-sections.txt:
1097         * gst/gstutils.h:
1098           API: add GST_ROUND_DOWN_* macros (#401781).
1099
1100 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
1101
1102         * docs/gst/gstreamer.types.in:
1103         * gst/gstregistry.c: (gst_registry_class_init):
1104           Document registry signals and make gtk-doc pick them up (#401381).
1105
1106 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
1107
1108         * docs/pwg/building-testapp.xml:
1109           Add some audioconverts and audioresample to the pipeline, and some
1110           more comments and error handling.
1111
1112 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
1113
1114         * docs/manual/manual.xml:
1115         * docs/pwg/pwg.xml:
1116           Fix typo (#400987).
1117
1118 2007-01-26  Wim Taymans  <wim@fluendo.com>
1119
1120         * gst/gstcaps.c: (gst_static_caps_get):
1121         Init caps flags too.
1122
1123 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
1124
1125         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
1126
1127         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
1128         If not using mmap'ed files try to seek to the end instead of the
1129         start to determine whether we can seek at all. This fixes the case
1130         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
1131         seeks for everything afterwards fail. Fixes #400656
1132
1133 2007-01-25  Wim Taymans  <wim@fluendo.com>
1134
1135         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
1136         Add some refcount debugging.
1137         Make gst_static_caps_get threadsafe, which is needed when autoplugging
1138         in multiple streaming threads.
1139
1140 2007-01-25  Wim Taymans  <wim@fluendo.com>
1141
1142         Patch by: David Schleef <ds at schleef dot org>
1143
1144         * docs/libs/gstreamer-libs-sections.txt:
1145         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
1146         * libs/gst/base/gstadapter.h:
1147         API: gst_adapter_copy() that can reduce the amount of memcpy when
1148         getting data from the adapter. Fixes #388201.
1149
1150 2007-01-25  Edward Hervey  <edward@fluendo.com>
1151
1152         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
1153         In print statements, "%x" is for guint. Fixes build on macosx.
1154
1155 2007-01-24  Edward Hervey  <edward@fluendo.com>
1156
1157         * plugins/elements/gstmultiqueue.c:
1158         (gst_multi_queue_loop):
1159         Small fix.
1160         (single_queue_overrun_cb), (single_queue_underrun_cb),
1161         (single_queue_check_full), (gst_single_queue_new):
1162         Implement single queue growth system.
1163         This uses the extra-size properties, and will grow single queues by
1164         that much if one goes full whereas there are others empty. This is
1165         called extra-mode in the code.
1166         When a single queue's levels go back below the initial max-size
1167         limits, it is no longer in extra-mode. This is to ensure we don't
1168         consume too much memory.
1169         Fixes #399875
1170
1171 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
1172
1173         * gst/gst.c: (gst_init_get_option_group):
1174           Make warning about late g_thread_init() calls a bit more explicit,
1175           so that it's more obvious to application developers what they need
1176           to do if a user files a bug against their application.
1177
1178 2007-01-22  Edward Hervey  <edward@fluendo.com>
1179
1180         * plugins/elements/gstmultiqueue.c:
1181         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
1182         Remove previous hack of unsetting the flushing flag for the source pad
1183         instead of activating it. Instead, fix the source pad activate function
1184         so that it no longer depends on having a parent set or not.
1185
1186 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
1187
1188         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
1189
1190         * docs/manual/basics-bus.xml:
1191           Fix example code, gst_element_unref() doesn't exist any longer.
1192
1193 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
1194
1195         Patch by: Mark Nauwelaerts <manauw at skynet be>
1196
1197         * gst/gstpad.c:
1198           Fix two docs typoes (#399094).
1199
1200 2007-01-19  Edward Hervey  <edward@fluendo.com>
1201
1202         * docs/faq/gst-uninstalled:
1203         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
1204         depending on libgstbaseutils can work in uninstalled environment.
1205
1206 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
1207
1208         * gst/gsttaglist.h:
1209         * gst/gsttagsetter.c:
1210         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
1211         statement for new tag.
1212
1213 2007-01-17  Edward Hervey  <edward@fluendo.com>
1214
1215         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
1216         When dynamically creating single queues, activate sinkpad before adding
1217         it.
1218         We should be doing the same thing for the source pad, but we can't
1219         since it would call a method which needs the parent to be set in order
1220         to work propertly. Instead of activating the source pad, we just unset
1221         the flushing flag, which is the minimal requirement for adding a pad
1222         to an element in a state greater than READY.
1223
1224 2007-01-17  Edward Hervey  <edward@fluendo.com>
1225
1226         * docs/faq/gst-uninstalled:
1227         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
1228         Mac OS X.
1229
1230 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
1231
1232         * tests/check/gst/gstabi.c:
1233         * tests/check/gst/struct_hppa.h:
1234         * tests/check/libs/libsabi.c:
1235         * tests/check/libs/struct_hppa.h:
1236           Add ABI structs for HPPA (see #393796).
1237
1238 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
1239
1240         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
1241           Actually write ABI structs to the file specified in the GST_ABI
1242           environment variable, as the message we print claims we would.
1243
1244 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
1245
1246         * tests/check/gst/gsttask.c:
1247           Fix header comment.
1248
1249 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
1250
1251         * gst/gsttaglist.c: (_gst_tag_initialize):
1252           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
1253           previous two entries.
1254
1255 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
1256
1257         * docs/gst/gstreamer-sections.txt:
1258         * gst/gsttaglist.c: (_gst_tag_initialize):
1259         * gst/gsttaglist.h:
1260           Add tag support for beat-per-minute.
1261
1262 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
1263
1264         * gst/gstregistrybinary.c: (gst_registry_binary_write),
1265         (gst_registry_binary_initialize_magic),
1266         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
1267         (gst_registry_binary_save_pad_template),
1268         (gst_registry_binary_save_feature),
1269         (gst_registry_binary_save_plugin),
1270         (gst_registry_binary_write_cache),
1271         (gst_registry_binary_check_magic),
1272         (gst_registry_binary_load_pad_template),
1273         (gst_registry_binary_load_feature),
1274         (gst_registry_binary_load_plugin),
1275         (gst_registry_binary_read_cache):
1276         * gst/gstregistrybinary.h:
1277           Use glib types, cleanup comments, impement interfaces and uri-types.
1278
1279 2007-01-13  Andy Wingo  <wingo@pobox.com>
1280
1281         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
1282         getrange() to return buffers with other caps, while we fix
1283         demuxers and typefind, or otherwise change part-negotiation.txt.
1284
1285 2007-01-12  Andy Wingo  <wingo@pobox.com>
1286
1287         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
1288         Factor start/stop into this private function instead of partially
1289         in activate functions and partially in the change_state function.
1290         Fixes setup before the element has changed from READY->PAUSED, as
1291         is the case in pull-mode pipelines.
1292         (gst_base_transform_sink_activate_push)
1293         (gst_base_transform_src_activate_pull): Refactor to use
1294         gst_base_transform_activate().
1295         (gst_base_transform_change_state): Removed, not needed any more.
1296
1297         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
1298         Truncate before fixating.
1299         
1300         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
1301         Don't set_caps() if the result of fixating is ANY, as it's not
1302         supported, and not necessary in the case of a link with no
1303         template caps on either side. Fixes tests/check/libs/basesrc in
1304         some pull-mode tests.
1305
1306         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
1307         (gst_base_transform_init, gst_base_transform_sink_activate_push)
1308         (gst_base_transform_src_activate_pull): 
1309         Track the activation mode.
1310         (gst_base_transform_setcaps): In pull mode, when activating the
1311         src pad, after activating the sink pad, activate the sink pad's
1312         peer, as discussed in part-negotiation.txt.
1313
1314         * libs/gst/base/gstbasesrc.h: 
1315         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
1316         vmethod, as in basesink.
1317
1318         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
1319
1320         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
1321         mode, first proxy the setcaps to the peer pad.
1322         (gst_base_sink_pad_fixate): Add a fixate function that calls the
1323         new fixate vmethod.
1324         (gst_base_sink_default_activate_pull): Rename from
1325         gst_base_sink_activate_pull.
1326         (gst_base_sink_negotiate_pull): New function, performs negotiation
1327         in pull mode before calling ::activate_pull().
1328         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
1329         vmethod instead of the default implementation. I have no idea how
1330         this worked before. Negotiate before calling activate_pull.
1331
1332         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
1333         sink pads in pull mode. In addition to being correct, fixes
1334         filesrc ! decodebin ! identity ! fakesink.
1335         (gst_pad_get_range, gst_pad_pull_range): Don't call
1336         gst_pad_set_caps() if the caps changes; instead error out with
1337         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
1338
1339 2007-01-12  Andy Wingo  <wingo@pobox.com>
1340
1341         * docs/design/part-negotiation.txt: Update with more policy.
1342
1343 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
1344
1345         * libs/gst/check/gstbufferstraw.h:
1346         * libs/gst/check/gstcheck.h:
1347           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
1348           belongs.
1349
1350 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
1351
1352         * tests/check/Makefile.am:
1353         * tests/check/gst/.cvsignore:
1354         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
1355         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
1356         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
1357         (GST_START_TEST), (gst_tag_setter_suite):
1358           Add minimal unit test for beforementioned GstTagSetter bug.
1359
1360 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
1361
1362         Patch by: René Stadler <mail at renestadler dot de>
1363
1364         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
1365           gst_tag_list_merge() returns a new list, so it's not the best idea
1366           to ingore its return value. Effectively meant that tags could only
1367           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
1368           Also add function guard to require a non-NULL taglist as input (has
1369           always been so due to gst_tag_list_copy(), just making it explicit).
1370
1371 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
1372
1373         * docs/random/draft-missing-plugins.txt:
1374           Some additions: mention new API that is supposed to be used at the
1375           various stages; short blob about new gst-inspect introspection
1376           option; mention potential future problem with plugins that have
1377           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
1378
1379 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
1380
1381         * tools/gst-inspect.c:
1382         (print_plugin_automatic_install_info_codecs),
1383         (print_plugin_automatic_install_info_protocols),
1384         (print_plugin_automatic_install_info), (main):
1385         Add --print-plugin-auto-install-info option to gst-inspect, so we can
1386         introspect plugin files and get machine-parsable output that corresponds
1387         to the last bit of the missing-plugin installer string (small gotcha:
1388         doesn't take into account ranks).
1389
1390 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
1391
1392         * configure.ac:
1393         * docs/gst/gstreamer-sections.txt:
1394         * gst/Makefile.am:
1395         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
1396         (gst_registry_lookup_locked):
1397         * gst/gstregistry.h:
1398         * gst/gstregistrybinary.c: (gst_registry_binary_write),
1399         (gst_registry_binary_initialize_magic),
1400         (gst_registry_binary_save_string),
1401         (gst_registry_binary_save_pad_template),
1402         (gst_registry_binary_save_feature),
1403         (gst_registry_binary_save_plugin),
1404         (gst_registry_binary_write_cache),
1405         (gst_registry_binary_check_magic),
1406         (gst_registry_binary_load_pad_template),
1407         (gst_registry_binary_load_feature),
1408         (gst_registry_binary_load_plugin),
1409         (gst_registry_binary_read_cache):
1410         * gst/gstregistrybinary.h:
1411         * gst/gstregistryxml.c: (load_feature),
1412         (gst_registry_xml_read_cache):
1413           commit binary registry (disabled by default, see #359653)
1414
1415 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
1416
1417         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
1418           Fix 'make check' too.
1419
1420 2007-01-10  Andy Wingo  <wingo@pobox.com>
1421
1422         * docs/design/part-negotiation.txt: Fix a typo, add a couple
1423         notes.
1424         
1425         * docs/design/part-negotiation.txt: Update with, um, one way that
1426         pull-mode negotiation might work?
1427
1428         * gst/gstpad.h: 
1429         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
1430         that the pad must be a src pad; makes sense to call it the other
1431         way in pull mode, and the logic is symmetric anyway.
1432
1433 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
1434
1435         * plugins/elements/gstfilesink.c:
1436           Include <stdio.h> for fseeko().
1437
1438 2007-01-10  Wim Taymans  <wim@fluendo.com>
1439
1440         * gst/gstevent.c:
1441         * gst/gstevent.h:
1442         Reserve LATENCY event.
1443
1444 2007-01-09  Wim Taymans  <wim@fluendo.com>
1445
1446         * docs/design/draft-latency.txt:
1447         Updates.
1448
1449 2007-01-09  Wim Taymans  <wim@fluendo.com>
1450
1451         * docs/design/draft-latency.txt:
1452         Updates.
1453
1454         * gst/gstelement.h:
1455         * gst/gststructure.c:
1456         * gst/gsttrace.c:
1457         Small typo fixes.
1458
1459 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
1460
1461         * tests/check/.cvsignore:
1462           Ignore test-registry.xml as well.
1463
1464 2007-01-09  Wim Taymans  <wim@fluendo.com>
1465
1466         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
1467         unref data at the end when we are done with the pad.
1468
1469 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
1470
1471         * docs/gst/gstreamer-sections.txt:
1472         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
1473         (init_post), (gst_deinit), (gst_update_registry):
1474         * gst/gst.h:
1475           API: add gst_update_registry() (#391296).
1476
1477         * tests/check/Makefile.am:
1478         * tests/check/gst/gstregistry.c:
1479         * tests/check/gst/.cvsignore:
1480           Simple unit test for the above.
1481
1482 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
1483
1484         * gst/gstregistry.c: (gst_registry_scan_path_level):
1485           Plugin extension on HP-UX is .sl, add that to the list of approved
1486           plugin extensions (see #393796).
1487
1488         * tests/check/gst/gstpad.c: (GST_START_TEST):
1489           ulong => gulong. Fixes compilation with HP-UX compiler.
1490
1491         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
1492           Fix compilation if valgrind headers are not available.
1493
1494 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
1495
1496         * win32/common/libgstreamer.def: 
1497           Add new exported function.
1498         * win32/vs6/libgstbase.dsp: 
1499           Add gstdataqueue.c to the build.
1500         * win32/vs6/libgstcoreelements.dsp:
1501           Add gstmultiqueue.c to the build.
1502         
1503 2007-01-06  Andy Wingo  <wingo@pobox.com>
1504
1505         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
1506         activate_pull(), providing for a way to specialize the process of
1507         spawning a thread to pull on the sink pad. There is a default
1508         implementation.
1509
1510         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
1511         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
1512         (gst_base_sink_init): Renamed pad activation functions (inserting
1513         "_pad" in their names). Refactor to use the new activate_pull
1514         vmethod, as appropriate.
1515         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
1516         default activate_pull function to start a task pulling from the
1517         sink pad, as before.
1518
1519         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
1520         on the pads if necessary, as in push()/chain(). Update docs.
1521         Shouldn't affect existing pull() usage as it is currently only
1522         being used on buffers without caps.
1523
1524 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
1525
1526         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
1527         (init_pre):
1528           Call g_thread_init() first thing in gst_init() / gst_check_init().
1529           When initialisation is done via gst_init_get_option_group() and
1530           GOption parsing, issue a warning if the GLib thread system has not
1531           been initialised yet by the time gst_init_get_option_group() is
1532           called, as it's quite likely other GLib functions such as
1533           g_option_context_new() have been called already then, and
1534           g_thread_init() must be called before any other GLib function. The
1535           application in question must be fixed in that case, since memory
1536           corruption might happen otherwise.
1537           We issue the warning because even if the GLib folks decide to work
1538           around the problem on their end in future, this is still an issue
1539           with all GLib versions >= 2.10.0, so we should warn until we depend
1540           on a GLib version we know to be safe.
1541           Update documentation as well.
1542           Closes bug #391278.
1543
1544 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
1545
1546         * tools/gst-inspect.c: (main):
1547         * tools/gst-launch.c: (main):
1548         * tools/gst-typefind.c: (main):
1549         * tools/gst-xmlinspect.c: (main):
1550           Call g_thread_init() really really early, before any other GLib
1551           function (see #342564 and recent discussion on gtk-devel-list).
1552
1553 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
1554
1555         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
1556
1557         * gst/gst_private.h:
1558         * gst/gstconfig.h.in:
1559         * gst/gstinfo.h:
1560           On win32, all the __declspec stuff for symbol exporting is
1561           apparently only needed with MSVC, but doesn't work with MingW.
1562           Fixes compilation with MingW and #391909.
1563
1564 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
1565
1566         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
1567           Change some GST_ERROR_OBJECT that aren't really errors to
1568           GST_WARNING_OBJECT in order to reduce terminal spam.
1569
1570 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
1571
1572         * tests/check/Makefile.am:
1573           disable test again, as there seem to be still race problems
1574
1575 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
1576
1577         * tests/check/Makefile.am:
1578         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
1579         (GST_START_TEST), (queue_suite):
1580           enable queue test again, add tests for the leaky behaviour
1581
1582 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
1583
1584         * configure.ac:
1585         * tests/examples/Makefile.am:
1586           Compile adapter test/example only if the required headers are
1587           available (fixes #391915).
1588
1589 2007-01-01  David Schleef  <ds@schleef.org>
1590
1591         * gst/gstplugin.c:
1592           Restore the previous signal handler for SIGSEGV instead of
1593           setting to default, since we may have stolen it away from
1594           someone.  (i.e., Mono)
1595
1596 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
1597
1598         * docs/random/draft-missing-plugins.txt:
1599           Some small additions and clarifications.
1600
1601 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
1602
1603         * gst/gstregistryxml.c: (gst_registry_save_escaped):
1604           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
1605           since that can lead to random memory corruptions and crashes
1606           (may or may not be related to #383244, #386711, and #386711).
1607
1608 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
1609
1610         * tests/check/.cvsignore:
1611         * tests/check/Makefile.am:
1612           sync .cvsignome and CLEANFILES
1613
1614 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
1615
1616         * tests/check/Makefile.am:
1617           fix distcheck
1618
1619 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
1620
1621         * docs/design/part-states.txt:
1622           two tiny additional comments
1623         
1624         * gst/gststructure.c:
1625           doc fixing
1626
1627         * tests/check/Makefile.am:
1628         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
1629         (GST_START_TEST):
1630           disable test for now, unless it gets fixed
1631
1632 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
1633
1634         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
1635         (GST_START_TEST):
1636           fix race in underrun test
1637
1638 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
1639
1640         * tests/check/elements/.cvsignore:
1641           ignore more
1642
1643         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
1644         (GST_START_TEST):
1645           try to narrow test failure
1646
1647 2006-12-21  David Schleef  <ds@schleef.org>
1648
1649         * plugins/elements/gstfakesrc.c:
1650           Use g_random_int_range(), since it produces better random
1651           numbers in a range than almost-correct floating point code.
1652
1653 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
1654
1655         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
1656         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
1657         (gst_check_teardown_sink_pad):
1658           do not automatically (de)activate pads
1659
1660         * tests/check/Makefile.am:
1661         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
1662         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
1663           add new, yet simple tests for queue
1664
1665         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
1666         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
1667         * tests/check/elements/filesrc.c: (cleanup_filesrc),
1668         (GST_START_TEST):
1669         * tests/check/elements/identity.c: (cleanup_identity):
1670           consistent pad (de)activation
1671
1672 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
1673
1674         Patch by: Sebastian Dröge  <slomo ubuntu com>
1675
1676         * libs/gst/base/gstcollectpads.c:
1677           Fix two doc typos (#387866).
1678
1679 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
1680
1681         * docs/manual/advanced-dparams.xml:
1682           Fix typo (g_object_control_properties() doesn't exist).
1683
1684 2006-12-19  Edward Hervey  <edward@fluendo.com>
1685
1686         * gst/gstsegment.c: (gst_segment_set_seek):
1687         Fine tune the cases where the segment start/stop values are really
1688         updated.
1689         * tests/check/gst/gstsegment.c: (GST_START_TEST):
1690         Add tests for the return values of gst_segment_set_seek().
1691
1692 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
1693
1694         * gst/gst.c:
1695           Docs typo fix.
1696
1697         * plugins/elements/gstqueue.c: (gst_queue_class_init),
1698         (gst_queue_init):
1699           Fix incorrect documentation and flesh it out a bit more.
1700           Set default values for the max properties on the GParamSpec as well,
1701           so it shows up correctly in gst-inspect.
1702
1703 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
1704
1705         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
1706           Correct docs of queue, add more detail and crosslink it more.
1707
1708 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
1709
1710         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
1711           Print additional debug info when the stream isn't perfectly
1712           timestamped; don't try to use invalid durations.
1713
1714 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
1715
1716         * docs/design/Makefile.am:
1717           Dist new design docs.
1718
1719 2006-12-16  Wim Taymans  <wim@fluendo.com>
1720
1721         Patch by: Sjoerd Simons <sjoerd at luon dot net>
1722
1723         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
1724         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
1725         (gst_collect_pads_stop), (gst_collect_pads_event),
1726         (gst_collect_pads_chain):
1727         * libs/gst/base/gstcollectpads.h:
1728         Add refcounting to the collectpads data so we can track when it's safe
1729         to free the data. Fixes #383382.
1730
1731 2006-12-15  Wim Taymans  <wim@fluendo.com>
1732
1733         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
1734         (gst_collect_pads_remove_pad):
1735         Automatically activate/deactivate pads when they are added to a
1736         started/stoped collectpads.
1737
1738 2006-12-15  Wim Taymans  <wim@fluendo.com>
1739
1740         * gst/gstelement.c: (gst_element_add_pad):
1741         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
1742         * gst/gstpad.c: (gst_pad_init):
1743         Set pads to FLUSHING when they are created. Check, warn and fix when a
1744         demuxer adds an inactive pad to itself when running. Fixes #339326.
1745
1746 2006-12-15  Wim Taymans  <wim@fluendo.com>
1747
1748         * gst/gstelement.c: (gst_element_class_init),
1749         (gst_element_default_send_event), (gst_element_send_event),
1750         (gst_element_default_query), (gst_element_query):
1751         Expose default element send_event and query handling as vmethods that
1752         subclasses can chain up to.
1753
1754 2006-12-15  Wim Taymans  <wim@fluendo.com>
1755
1756         * gst/gstelement.c: (gst_element_set_state_func):
1757         Small documentation fixes.
1758
1759 2006-12-15  Wim Taymans  <wim@fluendo.com>
1760
1761         * docs/design/draft-latency.txt:
1762         Checked in draft for handling latency in pipelines.
1763
1764 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
1765
1766         * Makefile.am:
1767         * gstreamer.doap:
1768         * gstreamer.spec.in:
1769           adding .doap file
1770
1771 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
1772
1773         * gst/gst.c: (init_pre), (init_post):
1774           init_pre() and init_post() might be called via our GOptionGroup or
1775           from gst_init(), and we should skip both of them if we've already
1776           been initialised, otherwise we will init some things twice or add
1777           two default log functions.
1778
1779 2006-12-13  Edward Hervey  <edward@fluendo.com>
1780
1781         * docs/manual/basics-bus.xml:
1782         No, gst_main_loop does not exist. Its g_main_loop.
1783         Discovered by somebody who abused the copy-paste technique of coding :)
1784
1785 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
1786
1787         * gst/gstghostpad.c:
1788           Log ghostpad debug stuff to the GST_PADS category as well rather
1789           than just to the default category.
1790
1791 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
1792
1793         * configure.ac:
1794         * gst/gst.c: (init_pre):
1795           Add some basic system details such as OS and architecture
1796           to the debug output if possible, courtesy of uname().
1797
1798 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
1799
1800         * docs/gst/running.xml:
1801           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
1802           environment variables.
1803
1804 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
1805
1806         * tests/check/gst/gstbin.c: (GST_START_TEST):
1807         It is acceptable to have a refcount of 2 or 3 at this point in the
1808         test, because the pipeline might be just posting its state_change
1809         message. The next line then waits for that message to appear using
1810         bus_poll, so that should be fine too.
1811
1812 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
1813
1814         * gst/gst.c: (ensure_current_registry_forking):
1815         Ignore EINTR when reading from the child registry pipe.
1816         Explicitly ignore the return value from close, since it makes no
1817         difference.
1818
1819         * gst/gstminiobject.c: (gst_mini_object_ref),
1820         (gst_mini_object_unref):
1821         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
1822
1823         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
1824         When removing cached plugins, remove their features too, so they're
1825         not visible after they've disappeared.
1826
1827         * gst/gstutils.c: (prepare_link_maybe_ghosting):
1828         In the unlikely case that we are linking pads with no parents, don't
1829         crash trying to get the non-existent parent bin.
1830
1831         * gst/parse/grammar.y:
1832         Output debug in the PIPELINE category
1833
1834 2005-03-08  Wim Taymans  <wim@fluendo.com>
1835
1836         Patch by: René Stadler <mail at renestadler dot de>
1837
1838         * gst/gstclock.c: (gst_clock_new_periodic_id):
1839         Reject invalid clock times for interval of periodic ids.
1840         Fixes ##383506.
1841
1842 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
1843
1844         * gst/gstelementfactory.c: (gst_element_factory_create):
1845         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1846         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
1847         * tools/gst-inspect.c: (print_element_info):
1848         Fix refcounting of gst_plugin_feature_load to match the docs. 
1849         Fixes: #380129
1850
1851 2006-12-07  Wim Taymans  <wim@fluendo.com>
1852
1853         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
1854         (gst_base_sink_get_position):
1855         Improve debugging of events.
1856
1857 2006-12-07  Wim Taymans  <wim@fluendo.com>
1858
1859         Patch by: René Stadler <mail at renestadler dot de>
1860
1861         * gst/gstclock.c: (gst_clock_id_wait):
1862         Make period ids add the interval to the origial requested time instead
1863         of the possibly updated time which can be wrong when there are multiple
1864         waiters for the same id. Fixes #382592.
1865
1866         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
1867         (gst_system_clock_id_wait_jitter_unlocked),
1868         (gst_system_clock_id_wait_jitter):
1869         Fix restart in the async notify thread when an async entry is added to
1870         the front of the list. Fixes #381492. 
1871
1872         * tests/check/gst/gstsystemclock.c: (store_callback),
1873         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
1874         Added test for multiple async waits.
1875         Added test for async wait order.
1876
1877 2006-12-07  Wim Taymans  <wim@fluendo.com>
1878
1879         * gst/gstbin.c: (gst_bin_query):
1880         Add some more docs about the POSITION query.
1881
1882 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
1883
1884         * configure.ac:
1885         Bump version nano - back to CVS.
1886
1887 === release 0.10.11 ===
1888
1889 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
1890
1891         * configure.ac:
1892           releasing 0.10.11, "Love never runs on time"
1893
1894 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
1895
1896         * win32/common/libgstbase.def:
1897         * win32/common/libgstreamer.def:
1898         * win32/vs8/libgstbase.vcproj:
1899         * win32/vs8/libgstcoreelements.vcproj:
1900         * win32/vs8/libgstreamer.vcproj:
1901         Fix compilation on win32 under VS8
1902         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
1903         Partially fixes #381175
1904
1905 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
1906
1907         * gst/gstvalue.c: (gst_value_compare_fraction):
1908         If someone is foolish enough to compare 2 fractions with denominator =
1909         0, return UNORDERED rather than aborting.
1910
1911 2006-11-28  Edward Hervey  <edward@fluendo.com>
1912
1913         * libs/gst/base/Makefile.am:
1914         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
1915         (gst_data_queue_base_init), (gst_data_queue_class_init),
1916         (gst_data_queue_init), (gst_data_queue_new),
1917         (gst_data_queue_cleanup), (gst_data_queue_finalize),
1918         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
1919         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
1920         (gst_data_queue_is_empty), (gst_data_queue_is_full),
1921         (gst_data_queue_set_flushing), (gst_data_queue_push),
1922         (gst_data_queue_pop), (gst_data_queue_drop_head),
1923         (gst_data_queue_set_property), (gst_data_queue_get_property):
1924         * libs/gst/base/gstdataqueue.h:
1925         New GstDataQueue object for threadsafe queueing. Most useful for
1926         elements that need some queueing functionnality.
1927         * docs/libs/gstreamer-libs-docs.sgml:
1928         * docs/libs/gstreamer-libs-sections.txt:
1929         Insert documentation for GstDataQueue
1930         * plugins/elements/Makefile.am:
1931         * plugins/elements/gstelements.c:
1932         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
1933         (gst_multi_queue_class_init), (gst_multi_queue_init),
1934         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
1935         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
1936         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
1937         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
1938         (gst_multi_queue_loop), (gst_multi_queue_chain),
1939         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
1940         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
1941         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
1942         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
1943         (wake_up_next_non_linked), (compute_next_non_linked),
1944         (single_queue_overrun_cb), (single_queue_underrun_cb),
1945         (single_queue_check_full), (gst_single_queue_new):
1946         * plugins/elements/gstmultiqueue.h:
1947         New multiqueue element, using GstDataQueue. Used for queuing multiple
1948         streams.
1949         Closes #344639 and #347785
1950
1951 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
1952
1953         * docs/pwg/advanced-types.xml:
1954           add more missing type details
1955
1956         * tools/gst-run.c: (main):
1957           remove unused variable
1958
1959 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
1960
1961         * docs/libs/Makefile.am:
1962         * docs/libs/gstreamer-libs.types:
1963           add types of base classes to enable gobject specific stuff in the docs
1964
1965         * docs/random/ensonic/embedded.txt:
1966           more ideas about isolating platform specific things
1967
1968 2006-11-20  Wim Taymans  <wim@fluendo.com>
1969
1970         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
1971
1972         * libs/gst/check/gstcheck.h:
1973         Fix compilation and running against 0.9.4. Fixes #377332.
1974
1975 2006-11-20  Wim Taymans  <wim@fluendo.com>
1976
1977         * gst/gstsegment.c: (gst_segment_set_seek),
1978         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
1979         (gst_segment_to_running_time):
1980         Fix boundary checking in to_running_time() and to_stream_time().
1981         Fixes #377183.
1982
1983         * tests/check/gst/gstsegment.c: (GST_START_TEST):
1984         stream and running time can now be calculated for the complete
1985         clipped segment.
1986
1987 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
1988
1989         * gst/gstpad.c: (gst_pad_push_event):
1990           Can't access event structure after giving away ownership of
1991           the event.
1992
1993 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
1994
1995         * docs/random/ensonic/embedded.txt:
1996         * docs/random/ensonic/profiling.txt:
1997         * docs/random/ensonic/receipies.txt:
1998           more thinking
1999
2000 2006-11-13  Wim Taymans  <wim@fluendo.com>
2001
2002         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
2003
2004         * gst/gstpad.c:
2005         Fix documentation for gst_pad_dispatcher. Fixes #374475.
2006
2007 2006-11-13  Wim Taymans  <wim@fluendo.com>
2008
2009         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
2010
2011         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
2012         Store new length in segment duration so we don't keep on calling the
2013         potentially expensize get_size() call. Fixes #370865.
2014
2015 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
2016
2017         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
2018
2019         * win32/common/libgstreamer.def:
2020           Add two missing symbols (#366492).
2021
2022 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
2023
2024         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
2025         (gst_adapter_take_buffer):
2026         Fix format string to use all its arguments.
2027         Remove useless >= check on a guint
2028
2029 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
2030
2031         * tests/examples/adapter/.cvsignore:
2032         Ignore build file as commanded by the build-bot
2033
2034 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
2035
2036         * tests/examples/adapter/Makefile.am:
2037         * tests/examples/adapter/adapter_test.c: (run_test_take),
2038         (run_test_take_buffer), (run_tests), (main):
2039
2040         Add new files from the previous commit
2041
2042 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
2043
2044         * Makefile.am:
2045         * configure.ac:
2046         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
2047         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
2048         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
2049         * libs/gst/base/gstadapter.h:
2050         * tests/check/libs/adapter.c: (create_and_fill_adapter),
2051         (GST_START_TEST), (gst_adapter_suite):
2052         * tests/examples/Makefile.am:
2053         Do some optimisation work in GstAdapter to avoid copies in more cases.
2054         It could still do slightly better by merging buffers when
2055         gst_buffer_is_span_fast is true, but is already faster. 
2056
2057         Also, avoid traversing a single-linked list to append each incoming 
2058         buffer inside the adapter.
2059
2060         Add simple test app that times the adapter behaviour in different
2061         situations, and extend the unit test to check that bytes enter and
2062         exit the adapter in their original order.
2063
2064 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
2065
2066         * docs/random/draft-missing-plugins.txt:
2067           Update: use element message instead of adding a new message
2068           type to the core; don't provide GStreamer API to initiate the
2069           plugin download, just provide API to compose the strings needed
2070           and let an external libgimmestuff handle the rest.
2071
2072 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
2073
2074         * tools/gst-inspect.c: (print_element_properties_info):
2075         Print a string instead of 'unknown type' for GValueArray properties
2076
2077 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
2078
2079         * docs/random/draft-missing-plugins.txt:
2080         More small fixes.
2081
2082 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
2083
2084         * tests/examples/typefind/typefind.c: (type_found), (main):
2085           Make typefind element example work again (#371894); add a
2086           license header.
2087
2088 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
2089
2090         * docs/random/draft-missing-plugins.txt:
2091           Commit initial draft about how to deal with missing plugins,
2092           needs work (API too).
2093
2094 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
2095
2096         * docs/pwg/advanced-types.xml:
2097           documents the new caps elements (see #363118)
2098
2099 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
2100
2101         * gst/gstplugin.c: (gst_plugin_load_file):
2102         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
2103         (gst_file_src_map_region), (gst_file_src_start):
2104         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
2105         (gst_file_index_commit):
2106           Use g_strerror() instead of strerror() - we want UTF-8.
2107
2108 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
2109
2110         Patch by: Peter Kjellerstedt <pkj at axis com>
2111
2112         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
2113           Another printf fix (#371493).
2114
2115 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
2116
2117         * tests/check/gst/gsttag.c:
2118           relicence (okay with author=company)
2119
2120 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
2121
2122         * gst/gstpad.c: (gst_pad_event_default_dispatch),
2123         (gst_pad_push_event):
2124           Enhance debug and improve docs
2125         
2126         * gst/gsturi.c:
2127           Fix docs
2128
2129 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
2130
2131         * docs/random/ensonic/distributed.txt:
2132         * docs/random/ensonic/profiling.txt:
2133           more ideas
2134
2135 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
2136
2137         * docs/gst/gstreamer-sections.txt:
2138           add new API and fix the build
2139           
2140         * gst/gstbin.c: (gst_bin_recalc_state):
2141         * gst/gstelement.c: (gst_element_message_full),
2142         (gst_element_get_state_func), (gst_element_set_state_func):
2143           use new API and improve logging
2144         
2145         * gst/gstutils.c: (gst_element_state_change_return_get_name):
2146         * gst/gstutils.h:
2147           API: add function to get StateChangereturn names to improve logs 
2148
2149 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
2150
2151         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
2152           I'm considering shooting the next person to put strerror stuff
2153           in the translateable part of the message.
2154
2155 2006-11-03  Wim Taymans  <wim@fluendo.com>
2156
2157         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
2158         Get the type and printf conversion specifiers right.
2159
2160 2006-11-03  Wim Taymans  <wim@fluendo.com>
2161
2162         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
2163
2164         * gst/gstpad.c: (gst_pad_init), (pre_activate),
2165         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
2166         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
2167         Some small cleanups. Improve debugging.
2168         * gst/gstpad.h:
2169         Signal all waiting threads with a broadcast instead of just one.
2170         Fixes #369942.
2171
2172 2006-11-03  Wim Taymans  <wim@fluendo.com>
2173
2174         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
2175         (gst_fd_src_create):
2176         Add some debugging. 
2177         Only update fd when it's different from the old.
2178
2179 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2180
2181         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
2182           Printf fixes for PPC/OSX, take two (#369366).
2183
2184 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2185
2186         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
2187
2188         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
2189         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
2190         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
2191           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
2192           don't cast to long long for portability reasons, but use
2193           GLib's types instead.
2194
2195 2006-10-30  Michael Smith  <msmith@fluendo.com>
2196
2197         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
2198           Get the arguments to lseek() the right way around.
2199           Fixes 367677.
2200
2201 2006-10-30  Wim Taymans  <wim@fluendo.com>
2202
2203         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
2204
2205         * gst/gstinfo.h:
2206         _declspec should be __declspec (two underscores, not one). Fixes 366572.
2207
2208 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
2209
2210         Patch by: Kjartan Maraas  <kmaraas at gnome org>
2211
2212         * docs/design/part-MT-refcounting.txt:
2213         * docs/random/wtay/capsnego2-docs:
2214         * gst/gstclock.c:
2215         * gst/gstxml.c:
2216           Typo fixes (#366212).
2217
2218 2006-10-28  Wim Taymans  <wim@fluendo.com>
2219
2220         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
2221
2222         * gst/gst.c:
2223         * win32/common/libgstbase.def:
2224         * win32/common/libgstreamer.def:
2225         * win32/vs8/libgstbase.vcproj:
2226         * win32/vs8/libgstcontroller.vcproj:
2227         Add needed entries in .def files.
2228         Use HAVE_UNISTD_H.
2229         Rearrange def files in vs8 solutions. Fixes #366286.
2230
2231 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
2232
2233         * win32/common/gstconfig.h:
2234           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
2235           hand-made win32 gstconfig.h. Fixes #366321.
2236
2237 2006-10-27  Wim Taymans  <wim@fluendo.com>
2238
2239         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
2240         (gst_ghost_pad_new_full):
2241         Make acceptcaps return TRUE when we don't have a target, just like
2242         setcaps does.
2243
2244 2006-10-27  Wim Taymans  <wim@fluendo.com>
2245
2246         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
2247         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
2248
2249 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
2250
2251         * gst/gststructure.c: (gst_structure_id_set_value):
2252           If someone tries to set a non-UTF8 string field on a structure,
2253           don't just print a warning, but also ignore the request and do
2254           not change/add that field to the structure.
2255
2256         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
2257           Test for the above.
2258
2259 2006-10-25  David Schleef  <ds@schleef.org>
2260
2261         * gst/gstinfo.c:
2262           g_hash_table_insert() needs a cast to a non-const pointer duh.
2263
2264 2006-10-25  David Schleef  <ds@schleef.org>
2265
2266         * gst/gstinfo.c:
2267         * gst/gstinfo.h:
2268           Change name parameter of _gst_debug_register_funcptr to const
2269           to reflect the constness of its use in the function as well
2270           as to quiet a gcc warning.
2271
2272 2006-10-25  Edward Hervey  <edward@fluendo.com>
2273
2274         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
2275         Don't push the buffer if it's empty.
2276         Closes #363095
2277
2278 2006-10-24  Wim Taymans  <wim@fluendo.com>
2279
2280         * gst/gstevent.h:
2281         Add small comment.
2282
2283         * libs/gst/base/gstbasetransform.c:
2284         (gst_base_transform_sink_eventfunc):
2285         Debug segment values *after* updating them as this is more
2286         interesting.
2287
2288 2006-10-23  Wim Taymans  <wim@fluendo.com>
2289
2290         * docs/design/part-events.txt:
2291         Update some docs.
2292
2293         * docs/design/part-block.txt:
2294         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
2295         (gst_pad_push_event):
2296         Revert BLOCKING patch, it tries to be smart without really having a
2297         clear idea what or how. So, now we discard all FLUSHING events again on
2298         a blocking pad. Should fix gnonlin again.
2299
2300 2006-10-23  Wim Taymans  <wim@fluendo.com>
2301
2302         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
2303
2304         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
2305         (gst_base_src_start), (gst_base_src_activate_push):
2306         Make sure size is always initialized. Fixes #364388.
2307
2308 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
2309
2310         * docs/random/ensonic/distributed.txt:
2311           add some ideas about doing distributed processing
2312
2313         * docs/random/ensonic/profiling.txt:
2314           get_rusage look promising
2315
2316 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
2317
2318         * docs/manual/basics-helloworld.xml:
2319           Add a cast in example to fix compile warning
2320
2321 2006-10-18  Wim Taymans  <wim@fluendo.com>
2322
2323         * gst/gstsegment.c: (gst_segment_set_last_stop),
2324         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
2325         Relax arg checking again, -1 is allowed.
2326
2327 2006-10-18  Wim Taymans  <wim@fluendo.com>
2328
2329         * gst/gstsegment.c: (gst_segment_set_last_stop),
2330         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
2331         _set_last_stop() must be with a value != -1
2332         A _TYPE_SET to -1 means seek to 0.
2333         Calc last_stop correctly for negative rates.
2334         Make sure we work with positive durations when updating a segment.
2335
2336 2006-10-18  Wim Taymans  <wim@fluendo.com>
2337
2338         * docs/design/part-live-source.txt:
2339         * gst/gstclock.h:
2340         Small docs fixes.
2341
2342 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
2343
2344         * gst/gstbuffer.h:
2345           Add an explicit cast to GstBuffer** to keep old code that added an
2346           explicit cast to GstMiniObject** for gst_mini_object_replace()
2347           compiling without warning.
2348
2349 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
2350
2351         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
2352           check for validity of dates
2353
2354 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
2355
2356         * docs/gst/gstreamer-sections.txt:
2357           Forgot this one, makes gtk-doc shut up.
2358
2359 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
2360
2361         Patch by: Peter Kjellerstedt <pkj at axis com>
2362
2363         * gst/gstobject.h:
2364           Don't define xmlNodePtr to gpointer if the core was built with
2365           --disable-loadsave and --disable-registry, this will break
2366           applications that want to use libxml2 but are buildling against a
2367           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
2368           instead so we don't have to mess with the libxml2 namespace
2369           (#361675).
2370
2371 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
2372
2373         * gst/gstbuffer.h:
2374           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
2375           type-punned pointer warnings.
2376
2377 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
2378
2379         * gst/gstelement.h:
2380           Add casts to the correct return type to state <=> state transition
2381           macros.
2382
2383 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
2384
2385         * docs/design/part-live-source.txt:
2386           describe howto handle latency
2387         
2388         * docs/random/ensonic/profiling.txt:
2389           more ideas
2390
2391         * tools/gst-plot-timeline.py:
2392           fix log parsing for solaris, remove unused function
2393
2394 2006-10-16  Wim Taymans  <wim@fluendo.com>
2395
2396         * docs/design/part-trickmodes.txt:
2397         * gst/gstevent.c:
2398         Update some docs regarding reverse playback.
2399
2400 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
2401
2402         Patch by: Marcus Granado  <mrc dot gran at gmail com>
2403
2404         * win32/vs8/grammar.vcproj:
2405           Error out with a warning if glib-genmarshal.exe is not in path,
2406           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
2407
2408 2006-10-13  Wim Taymans  <wim@fluendo.com>
2409
2410         * gst/gstsegment.c: (gst_segment_set_seek):
2411         When seeking to stop -1, set last_stop (current position) to the
2412         duration of the segment.
2413
2414 2006-10-13  Wim Taymans  <wim@fluendo.com>
2415
2416         * gst/gstelement.h:
2417         Clarify _NO_PREROLL a bit more.
2418
2419         * gst/gstevent.c:
2420         Fix docs.
2421
2422         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
2423         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
2424         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
2425         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
2426         due to wrong locking order. Fixes #361769.
2427         Remove some redundant/misplaced checks in pad_block.
2428
2429         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
2430         For negative rates, count backwards from the duration.
2431
2432 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
2433
2434         * gst/gsterror.c: (_gst_library_errors_init):
2435           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
2436           up with something better).
2437
2438 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
2439
2440         * win32/vs6/libgstreamer.dsp:
2441         * win32/vs7/libgstreamer.vcproj:
2442         * win32/vs8/libgstreamer.vcproj:
2443           Don't reference glib-compat.c which is currently not used and not
2444           disted; add gstquark.c which was recently added. Fixes #361730.
2445
2446 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
2447
2448         * win32/common/libgstbase.def:
2449         * win32/common/libgstcontroller.def:
2450         * win32/common/libgstreamer.def:
2451           Add gst_caps_merge() and a bunch of other recently-added functions.
2452           Fixes #361732.
2453
2454 2006-10-11  Wim Taymans  <wim@fluendo.com>
2455
2456         * docs/plugins/gstreamer-plugins.args:
2457         * docs/plugins/inspect/plugin-coreelements.xml:
2458         * docs/plugins/inspect/plugin-coreindexers.xml:
2459         Update element args.
2460
2461         * gst/gstsystemclock.c:
2462         Small comment update.
2463
2464         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
2465         (gst_tee_request_new_pad), (gst_tee_release_pad),
2466         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
2467         (gst_tee_sink_activate_pull):
2468         * plugins/elements/gsttee.h:
2469         Some tee loving:
2470         Add default property defines.
2471         Implement release pad function.
2472         Give properties better blubs etc.
2473         Activate pads before adding them to a running tee.
2474         Do simple buffer_alloc on the first requested pad.
2475         Post error when activation fails.
2476
2477 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
2478
2479         * gst/gst.c: (ensure_current_registry_forking):
2480           Check return value of write() to make compiler happy.
2481
2482 2006-10-11  Wim Taymans  <wim@fluendo.com>
2483
2484         Patch by: Sjoerd Simons <sjoerd at luon dot net>
2485
2486         * plugins/elements/gstqueue.c: (gst_queue_chain):
2487         Recheck queue filledness after signalling the overrun when we're about
2488         to leak downstream because we released the lock when emitting the signal
2489         and the queue could be empty again. Fixes #352345.
2490
2491 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
2492
2493         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
2494           Fix refcounting here too, just like we did for _new_valist() a few
2495           days ago (#357180) (thanks to René Stadler). Also remove all those
2496           'Since: 0.9' from the gtk-doc blobs.
2497
2498         * tests/check/libs/controller.c: (controller_refcount_new_list),
2499         (gst_controller_suite):
2500           Unit test for the above.
2501
2502 2006-10-10  Wim Taymans  <wim@fluendo.com>
2503
2504         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
2505
2506         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
2507         (gst_pad_save_thyself):
2508         Update some docs.
2509         Write pad direction in XML output. Fixes #345496.
2510
2511 2006-10-10  Wim Taymans  <wim@fluendo.com>
2512
2513         Patch by: René Stadler <mail at renestadler dot de>
2514
2515         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
2516         (gst_controller_new_list), (_gst_controller_dispose),
2517         (_gst_controller_finalize), (_gst_controller_class_init):
2518         Take ref to controlled object so that it cannot disappear. 
2519         Fixes #357432.
2520
2521 2006-10-10  Wim Taymans  <wim@fluendo.com>
2522
2523         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
2524         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
2525         (gst_check_teardown_sink_pad):
2526         Activate/deactivate pads in setup/teardown respectively.
2527
2528 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2529
2530         Patch by: Josep Torre Valles <josep@fluendo.com>
2531
2532         * gst/Makefile.am:
2533         Cast values when making gstenumtypes.h.  This pacifies Forte
2534         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
2535         in the enumeration.
2536
2537 2006-10-09  Wim Taymans  <wim@fluendo.com>
2538
2539         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
2540         Rename some more @cur to @start to fix docs. 
2541
2542         * gst/gstsegment.c: (gst_segment_set_seek):
2543         Fix typo.
2544         time and start must always stay in sync as defined in design doc.
2545
2546         * gst/gsttaglist.c: (gst_tag_list_is_empty):
2547         Rename param to fix docs.
2548
2549         * tests/check/gst/gstsegment.c: (GST_START_TEST):
2550         Check that start and time are in sync.
2551
2552         * tests/check/pipelines/parse-launch.c:
2553         (gst_parse_test_element_change_state):
2554         Activate pad before adding to the element.
2555
2556 2006-10-09  Wim Taymans  <wim@fluendo.com>
2557
2558         * docs/design/part-qos.txt:
2559         Fix typo.
2560
2561         * gst/gstevent.c:
2562         * gst/gstevent.h:
2563         Update seek event docs regarding negative rates.
2564         Rename @cur to @start. 
2565
2566         * gst/gstsegment.c: (gst_segment_set_seek):
2567         * gst/gstsegment.h:
2568         Update set_seek docs regarding negative rates.
2569         Correctly update last_stop to @stop when dealing with negative
2570         rates.
2571         Rename @cur to @start. 
2572
2573         * tests/check/gst/gstpad.c: (GST_START_TEST):
2574         Activate pads before trying to use them.
2575
2576         * tests/check/gst/gstsegment.c: (GST_START_TEST),
2577         (gst_segment_suite):
2578         Add simple check for segments and negative rates.
2579
2580 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
2581
2582         * gst/gsttaglist.c: (gst_tag_list_is_empty):
2583         * gst/gsttaglist.h:
2584         * docs/gst/gstreamer-sections.txt:
2585           API: add gst_tag_list_is_empty() (#360467).
2586
2587         * tests/check/gst/gsttag.c: (GST_START_TEST):
2588           And a test case.
2589
2590 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2591
2592         * gst/gstmessage.h:
2593         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
2594         a value that doesn't fit on enumeration.
2595
2596 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2597
2598         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
2599         Remove local debugging system and use Gstreamer's instead.
2600
2601 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2602
2603         Patch by: Josep Torre Valles <josep@fluendo.com>
2604
2605         * common/m4/gst-error.m4:
2606         Disable warning of statement not reached on Forte.
2607         * gst/gstmessage.h:
2608         Fix warning on Forte (value doesn't fit on enumeration).
2609         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
2610         Fix warning on Forte (value doesn't fit on enumeration).
2611         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
2612         DEBUG macro says it takes minimum of 2 args and so Forte
2613         complains about the use with just 1 arg.
2614         * plugins/elements/gstfdsink.c:
2615         * plugins/elements/gstfdsrc.c:
2616         * plugins/elements/gstfilesink.c:
2617         * plugins/elements/gstfilesrc.c:
2618         Use correct return type for the uri handler implementations.
2619
2620         All these fix warnings in Forte.  Fixes bug #360860.
2621
2622 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
2623
2624         * gst/gstelement.h:
2625           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
2626           format string, so don't use G_GNUC_PRINTF for those versions.
2627
2628 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
2629
2630         * gst/gsttaglist.c: (gst_is_tag_list):
2631         * gst/gsttaglist.h:
2632           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
2633
2634         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
2635           Small test for the above.
2636
2637 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
2638
2639         * gst/gsttaglist.h:
2640           Less tabs, more spaces.
2641
2642 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
2643
2644         * gst/gstinfo.h:
2645           Those two function declarations do actually belong there, revert
2646           commit from yesterday that turned them intro macros.
2647
2648 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2649
2650         Patch by: Josep Torre Valles <josep@fluendo.com>
2651
2652         * gst/gst.c: (gst_init_get_option_group):
2653         Fix empty declaration and type mismatch.
2654         * gst/gstbin.c: (gst_bin_change_state_func):
2655         Fix type mismatch.
2656         * gst/gstelement.c: (gst_element_continue_state),
2657         (gst_element_set_state_func), (gst_element_change_state),
2658         (gst_element_change_state_func):
2659         Fix type mismatches.
2660         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
2661         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
2662         Cast as appropriate.
2663         * gst/gstobject.c: (gst_class_signal_connect):
2664         Cast as appropriate.  The function pointer parameter really
2665         has the wrong type but would break API if we change it.
2666         * gst/gstquery.c:
2667         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
2668         order of including string.h.
2669         * gst/gstutils.c: (gst_element_state_get_name):
2670         Remove unreachable line.
2671         * gst/gstxml.c: (gst_xml_parse_doc):
2672         Fix type mismatch.
2673         All these caught by Forte.
2674
2675 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2676
2677         Patch by: Josep Torre Valles <josep@fluendo.com>
2678
2679         * common/m4/gst-error.m4:
2680         Fixed bug #360151.
2681         We need to disable warnings on Forte for empty declarations
2682         due to gst-indent adding ;s to lines that just use macros
2683         where the macro actually doesn't need a ; at end to end
2684         statement.
2685
2686 2006-10-06  Wim Taymans  <wim@fluendo.com>
2687
2688         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
2689         (gst_file_sink_close_file), (gst_file_sink_event),
2690         (gst_file_sink_render):
2691         Add some FIXME for the NEWSEGMENT handling.
2692
2693 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2694
2695         * gst/parse/grammar.y:
2696         Remove static function gst_parse_element_lock as all it does
2697         is return.  Looks like cruft from 0.8.
2698
2699 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2700
2701         Patch by: Josep Torre Valles <josep@fluendo.com>
2702
2703         * common/m4/gst-error.m4:
2704         * configure.ac:
2705         * libs/gst/net/Makefile.am:
2706         Fix a compilation issue with Forte on Solaris.  inet_aton is in
2707         libresolv.
2708
2709 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
2710
2711         * gst/gstpad.c: (pre_activate):
2712         * gst/gstregistry.c: (gst_registry_scan_path_level):
2713         * gst/gstregistryxml.c: (load_plugin):
2714         * libs/gst/controller/gstcontroller.c:
2715         (gst_controlled_property_set_interpolation_mode):
2716         * libs/gst/dataprotocol/dataprotocol.c:
2717         (gst_dp_packet_from_event_1_0):
2718         * libs/gst/net/gstnetclientclock.c:
2719         (gst_net_client_clock_observe_times):
2720         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
2721           Printf fixes.
2722
2723 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
2724
2725         * configure.ac:
2726         * docs/gst/gstreamer-sections.txt:
2727         * gst/gstconfig.h.in:
2728         * gst/gstelement.h:
2729         * gst/gstinfo.h:
2730           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
2731           whether we can use G_GNUC_PRINTF in other header files and at
2732           least check the printf format/arguments of debug messages and
2733           GST_ELEMENT_ERROR messages when the printf extension is not
2734           being used.
2735           Replace more tabs with spaces in gstinfo.h and remove two spurious
2736           function declarations in GST_DISABLE_DEBUG part with macros.
2737
2738 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
2739
2740         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
2741           More docs for the sync-message signal (mention that it is not
2742           emitted by default); log message structures of messages posted on
2743           the bus as well.
2744
2745 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
2746
2747         * gst/gst.c: (ensure_current_registry_forking):
2748         Use a pipe pair to receive status results from the forked child, and
2749         ignore the result from waitpid. Fixes #355499
2750
2751 2006-10-02  Wim Taymans  <wim@fluendo.com>
2752
2753         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
2754         (gst_ghost_pad_suite):
2755         Fix leak in check.
2756
2757 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
2758
2759         * gst/gstpad.c:
2760           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
2761
2762 2006-10-02  Edward Hervey  <edward@fluendo.com>
2763
2764         * docs/design/part-block.txt:
2765         Further explain the use of flushing on blocked pads.
2766         * docs/gst/gstreamer-sections.txt:
2767         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
2768         (gst_pad_push_event):
2769         * gst/gstpad.h:
2770         Added new GstPadFlag : GST_PAD_BLOCKING.
2771         Adds the notion of pads really blocking, which enables to properly
2772         handle FLUSH_START/FLUSH_STOP events on blocked pads.
2773         Fixes #358999
2774         API: gst_pad_is_blocking()
2775         API: GST_PAD_IS_BLOCKING() macro
2776         API: GST_PAD_BLOCKING GstPadFlag
2777         
2778 2006-10-02  Wim Taymans  <wim@fluendo.com>
2779
2780         Patch by: mrcgran <mrc.gran at gmail dot com>
2781
2782         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
2783         Filter the proxied caps against the padtemplate if we have one.
2784
2785         * gst/gstquery.c: (gst_query_new_segment):
2786         Add include for gstinfo.h so that compilation with
2787         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
2788
2789 2006-10-02  Wim Taymans  <wim@fluendo.com>
2790
2791         Patch by: Alessandro Decina  <alessandro at nnva org>
2792
2793         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
2794         (gst_file_sink_set_location), (gst_file_sink_open_file),
2795         (gst_file_sink_close_file), (gst_file_sink_event),
2796         (gst_file_sink_render):
2797         Set file to NULL when closing filesink so that we can set a new filename
2798         in READY. Fixes #358613.
2799
2800 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
2801
2802         Patch by: Alessandro Decina  <alessandro at nnva org>
2803
2804         * gst/gstevent.c: (_gst_event_copy):
2805           Fix gst_mini_object_make_writable() and gst_event_copy() for events
2806           with event structures by setting the parent refcount address of the
2807           copied structure to the address of the refcount member of the newly
2808           copied event rather than the address of the refcount member of the
2809           original event. Fixes #358737.
2810
2811         * tests/check/gst/gstevent.c: (GST_START_TEST):
2812           Unit test for the above.
2813
2814 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
2815
2816         * docs/design/Makefile.am:
2817           Dist some more files.
2818
2819 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
2820
2821         * tests/check/libs/controller.c: (GST_START_TEST),
2822         (gst_controller_suite):
2823           Add test for the previous fix; add some more tests
2824           for correct refcounting behaviour; fix a few leaks
2825           in test cases; call gst_controller_init() at start
2826           of all tests.
2827
2828 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
2829
2830         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
2831         (gst_controller_set_from_list):
2832           Don't g_return_val_if_fail() on timed values with invalid timestamps
2833           inside a critical section without unlocking the mutex. Spotted by
2834           René Stadler. (#357617)
2835           Also, fix up refcounting properly: when returning an existing
2836           controller, we should increase the reference only once and not
2837           once per property and when trying to control a property again
2838           we should also increase the refcount.
2839
2840 2006-09-29  Wim Taymans  <wim@fluendo.com>
2841
2842         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
2843         * libs/gst/net/gstnettimeprovider.c:
2844         (gst_net_time_provider_thread):
2845         Stop reading commands when EOF as well.
2846
2847         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
2848         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
2849         * plugins/elements/gstidentity.c: (gst_identity_class_init):
2850         Unify description of the dump property.
2851
2852 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
2853
2854         * tests/examples/manual/.cvsignore:
2855         OK, so it's actually cvsignore that needs changing. Stop laughing.
2856
2857 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
2858
2859         * tests/examples/manual/Makefile.am:
2860         Gah, declare vars *before* using them
2861
2862 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
2863
2864         * gst/gst.c: (init_pre), (scan_and_update_registry),
2865         (ensure_current_registry_nonforking),
2866         (ensure_current_registry_forking), (ensure_current_registry),
2867         (init_post), (gst_debug_help), (gst_deinit):
2868         * gst/gst_private.h:
2869         * gst/gstregistry.c: (gst_registry_finalize),
2870         (gst_registry_remove_features_for_plugin_unlocked),
2871         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
2872         (gst_registry_scan_path),
2873         (_priv_gst_registry_remove_cache_plugins),
2874         (_priv_gst_registry_cleanup):
2875         * gst/gstregistry.h:
2876         Re-commit the registry changes, along with an extra fix:
2877           When a cached plugin is encountered at a different file path,
2878           update the stored path in the registry cache so that the parent
2879           process knows where it actually is now when it re-reads the registry
2880           cache. Fixes the thing that broke distcheck with the previous commit.
2881
2882         * tests/check/Makefile.am:
2883         Clean up files named 'core' too when running make clean.
2884
2885         * tests/examples/manual/Makefile.am:
2886         Set up a registry path for running these tests, and clean it properly
2887         for distcheck.
2888
2889 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
2890
2891         * configure.ac:
2892         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
2893         want gmodule-no-export-2.0.pc instead so that we don't drag in
2894         --export-dynamic on every project that links to GStreamer.
2895
2896         Also, make our export regex only match the start of symbols, rather 
2897         than any symbol that contains '_gst' somewhere.
2898
2899         * libs/gst/check/Makefile.am:
2900         The libgstcheck we build does however need export-dynamic, as it
2901         produces some symbols that don't match our _gst... style regex.
2902         Fixes: #318031
2903
2904 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
2905
2906         * gst/gst.c: (init_pre), (scan_and_update_registry),
2907         (ensure_current_registry_nonforking),
2908         (ensure_current_registry_forking), (ensure_current_registry),
2909         (init_post), (gst_debug_help), (gst_deinit):
2910         * gst/gst_private.h:
2911         * gst/gstregistry.c: (gst_registry_finalize),
2912         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
2913         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
2914         (_gst_registry_cleanup):
2915         * gst/gstregistry.h:
2916           Revert previous change until I figure out why it breaks distcheck.
2917
2918 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
2919
2920         * gst/gst.c: (init_pre), (scan_and_update_registry),
2921         (ensure_current_registry_nonforking),
2922         (ensure_current_registry_forking), (ensure_current_registry),
2923         (init_post), (gst_debug_help), (gst_deinit):
2924
2925           Make init_pre and init_post take the full complement of GOptionFunc
2926           args so they can return useful GErrors. Make the registry updating
2927           functions do so.
2928
2929           Call _priv_gst_registry_remove_cache_plugins after scanning files to
2930           ensure that the registry we're about to write out doesn't contain
2931           stale information about old-deleted plugin files.
2932
2933           Make _priv_gst_registry_remove_cache_plugins return a boolean so
2934           that deletion of plugin files is considered a registry change.
2935
2936         * gst/gst_private.h:
2937         * gst/gstregistry.c: (gst_registry_finalize),
2938         (gst_registry_remove_features_for_plugin_unlocked),
2939         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
2940         (gst_registry_scan_path),
2941         (_priv_gst_registry_remove_cache_plugins),
2942         (_priv_gst_registry_cleanup):
2943         * gst/gstregistry.h:
2944         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
2945         by adding _priv prefix, so that they won't appear in the global
2946         symbol table. They still do atm though because of #318031. Move the
2947         prototypes to gst_private.h
2948
2949         When removing a plugin, remove all features for that plugin too. 
2950         Fixes #340878.
2951
2952 2006-09-27  Wim Taymans  <wim@fluendo.com>
2953
2954         * docs/random/moving-plugins:
2955         Make it clear that the "compiled-in descriptions" really mean
2956         the element details.
2957
2958         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2959         (gst_base_sink_wait_preroll):
2960         Update docs.
2961
2962         * docs/libs/gstreamer-libs-sections.txt:
2963         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
2964         (gst_base_src_get_range), (gst_base_src_activate_push):
2965         * libs/gst/base/gstbasesrc.h:
2966         Added function to block while waiting for PLAYING, this function
2967         is used by live sources that block on the clock.
2968         API: gst_base_src_wait_playing()
2969
2970 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
2971
2972         Patch by: Peter Kjellerstedt <pkj at axis com>
2973
2974         * Makefile.am:
2975           gst-element-check.m4 is generated and should therefore be
2976           copied from the build dir rather than the source dir (#357593).
2977           'make distcheck' hasn't noticed this because we were disting
2978           the file as well, so stop doing that.
2979
2980 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
2981
2982         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
2983           Add some tests for gst_caps_intersect().
2984
2985         * tools/gst-launch.c: (event_loop):
2986           Print all buffering percentages we get, even the 100% one.
2987
2988 2006-09-26  Wim Taymans  <wim@fluendo.com>
2989
2990         * tools/gst-inspect.c: (print_element_properties_info),
2991         (print_signal_info):
2992         Fix printing of flags to match the look of enums.
2993
2994 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
2995
2996         * gst/gstelementfactory.c:
2997           Fix typo in docs blurb.
2998
2999 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
3000
3001         * gst/gsturi.c: (search_by_entry):
3002           Don't assert/crash here if a uri handler doesn't return any
3003           supported protocols. The list of protocols could be generated
3004           dynamically at runtime or at plugin registration, and an error
3005           in the underlying library shouldn't be fatal (#353301).
3006
3007 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
3008
3009         * gst/gstinfo.c:
3010           Fix warning if HAVE_PRINTF_EXTENSION is undefined
3011           (spotted by Peter Kjellerstedt).
3012
3013 2006-09-23  Wim Taymans  <wim@fluendo.com>
3014
3015         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
3016
3017         * libs/gst/base/gstbasesrc.c:
3018         (gst_base_src_default_check_get_range), (gst_base_src_start),
3019         (gst_base_src_activate_push), (gst_base_src_activate_pull),
3020         (gst_base_src_change_state):
3021         Match _start/_stop calls in the activate functions. Remove redundant
3022         _stop call from the state change function. Fixes #356910.
3023         Turn failure DEBUG into ERROR. 
3024
3025 2006-09-22  Wim Taymans  <wim@fluendo.com>
3026
3027         * docs/design/part-buffering.txt:
3028         * gst/gstmessage.c: (gst_message_new_buffering),
3029         (gst_message_parse_buffering):
3030         Update docs about buffering.
3031
3032         * docs/design/part-trickmodes.txt:
3033         Fix typo.
3034
3035 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
3036
3037         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
3038         (gst_controller_new_list):
3039           Ref instances when returning them again (fixes #357180)
3040
3041 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
3042
3043         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
3044           Don't forget to release proxy lock when there's an error.
3045
3046 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
3047
3048         * gst/gstcaps.h:
3049           Add extra initialisers for Caps things, to fix some plugin warnings
3050           when using -Wextra
3051
3052 2006-09-18  Wim Taymans  <wim@fluendo.com>
3053
3054         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
3055           Also set template on the internal pad so that a getcaps from the 
3056           target pad returns the template caps.
3057
3058 2006-09-18  Wim Taymans  <wim@fluendo.com>
3059
3060         * gst/gstelement.c: (gst_element_post_message),
3061         (gst_element_dispose):
3062         Use _DEBUG_OBJECT some more.
3063
3064         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
3065         Avoid typechecks.
3066
3067         * tools/gst-launch.c: (main):
3068         If the toplevel element is not a GstPipeline, it must be put in a
3069         pipeline so that a bus and clock is selected.
3070
3071 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
3072
3073         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
3074           JITTER, RATE, and LATENCY query should be handled by the
3075           default case and not by the CONVERT query code.
3076
3077 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
3078
3079         * gst/gstformat.c: (gst_format_register):
3080           Fix locking order (must take lock before using n_values).
3081
3082         * gst/gstvalue.c: (gst_value_serialize_enum),
3083         (gst_value_deserialize_enum_iter_cmp),
3084         (gst_value_deserialize_enum):
3085           Fix serialisation/deserialisation of custom registered GstFormats.
3086
3087         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3088           Unit test for custom format serialisation/deserialisation.
3089
3090 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
3091
3092         * docs/pwg/building-boiler.xml:
3093         * plugins/elements/gstcapsfilter.c:
3094         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
3095         section.
3096
3097 2006-09-16  Edward Hervey  <edward@fluendo.com>
3098
3099         * libs/gst/base/gstbasetransform.c:
3100         (gst_base_transform_buffer_alloc):
3101         Check if requested caps are the same as the sinks caps IF
3102         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
3103         is FALSE.
3104         This fixes the renegotiation issues stated in #352827.
3105
3106 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3107
3108         * configure.ac:
3109         * docs/manual/advanced-autoplugging.xml:
3110         * tests/examples/Makefile.am:
3111         * tests/examples/manual/.cvsignore:
3112         * tests/examples/manual/Makefile.am:
3113         * tests/examples/manual/extract.pl:
3114           Extract the manual examples again like we used to do.
3115           Fix one of them.
3116
3117 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3118
3119         * win32/common/config.h:
3120           update for version
3121
3122 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
3123
3124         * gst/gsterror.c:
3125           Documents how to receive errors.
3126
3127 2006-09-15  Wim Taymans  <wim@fluendo.com>
3128
3129         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
3130         (event_loop), (main):
3131         Added some comments here and there.
3132         Post an application message when an interrupt is caught instead of doing
3133         an uncontrolled state change.
3134         Clean up the event loop.
3135         Handle buffering messages, pause/resume the pipeline.
3136         Make shutdown because of an interrupt more reliable.
3137
3138 2006-09-15  Wim Taymans  <wim@fluendo.com>
3139
3140         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3141         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
3142         (gst_base_sink_preroll_object):
3143         Make sure that our internal state is correct when we commit our state
3144         asynchronously. This solves a race where a state change to PLAYING
3145         could cause the sink to remain blocked in preroll in some situations.
3146
3147 2006-09-15  Wim Taymans  <wim@fluendo.com>
3148
3149         * tools/gst-inspect.c: (print_element_properties_info),
3150         (print_signal_info):
3151         List flags as hex so it's easier to deal with.
3152
3153 2006-09-15  Wim Taymans  <wim@fluendo.com>
3154
3155         * docs/libs/gstreamer-libs-sections.txt:
3156         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
3157         (gst_base_sink_do_sync):
3158         * libs/gst/base/gstbasesink.h:
3159         Expose logic to wait for preroll so that subclasses such as audiosink
3160         can also use this method.
3161         API: gst_base_sink_wait_preroll()
3162
3163 2006-09-15  Wim Taymans  <wim@fluendo.com>
3164
3165         * gst/gstobject.c: (gst_object_set_parent):
3166         * gst/gstpipeline.c: (do_pipeline_seek):
3167         Small cleanups in docs and code.
3168
3169         * gst/gstsegment.c: (gst_segment_clip):
3170         * tests/check/gst/gstsegment.c: (GST_START_TEST):
3171         if stop == start and start is in the segment, no clipping should be
3172         done. Also add a test for this.
3173
3174 2006-09-15  Wim Taymans  <wim@fluendo.com>
3175
3176         * docs/design/part-buffering.txt:
3177         * docs/gst/gstreamer-sections.txt:
3178         * gst/gstmessage.c: (gst_message_new_buffering),
3179         (gst_message_parse_buffering):
3180         * gst/gstmessage.h:
3181         Added methods to create and parse BUFFERING messages.
3182         Added preliminary docs about buffering.
3183         API: gst_message_new_buffering
3184         API: gst_message_parse_buffering
3185
3186 2006-09-06  Wim Taymans  <wim@fluendo.com>
3187
3188         * gst/gstbin.c:
3189         Update documentation.
3190
3191         * gst/gstelement.c: (gst_element_class_init),
3192         (gst_element_release_request_pad), (gst_element_set_clock),
3193         (gst_element_get_index), (gst_element_add_pad),
3194         (gst_element_remove_pad), (gst_element_get_random_pad),
3195         (gst_element_send_event), (gst_element_get_query_types),
3196         (gst_element_query), (gst_element_post_message),
3197         (gst_element_message_full), (gst_element_continue_state),
3198         (gst_element_lost_state), (gst_element_save_thyself),
3199         (gst_element_restore_thyself):
3200         Documentation updates.
3201         Rename last bit of the new-pad -> pad-added signal rename.
3202         Fix the case where an element query would only work if the source
3203         pad was linked.
3204         Avoid some useless type checking in message handling.
3205
3206         * gst/gstevent.c:
3207         * gst/gstevent.h:
3208         * gst/gstutils.c:
3209         Documentation updates.
3210
3211 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3212
3213         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
3214           add an INFO line for when we actually update the fd
3215
3216 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3217
3218         * configure.ac:
3219           back to TRUNK
3220
3221 === release 0.10.10 ===
3222
3223 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
3224
3225         * configure.ac:
3226           releasing 0.10.10, "Pais"
3227
3228 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
3229
3230         * docs/manual/advanced-position.xml:
3231           Fix typo in sample code.
3232
3233 2006-09-05  Wim Taymans  <wim@fluendo.com>
3234
3235         * libs/gst/net/gstnetclientclock.c: (inet_aton),
3236         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
3237         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
3238         * libs/gst/net/gstnetclientclock.h:
3239         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
3240         * libs/gst/net/gstnettimepacket.h:
3241         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
3242         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
3243         (gst_net_time_provider_thread), (gst_net_time_provider_new):
3244         * libs/gst/net/gstnettimeprovider.h:
3245         Make stuff compile on windows. Fixes #345295.
3246
3247 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
3248
3249         * gst/gst.c: (ensure_current_registry_forking):
3250           Print better details when child was terminated by signal.
3251
3252 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
3253
3254         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
3255           Print a warning rather than g_assert() if a plugin feature
3256           is a URI handler but returns no protocols (#353976).
3257
3258 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
3259
3260         * docs/random/moving-plugins:
3261         Fix two typos.         
3262
3263 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
3264
3265         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
3266           Fix locking order, handle NULL function values properly.
3267
3268         * gst/gstinfo.h:
3269           Fix docs.
3270
3271         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
3272           Initialise variable before using it and fix debug statement to
3273           print the address of the function rather than the address of the
3274           variable on the stack holding the address of the function.
3275
3276 2006-09-01  Wim Taymans  <wim@fluendo.com>
3277
3278         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
3279         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
3280         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
3281         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
3282         (gst_ghost_pad_parent_unset),
3283         (gst_ghost_pad_internal_do_activate_push),
3284         (gst_ghost_pad_internal_do_activate_pull),
3285         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
3286         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
3287         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
3288         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
3289         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
3290         (gst_ghost_pad_new_no_target_from_template),
3291         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
3292         More cleanups.
3293         Avoid needless typechecking in macros.
3294         Since the internal pad is always present and never changes, there is
3295         no need to locking or ref when retrieving it.
3296         Improve debugging a bit.
3297         Handle link errors when setting the target. Fixes #341029.
3298
3299 2006-09-01  Wim Taymans  <wim@fluendo.com>
3300
3301         * docs/libs/gstreamer-libs-sections.txt:
3302         * docs/plugins/gstreamer-plugins-sections.txt:
3303         Fix docs some more.
3304
3305         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
3306         (gst_collect_pads_event):
3307         * libs/gst/base/gstcollectpads.h:
3308         Documentation updates.
3309         Free queued buffer when removing a pad.
3310
3311 2006-08-31  Michael Smith  <msmith@fluendo.com>
3312
3313         * gst/gstutils.c: (gst_element_link_pads),
3314         (gst_element_link_pads_filtered):
3315           Ensure that we set a capsfilter to NULL if we failed to link it
3316           when doing filtered linking, to avoid criticals.
3317
3318           No need to check for unreffing srcpad, which is explicly NULLed
3319           above (a trivial code cleanup).
3320
3321 2006-08-31  Wim Taymans  <wim@fluendo.com>
3322
3323         * docs/design/part-gstghostpad.txt:
3324         Update ascii art in documentation.
3325
3326         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
3327         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
3328         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
3329         (gst_ghost_pad_internal_do_activate_push),
3330         (gst_ghost_pad_internal_do_activate_pull),
3331         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
3332         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
3333         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
3334         (gst_ghost_pad_set_target):
3335         Small cleanups and leak fixes.
3336         Remove some checks now that the internal pad is never NULL.
3337         Fix the case where linking pads without a target would create nasty
3338         criticals. Fixes #341029.
3339         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
3340         value of _set_target().
3341
3342         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
3343         (gst_ghost_pad_suite):
3344         Some more tests for creating and linking untargeted ghostpads.
3345
3346 2006-08-31  Edward Hervey  <edward@fluendo.com>
3347
3348         * docs/gst/gstreamer-sections.txt:
3349         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
3350         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
3351         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
3352         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
3353         (gst_ghost_pad_new_from_template),
3354         (gst_ghost_pad_new_no_target_from_template):
3355         * gst/gstghostpad.h:
3356         Refactored *_new() functions.
3357         Templates are now used as a g_object_new() parameter.
3358         Use template in _do_getcaps() if we don't have a target.
3359         Small documentation cleanups.
3360         Added two new constructors:
3361         gst_ghost_pad_new_from_template()
3362         gst_ghost_pad_new_no_target_from_template()
3363         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
3364         (gst_ghost_pad_suite):
3365         Added tests for new ghostpad instanciation functions.
3366
3367         API additions: gst_ghost_pad_new_from_template,
3368         gst_ghost_pad_new_no_target_from_template
3369
3370 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
3371
3372         * docs/random/ensonic/profiling.txt:
3373           Ideas about qos profiling.
3374
3375 2006-08-29  Wim Taymans  <wim@fluendo.com>
3376
3377         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
3378         Code cleanups.
3379         Fix memleak.
3380
3381 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
3382
3383         * gst/gstxml.c:
3384           Improve and detypofy docs.
3385
3386         * tests/check/Makefile.am:
3387         * tests/check/gst/.cvsignore:
3388         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
3389           Add a basic test suite for GstXML.
3390
3391 2006-08-29  Wim Taymans  <wim@fluendo.com>
3392
3393         * gst/gstelement.c: (activate_pads), (clear_caps),
3394         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
3395         Clear the pad caps when the element shut down all of the pads and
3396         is not streaming data that could modify the caps. 
3397         Fixes #352958.
3398
3399 2006-08-28  Michael Smith  <msmith@fluendo.com>
3400
3401         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3402           Revert previous change; I misunderstood single-segment mode.
3403
3404 2006-08-28  Michael Smith  <msmith@fluendo.com>
3405
3406         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3407           Unset DISCONT on buffers when using single-segment mode.
3408
3409 2006-08-28  Wim Taymans  <wim@fluendo.com>
3410
3411         * gst/gstcaps.c: (gst_caps_merge_structure):
3412         * gst/gstcaps.h:
3413         Fix docs and indentation again.
3414
3415         * tests/check/gst/gstquery.c: (GST_START_TEST):
3416         Fix leak in tests and add some more tests.
3417
3418 2006-08-28  Edward Hervey  <edward@fluendo.com>
3419
3420         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3421         Inform GstSegment of the last stop position in order for the current
3422         segment to have a proper duration if it doesn't have a specific stop
3423         position from which a duration could be calculated.
3424         This bug was noticeable when a non-flushing, non-update new segment was
3425         followed by another segment (all buffers from the new segment were being
3426         dropped).
3427
3428 2006-08-28  Wim Taymans  <wim@fluendo.com>
3429
3430         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
3431         Small comment update.
3432
3433         * plugins/elements/gstidentity.c: (gst_identity_class_init),
3434         (gst_identity_transform_ip):
3435         Drop-probability is broken, mention this in the code with a 
3436         FIXME and also in the property description.
3437         Make silent also be silent about the drop messages.
3438
3439 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
3440
3441         * docs/manual/appendix-win32.xml:
3442           Remove mention of popt, we don't depend on that any
3443           longer (#353136). Add some comments pointing out that
3444           this section is slightly outdated.
3445
3446 2006-08-28  Wim Taymans  <wim@fluendo.com>
3447
3448         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
3449
3450         * gst/gstquery.c: (gst_query_new_segment):
3451         * tests/check/gst/gstquery.c: (GST_START_TEST):
3452         Initialize variables when creating a new segment query.
3453         Fixes #353121.
3454
3455 2006-08-28  Wim Taymans  <wim@fluendo.com>
3456
3457         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
3458
3459         * gst/gstelement.c: (gst_element_get_bus):
3460         * tests/check/gst/gstelement.c: (GST_START_TEST):
3461         Check for NULL before _reffing the bus. Fixes #353122.
3462
3463 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
3464
3465         * docs/manual/basics-bus.xml:
3466           Docs update: fix wrong callback return value explanation; add
3467           some lines about the implicit relationship between main loop
3468           and main context; remove duplicate main loop variable declaration.
3469
3470 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
3471
3472         * tests/check/gst/gstcaps.c: (GST_START_TEST):
3473           Don't leak caps in unit test; add a few more simple
3474           checks. 
3475
3476 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
3477
3478         * docs/gst/gstreamer-sections.txt:
3479         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
3480         (gst_caps_structure_is_subset), (gst_caps_merge),
3481         (gst_caps_merge_structure):
3482         * gst/gstcaps.h:
3483         * libs/gst/base/gstbasetransform.c:
3484         (gst_base_transform_transform_caps):
3485         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
3486           implement caps merging (fixes #352580)
3487
3488 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
3489
3490         * tools/Makefile.am:
3491         * tools/gst-plot-timeline.py:
3492           add debug-log plotting developer tool (#340674)
3493
3494 2006-08-23  Wim Taymans  <wim@fluendo.com>
3495
3496         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
3497         (gst_pad_stop_task):
3498         Improve debugging for task functions.
3499
3500         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
3501         (gst_task_start), (gst_task_pause), (gst_task_join):
3502         Make sure that the task function started and finished after a 
3503         join(). 
3504         Don't try to push the task function on the threadpool multiple
3505         times.
3506         Improve the g_warning message with some useful suggestions
3507         about how to fix the problem. 
3508
3509 2006-08-23  Wim Taymans  <wim@fluendo.com>
3510
3511         * gst/gstutils.c: (gst_pad_proxy_getcaps):
3512         Handle RESYNC correctly in _proxy_getcaps.
3513
3514 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
3515
3516         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
3517         (gst_xml_parse_memory), (gst_xml_get_element):
3518           Chain up to parent class in dispose function and also
3519           unref the elements in the toplevel_elements GList.
3520           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
3521           Always return a reference in gst_xml_get_element() rather
3522           than only sometimes.
3523
3524         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
3525           Don't leak GstXml object.
3526
3527 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
3528
3529         * docs/gst/gstreamer-sections.txt:
3530         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
3531         (gst_caps_merge):
3532         * gst/gstcaps.h:
3533         * libs/gst/base/gstbasetransform.c:
3534         (gst_base_transform_transform_caps):
3535           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
3536           in a better way
3537
3538 2006-08-21  Edward Hervey  <edward@fluendo.com>
3539
3540         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
3541         Implement GObject::dispose virtual method in GstXML so we can free the
3542         top_elements GList.
3543
3544 2006-08-21  Wim Taymans  <wim@fluendo.com>
3545
3546         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
3547         (gst_buffer_create_sub):
3548         Copy duration/offset_end/caps when creating a subbuffer of the
3549         complete parent.
3550         Make the subbuffer read-only when we make the metadata writable for
3551         now. Fixes #351768.
3552
3553         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
3554         Added check for metadata copy when creating subbuffers.
3555
3556 2006-08-21  Edward Hervey  <edward@fluendo.com>
3557
3558         * libs/gst/base/gstbasetransform.c:
3559         (gst_base_transform_buffer_alloc):
3560         Only call downstream buffer_alloc if transform element is passthrough
3561         or always_in_place. Closes #350449.
3562
3563 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
3564
3565         * ChangeLog:
3566           ChangeLog surgery to add comments to previous changes
3567
3568 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
3569
3570         * gst/gst.c:
3571           Add comments
3572
3573         * gst/gstpad.c: (gst_pad_set_active):
3574           Be more verbose in the log
3575
3576         * libs/gst/base/gstbasetransform.c:
3577         (gst_base_transform_transform_caps):
3578           Simplify caps to get rid of duplicates, fixes #345444
3579
3580 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
3581
3582         * gst/gstvalue.c:
3583         * gst/gstvalue.h:
3584           Use these optimizations only internally.
3585
3586 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
3587
3588         * gst/gstvalue.c: (gst_value_compare_list),
3589         (gst_value_compare_fraction_range),
3590         (gst_value_intersect_fraction_fraction_range),
3591         (gst_value_intersect_fraction_range_fraction_range),
3592         (gst_value_subtract_fraction_fraction_range),
3593         (gst_value_subtract_fraction_range_fraction_range),
3594         (gst_value_get_compare_func), (gst_value_compare),
3595         (gst_value_compare_with_func):
3596         * gst/gstvalue.h:
3597           Saves the expensive lookup of the compare function in many cases
3598          (#345444)
3599
3600 2006-08-18  Edward Hervey  <edward@fluendo.com>
3601
3602         * tests/check/gst/gstinfo.c: (gst_info_suite):
3603         Disable test that require gstdebug if it wasn't built in core.
3604
3605 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
3606
3607         * docs/random/ensonic/logging.txt:
3608           update ideas
3609           
3610         * gst/gstinfo.c: (gst_debug_log_default):
3611           reorder fields, save some columns, add optional color codes for log
3612           levels
3613
3614 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
3615
3616         * docs/random/ensonic/logging.txt:
3617           add ideas about making the logs a bit more useful
3618
3619 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
3620
3621         * docs/pwg/advanced-events.xml:
3622         * docs/pwg/titlepage.xml:
3623           Update for 0.10 API (#340627). Add myself
3624           to authors list.
3625
3626 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
3627
3628         * docs/libs/gstreamer-libs-docs.sgml:
3629         * docs/libs/gstreamer-libs-sections.txt:
3630         * libs/gst/check/gstbufferstraw.c:
3631           Make gstcheck stuff show up in docs (still needs to
3632           be documented properly though).
3633
3634 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
3635
3636         * docs/gst/gstreamer-sections.txt:
3637         * gst/Makefile.am:
3638         * gst/gst.c: (init_post):
3639         * gst/gst_private.h:
3640         * gst/gstquark.c: (_priv_gst_quarks_initialize):
3641         * gst/gstquark.h:
3642         * gst/gstquery.c: (gst_query_new_position),
3643         (gst_query_set_position), (gst_query_parse_position),
3644         (gst_query_new_duration), (gst_query_set_duration),
3645         (gst_query_parse_duration), (gst_query_new_convert),
3646         (gst_query_set_convert), (gst_query_parse_convert),
3647         (gst_query_new_segment), (gst_query_set_segment),
3648         (gst_query_parse_segment), (gst_query_new_seeking),
3649         (gst_query_set_seeking), (gst_query_parse_seeking):
3650         Add internal helpers for pre-registering quarks from static strings
3651         and using the quark values directly instead of looking them up when
3652         creating and parsing queries. Can be used for event construction too.
3653         Closes #350432.
3654
3655 2006-08-16  Wim Taymans  <wim@fluendo.com>
3656
3657         * gst/gstbin.c:
3658         Fix bogus docs.
3659
3660 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
3661
3662         * gst/gstutils.c: (gst_util_set_value_from_string):
3663           Fix memleak (#351502).
3664
3665         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
3666           Add unit test for most of gst_util_set_value_from_string()
3667           (not that one would want to encourage use of this function).
3668
3669 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
3670
3671         * libs/gst/check/gstcheck.h:
3672           Use const gchar * variables in fail_unless_equals_string
3673           macro to avoid compiler warnings (and don't use tabs for
3674           indenting).
3675
3676 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
3677
3678         * tools/gst-launch.c: (print_tag):
3679           More space on the left for the tag names, to cater
3680           for the 'extended comment' tag (not touching the
3681           string for the first line since it's translated).
3682
3683 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
3684
3685         * libs/gst/check/gstcheck.h:
3686           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
3687           print something when they fail.
3688
3689 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
3690
3691         * docs/gst/gstreamer-sections.txt:
3692         * gst/gsttaglist.c: (_gst_tag_initialize):
3693         * gst/gsttaglist.h:
3694           API: add GST_TAG_EXTENDED_COMMENT (#350935).
3695           Also change merge function for GST_TAG_COMMENT to
3696           use_first.
3697
3698 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
3699
3700         * gst/gstinfo.c: (gst_debug_print_object):
3701           Make GST_PTR_FORMAT print messages as well.
3702
3703         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
3704         (GST_START_TEST), (gst_info_suite):
3705           More tests.
3706
3707 2006-08-14  Edward Hervey  <edward@fluendo.com>
3708
3709         * gst/gstelementfactory.c: (gst_element_register):
3710         If the GstElementClass doesn't have a GstElementDetails with all fields
3711         filled up correctly (longname, description AND author), then error out
3712         nicely instead of crashing.
3713
3714 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
3715
3716         * gst/gststructure.c:
3717           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
3718
3719         * gst/gstvalue.h:
3720           Expand on the difference between arrays and lists as we use them.
3721           
3722 2006-08-14  Wim Taymans  <wim@fluendo.com>
3723
3724         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
3725         If the parent state change function failed, don't assume we can safely
3726         stop the source, this will be done when the pads are deactivated.
3727
3728 2006-08-14  Wim Taymans  <wim@fluendo.com>
3729
3730         * gst/gstbuffer.c:
3731         * gst/gsttask.c: (gst_task_join):
3732         Small doc updates.
3733
3734         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
3735         (gst_pad_stop_task):
3736         When pad (de)activation failed for some reason, restore the old
3737         activation mode and set the pad to flushing instead of assuming the
3738         pad is deactivated.
3739         If the _task_join() failed, reinstall the task on the pad so that it can
3740         be stopped later and return an error.
3741
3742 2006-08-11  Andy Wingo  <wingo@pobox.com>
3743
3744         * configure.ac:
3745         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
3746         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
3747         is only for users of API that don't want to see deprecated
3748         functions in the headers; people that want to compile out
3749         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
3750         CFLAGS. Fixes the build of multifdsink, or will soon..
3751
3752 2006-08-11  Wim Taymans  <wim@fluendo.com>
3753
3754         * docs/gst/gstreamer-sections.txt:
3755         Add GstClockClass vmethod docs.
3756
3757         * gst/gstcaps.h:
3758         Mark #endif with comment for associated #if
3759
3760         * gst/gstclock.c: (gst_clock_id_wait):
3761         * gst/gstclock.h:
3762         Add vmethod wait_jitter to avoid an unneeded _get_time() for
3763         most clock implementations.
3764         Document vmethods.
3765         Flesh out docs about resolution methods.
3766         API: GstClockClass::wait_jitter
3767
3768         * gst/gstsystemclock.c: (gst_system_clock_class_init),
3769         (gst_system_clock_async_thread),
3770         (gst_system_clock_id_wait_jitter_unlocked),
3771         (gst_system_clock_id_wait_jitter):
3772         Use base class wait_jitter variant for improved performance
3773         due to less clock polling.
3774
3775 2006-08-11  Edward Hervey  <edward@fluendo.com>
3776
3777         * gst/gst.c: (gst_init_check), (init_post):
3778         Set gst as being initialized before scanning/updating the registry,
3779         since there might be my python plugin loader that calls gst_init() and
3780         we don't want to loop back in.
3781         Closes #350879
3782
3783 2006-08-11  Wim Taymans  <wim@fluendo.com>
3784
3785         * docs/design/part-qos.txt:
3786         Bring docs in line with the code. Mostly the sign of the jitter was
3787         wrong in the docs. Fixes #349943.
3788
3789         * gst/gstclock.c:
3790         Fix the docs for the jitter.
3791
3792         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
3793         (gst_event_parse_tag), (gst_event_new_buffer_size),
3794         (gst_event_parse_buffer_size), (gst_event_parse_qos),
3795         (gst_event_new_seek), (gst_event_parse_seek),
3796         (gst_event_new_navigation):
3797         Make sure the GstStructure has no parent when creating custom
3798         events.
3799         Add some more argument checking so that we avoid 0.0 rates.
3800         Flesh out the docs for the QoS event some more.
3801
3802 2006-08-11  Wim Taymans  <wim@fluendo.com>
3803
3804         * docs/gst/gstreamer-sections.txt:
3805         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
3806         (ensure_current_registry_forking), (ensure_current_registry),
3807         (parse_one_option), (parse_goption_arg), (gst_deinit),
3808         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
3809         * gst/gst.h:
3810         Doc updates.
3811         Added API and command line option to disable registry forking in
3812         addition to the environment variable.
3813         Constify some static arrays.
3814         Added some more debug.
3815         Don't deinit twice.
3816         API: gst_registry_fork_is_enabled()
3817         API: gst_registry_fork_set_enabled()
3818         API: --gst-disable-registry-fork command line option
3819         Fixes #348918.
3820
3821 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
3822
3823         * gst/gst.c: (gst_init):
3824           Fix typo in error message.
3825
3826 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
3827
3828         * libs/gst/controller/gstcontroller.h:
3829           fix ABI size-correction
3830
3831         * tests/check/libs/gdp.c: (gst_dp_suite):
3832           make tests that use deprecated API conditional
3833
3834 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
3835
3836         * docs/libs/gstreamer-libs-sections.txt:
3837         * libs/gst/controller/gstcontroller.c:
3838         (_gst_controller_get_property), (_gst_controller_set_property),
3839         (_gst_controller_init), (_gst_controller_class_init):
3840         * libs/gst/controller/gstcontroller.h:
3841         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
3842         (gst_object_set_control_rate):
3843           API: add gst_object_{s,g}et_control_rate(), add private data section,
3844           fix docs
3845
3846         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
3847         * libs/gst/dataprotocol/dataprotocol.h:
3848           add deprecation guards to make gtk-doc happy and allow disabling cruft
3849
3850 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
3851
3852         * tests/check/Makefile.am:
3853         * tests/check/gst/.cvsignore:
3854           Let's enable the new unit test as well.
3855
3856 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
3857
3858         * configure.ac:
3859         * docs/gst/gstreamer-sections.txt:
3860         * gst/gstconfig.h.in:
3861         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
3862         (_gst_info_printf_extension_ptr),
3863         (_gst_info_printf_extension_segment):
3864           API: add GST_SEGMENT_FORMAT, which is a printf extension we
3865           register that lets us easily dump GstSegments into debug
3866           logs (#350419).
3867
3868         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
3869         (info_segment_format_printf_extension), (gst_info_suite):
3870           Add simple unit test that logs a bunch of different segments (not
3871           valgrinded at the moment because of leaks in
3872           gst_debug_add_log_function).
3873
3874 2006-08-09  Edward Hervey  <edward@fluendo.com>
3875
3876         * libs/gst/base/gstbasetransform.c:
3877         (gst_base_transform_buffer_alloc):
3878         Even if we can't figure out the proper format to request downstream,
3879         call buffer_alloc() downstream with the input parameters without setting
3880         the caps on the srcpad. This will force negotiation in the chain
3881         function.
3882         Closes #350449
3883
3884 2006-08-08  Edward Hervey  <edward@fluendo.com>
3885
3886         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
3887         Unlinking from a pad without a target is now a perfectly valid case
3888         which should NOT raise an assertion.
3889         This case would happen if a linked ghostpad its target set to NULL after
3890         it was previously linked.
3891
3892 2006-08-08  Edward Hervey  <edward@fluendo.com>
3893
3894         * tests/check/libs/gdp.c:
3895         Also comment out the test (see below).
3896
3897 2006-08-08  Edward Hervey  <edward@fluendo.com>
3898
3899         * tests/check/libs/gdp.c: (gst_dp_suite):
3900         Use the architecture information from config.h and not gcc macros
3901         in order to properly disable a test that fails on PPC64.
3902
3903 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
3904
3905         * gst/gstelement.c: (gst_element_remove_pad):
3906           Don't crash printing the warning if the pad has no parent.
3907
3908 2006-08-02  Wim Taymans  <wim@fluendo.com>
3909
3910         * libs/gst/dataprotocol/dataprotocol.c:
3911         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
3912         (gst_dp_crc), (gst_dp_header_payload_length),
3913         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
3914         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
3915         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
3916         (gst_dp_event_from_packet), (gst_dp_validate_header),
3917         (gst_dp_validate_payload):
3918         Make debug category static
3919         Constify the crc table.
3920         Do some more arg checking in public functions.
3921         Fix some docs and do some small cleanups.
3922
3923         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
3924         Add some more checks to see if GDP deals with bogus input.
3925
3926 2006-07-31  Wim Taymans  <wim@fluendo.com>
3927
3928         * gst/gstvalue.c: (gst_value_compare_list):
3929         Fix GstValueList comparison code. Fixes #347293.
3930
3931         * tests/check/gst/gstvalue.c: (GST_START_TEST):
3932         Check to test GstValueList comparison.
3933
3934 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
3935
3936         * gst/gstelementfactory.c: (gst_element_factory_create):
3937         Remove unnecessary ref/unref pair
3938
3939         * gst/parse/grammar.y:
3940         Make sure to free the parse buffer on all code paths.
3941         Move a g_free up to the error handler where it's easier to see.
3942
3943         * tests/check/gst/gstevent.c: (test_event):
3944         Extending timeout for downstream travelling events to 10 seconds to
3945         hopefully avoid intermittent failure on the buildbots.
3946
3947         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
3948         Don't manually set the state of the src element - it will happen as a
3949         natural consequence of the pipeline changing state, and that way it
3950         will do it in the right order too.
3951
3952 2006-07-31  Wim Taymans  <wim@fluendo.com>
3953
3954         * libs/gst/base/gstbasetransform.c:
3955         (gst_base_transform_buffer_alloc):
3956         Use OBJECT_LOCK and refcounting to get the pad caps in the
3957         buffer_alloc function because the caps could change while we are
3958         busy with them. Fixes #349105
3959
3960 2006-07-31  Wim Taymans  <wim@fluendo.com>
3961
3962         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
3963         Protect _PAD_CAPS with OBJECT_LOCK.
3964
3965 2006-07-31  Wim Taymans  <wim@fluendo.com>
3966
3967         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
3968         (gst_pad_get_property), (gst_pad_activate_pull),
3969         (gst_pad_activate_push), (gst_pad_set_blocked_async),
3970         (gst_pad_set_activate_function),
3971         (gst_pad_set_activatepull_function),
3972         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
3973         (gst_pad_set_getrange_function),
3974         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
3975         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
3976         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
3977         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
3978         (gst_pad_set_acceptcaps_function),
3979         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
3980         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
3981         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
3982         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
3983         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
3984         (gst_pad_configure_sink), (gst_pad_configure_src),
3985         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
3986         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
3987         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
3988         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
3989         (gst_pad_send_event):
3990         Use _DEBUG_OBJECT when it makes sense.
3991         Protect GST_PAD_CAPS with the OBJECT_LOCK.
3992         Small cleanups and code reflows.
3993         Avoid caps refcounting in _accept_caps.
3994         Refactor alloc_buffer so that the code performed on the peer is in a
3995         separate function. Also if the pad does not implement a buffer alloc
3996         function, we should still check if the pad is flushing before falling
3997         back to the default allocator.
3998
3999 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
4000
4001         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
4002         Make all uses of identity and fakesink have silent=true to avoid
4003         serialising every passing data structure, which is breaking tests
4004         on FC4 for some unknown reason.
4005
4006 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
4007
4008         * gst/parse/Makefile.am:
4009         * gst/parse/grammar.y:
4010         * gst/parse/parse.l:
4011           Reverted previous patch as it required to bump the flex dependency to
4012           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
4013
4014 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
4015
4016         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
4017
4018         * gst/parse/Makefile.am:
4019         * gst/parse/grammar.y:
4020         * gst/parse/parse.l:
4021           push & pop the state of the lexer for reentrant use case
4022           Fixes #349180
4023
4024 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
4025
4026         * libs/gst/base/gstbasesrc.h:
4027           Note in the docs that the ::newsegment vfunc is not actually used by
4028           GstBaseSrc.
4029
4030 2006-07-28  Wim Taymans  <wim@fluendo.com>
4031
4032         * libs/gst/base/gstcollectpads.c:
4033         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
4034         (gst_collect_pads_clear), (gst_collect_pads_flush),
4035         (gst_collect_pads_event), (gst_collect_pads_chain):
4036         When flushing a pad, also clear the queued buffer so that we don't
4037         accidentally use it when we shouldn't.
4038         Fix leaks by inreffing incomming buffer.
4039         Flush out queued buffers in case of errors.
4040         Fixes #347452.
4041
4042 2006-07-28  Wim Taymans  <wim@fluendo.com>
4043
4044         * docs/random/phonon-gst:
4045         Random notes about a Phonon backend.
4046
4047 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
4048
4049         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
4050         Extra debug output
4051         * tests/check/libs/gdp.c: (gst_dp_suite):
4052         Take a whack at fixing the ppc compile using a different define to
4053         disable the broken test.
4054
4055         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
4056         Remove excess g_print()
4057
4058 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
4059
4060         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
4061         Oops, meant to uncomment this line too to dampen the noise a bit.
4062
4063 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
4064
4065         * gst/parse/grammar.y:
4066         * gst/parse/parse.l:
4067         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
4068         (GST_START_TEST), (parse_suite):
4069         Fix some of the leaks exposed by extending the parse-launch testsuite,
4070         and move the 3 I can't figure out into a separate test that won't run
4071         the pipelines unless the appropriate line is uncommented.
4072
4073 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
4074
4075         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
4076           Requesting 0 bytes before the end of the file should result in
4077           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
4078           unit test.
4079
4080 2006-07-27  Wim Taymans  <wim@fluendo.com>
4081
4082         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
4083         Fix useless assert, a uint is always positive.
4084
4085         * gst/gststructure.c: (gst_structure_nth_field_name),
4086         (gst_structure_foreach), (gst_structure_map_in_place):
4087         Check input arguments for public functions to avoid obvious crashes.
4088
4089         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
4090         * plugins/elements/gstfakesink.h:
4091         Do less useless typechecking.
4092
4093 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
4094
4095         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
4096           Do not use mmap() by default since there are a number of error
4097           conditions that we would like to handle in a non-fatal way that
4098           will result in a SIGBUS if we use mmap(). Examples: external
4099           devices (USB harddrive, portable music player) being unplugged
4100           while in use; file on mounted CD/DVD that can't be read because
4101           the medium is partly damaged. Fixes #348455 and #348475.
4102
4103 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
4104
4105         * gst/gstquery.h:
4106         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
4107         rates are a gdouble
4108
4109 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
4110
4111         * gst/gstregistry.c:
4112           Move big documentation comment into class section header, so that it
4113           appears in the API docs.
4114
4115 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
4116
4117         * docs/gst/gstreamer-sections.txt:
4118         Oops. Commit the docs additions too for new API.
4119         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
4120
4121 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
4122
4123         * gst/gststructure.c: (gst_structure_id_set),
4124         (gst_structure_id_set_valist):
4125         * gst/gststructure.h:
4126         Add API for setting values into structures without performing
4127         a quark lookup, if the appropriate quark is already known.
4128
4129         API: gst_structure_id_set
4130         API: gst_structure_id_set_valist
4131
4132         * gst/parse/grammar.y:
4133         * gst/parse/parse.l:
4134         Remove some dead code shown by the coverage information.
4135         Don't throw a critical g_warning when encountering a syntax error,
4136         just warn and let the normal error path handle it.
4137
4138         * plugins/elements/gstelements.c:
4139         Bump the rank of filesink up to PRIMARY so that it is preferred over
4140         gnomevfssink for file:// sink uri's
4141
4142         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
4143         (GST_START_TEST), (run_delayed_test),
4144         (gst_parse_test_element_base_init),
4145         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
4146         (gst_parse_test_element_change_state),
4147         (gst_register_parse_element), (parse_suite):
4148         Beef up the tests for parse syntax to check that more error cases
4149         fail as they are supposed to. Increases the test coverage a bit.
4150
4151 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
4152
4153         * docs/manual/basics-elements.xml:
4154           Fix gst_element_link() example.
4155
4156         * gst/gstutils.c:
4157           Mention in API docs that one should usually gst_bin_add()
4158           elements to a bin or pipeline before doing the linking.
4159           
4160 2006-07-26  Wim Taymans  <wim@fluendo.com>
4161
4162         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
4163         (gst_subbuffer_get_type), (gst_buffer_create_sub):
4164         Avoid function call for known types by keeping the buffer and
4165         subbuffer GType global.
4166
4167         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
4168         Random silly optimisations in read() path.
4169
4170 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
4171
4172         * tools/gst-launch.c: (main):
4173           If the top-level of the parse is a normal bin, it doesn't do the
4174           right logic to run as a top-level element, so place it inside a
4175           pipeline.
4176
4177 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
4178
4179         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
4180           Remove superfluous g_object_notify() calls, GObject does
4181           that for us automatically.
4182
4183 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
4184
4185         * gst/gstinfo.h:
4186           on Win32, use dllspec to export the debug category symbols
4187
4188 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
4189
4190         * gst/gsttaglist.c: (_gst_tag_initialize):
4191           Allow more than one GST_TAG_IMAGE per taglist.
4192
4193 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4194
4195         * gst/gstminiobject.c:
4196           update docs
4197         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
4198         (gst_fd_src_create):
4199           log recurring events at LOG level
4200           add more debug for when the fd gets set
4201
4202 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
4203
4204         * gst/gstparse.c: (gst_parse_launch):
4205           Also remove reentrance checks if flex is MT safe (#348179)
4206          Fix my empty ChangeLog entry below
4207
4208 2006-07-21  Andy Wingo  <wingo@pobox.com>
4209
4210         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
4211
4212         * libs/gst/check/Makefile.am
4213         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
4214         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
4215         * libs/gst/check/gstbufferstraw.h:
4216         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
4217         functions, thus proving I am still a GStreamer haxor. OK I wrote
4218         them a long time ago, but anyways.
4219
4220 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
4221
4222         * configure.ac:
4223         * gst/gstparse.c: (gst_parse_launch):
4224           Check for flex version and omit mutex if we have a MT save flex
4225           (fixes #348179)
4226
4227 2006-07-21  Wim Taymans  <wim@fluendo.com>
4228
4229         * gst/gstparse.c: (gst_parse_launch):
4230         Protect recursive calls to _parse with a recursive mutex
4231         and busy flag.
4232
4233 2006-07-21  Wim Taymans  <wim@fluendo.com>
4234
4235         * tests/check/gst/gstpad.c: (GST_START_TEST):
4236         Fix leak in test.
4237
4238 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
4239
4240         * gst/gstparse.c: (gst_parse_launch):
4241           Do not hang on recursive usage of gst_parse_launch()
4242
4243 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
4244
4245         * gst/gsttaglist.c:
4246           Add some more docs, comments and FIXME 0.11s here and there
4247           and also fix some typos.
4248
4249 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
4250
4251         * gst/gstsegment.h:
4252           Convert tabs to spaces for better readability. 
4253
4254 2006-07-20  Edward Hervey  <edward@fluendo.com>
4255
4256         * tests/check/libs/gdp.c: (gst_dp_suite):
4257         the test_buffer test fails at line 140 on ppc64 at the following
4258         check:
4259         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
4260                 GST_BUFFER_FLAG_IN_CAPS),
4261                 "GST_BUFFER_IN_CAPS flag should have been copied !");
4262         See bug #348114 for more details.
4263
4264 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
4265
4266         * docs/pwg/advanced-scheduling.xml:
4267         * gst/gstpad.c:
4268           Fix typos (#348000).
4269
4270 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
4271
4272         * docs/pwg/intro-basics.xml:
4273           Fix wrong links (#347927).
4274
4275 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
4276
4277         * gst/gstregistry.h:
4278         * gst/gstregistryxml.c: (load_feature),
4279         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
4280         * win32/common/config.h:
4281           make --disable-index work (#342564)
4282
4283 2006-07-18  Wim Taymans  <wim@fluendo.com>
4284
4285         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4286
4287         * gst/Makefile.am:
4288         * gst/gsttrace.h:
4289         The attached patch adds two missing defines to gsttrace.h when tracing
4290         is disabled.  It also corrects one existing define.
4291         Fixes #347756.
4292
4293 2006-07-17  Wim Taymans  <wim@fluendo.com>
4294
4295         * docs/gst/gstreamer-sections.txt:
4296         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
4297         * gst/gst.h:
4298         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
4299         Add two functions to check and change the SIGSEGV behaviour
4300         when loading plugins.
4301         Don't mess with the SIGSEGV handler when we were told not to.
4302         Fixes #347794.
4303         API: gst_segtrap_is_enabled
4304         API: gst_segtrap_set_enabled
4305
4306 2006-07-14  Wim Taymans  <wim@fluendo.com>
4307
4308         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
4309         * tests/check/elements/filesrc.c: (GST_START_TEST):
4310         Revert fix for regression in #347408 after release.
4311
4312 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
4313
4314         Patch by: Antoine Tremblay <hexa00 at gmail com>
4315
4316         * gst/gstutils.c: (gst_element_unlink):
4317           Free iterator when done (#347311).
4318
4319         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4320           And add a test case for this.
4321
4322 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
4323
4324         * configure.ac:
4325         Bump nano back to CVS
4326
4327 === release 0.10.9 ===
4328
4329 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
4330
4331         * configure.ac:
4332           releasing 0.10.9, "On the road again"
4333
4334 2006-07-13  Wim Taymans  <wim@fluendo.com>
4335
4336         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
4337         * tests/check/elements/filesrc.c: (GST_START_TEST):
4338         Revert pull-0 fix for release. Disable check. Fixes #347408.
4339
4340 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4341
4342         * libs/gst/dataprotocol/dataprotocol.c:
4343         (gst_dp_event_from_packet_1_0):
4344           Fixes #347337: failure to deserialize event packets with
4345           empty payload (only event type)
4346
4347 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4348
4349         * gst/Makefile.am:
4350           do not install a .c file in the header directory
4351
4352 2006-07-13  Edward Hervey  <edward@fluendo.com>
4353
4354         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
4355         GhostPad no longer implicitely use the padtemplates of the targets.
4356         Fixes #347384
4357
4358 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
4359
4360         * gst/gstvalue.c: (gst_value_compare_list),
4361         (gst_value_compare_array), (_gst_value_initialize):
4362         * tests/check/gst/gstvalue.c: (GST_START_TEST):
4363         Make GstValueArray comparison be order dependent as designed.
4364         Add checks for value lists and value array comparisons.
4365         Fixes #347221
4366
4367 2006-07-11  Edward Hervey  <edward@fluendo.com>
4368
4369         * gst/gstbin.c: (activate_pads),
4370         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
4371         (gst_bin_change_state_func):
4372         (de)activate src pads before calling state_change on the childs.
4373         This is to avoid the case where a src ghostpad is blocked (holding the
4374         stream lock), which would block the deactivation of the ghostpad's
4375         target pad.
4376         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
4377         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
4378         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
4379         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
4380         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
4381         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
4382         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
4383         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
4384         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
4385         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
4386         (gst_ghost_pad_class_init),
4387         (gst_ghost_pad_internal_do_activate_push),
4388         (gst_ghost_pad_internal_do_activate_pull),
4389         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
4390         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
4391         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
4392         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
4393         GhostPads now create their internal GstProxyPad at creation (and not
4394         when they're linked, as it was being done previously).
4395         The internal and target pads are linked straight away.
4396         The data will also travel through the other pad in order to make
4397         pad blocking and probes non-hackish (the probe/block now really happens
4398         on the GhostPad and not on the target).
4399         * gst/gstpad.c: (gst_pad_set_blocked_async),
4400         (gst_pad_link_prepare), (gst_pad_push_event):
4401         Remove previous ghostpad cruft.
4402         * gst/gstutils.c: (gst_pad_add_data_probe),
4403         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
4404         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
4405         (gst_pad_remove_buffer_probe):
4406         Remove previous ghost pad cruft.
4407         Added more detailed debug statements.
4408         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
4409         Fix the testsuite for refcounting changes.
4410         The comments about who has references were correct, but the refcount
4411         being checked wasn't the same (!?!).
4412
4413         Fixes #341029
4414
4415 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
4416
4417         * docs/gst/gstreamer-sections.txt:
4418         * gst/gstconfig.h.in:
4419         More docs for configuration options, add docs to gtk-doc.
4420
4421 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
4422
4423         * gst/Makefile.am:
4424         * gst/gstconfig.h.in:
4425         * win32/common/config.h:
4426         Fix build when disabling tracing (fixes #344016). Also start to document
4427         the defines that disable the sub-systems.
4428
4429 2006-07-10  Edward Hervey  <edward@fluendo.com>
4430
4431         * gst/gst.c: (ensure_current_registry_forking):
4432         let's make valgrind happy...
4433
4434 2006-07-09  Wim Taymans  <wim@fluendo.com>
4435
4436         * gst/gstelement.c: (activate_pads),
4437         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
4438         Better pad activation code: Reset the collect value too on resync.
4439         Add some comments.
4440
4441 2006-07-09  Wim Taymans  <wim@fluendo.com>
4442
4443         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
4444         (gst_pad_activate_push):
4445         Use some more macros where it makes sense.
4446         Allow pad mode switching instead of asserting. When a pad
4447         is activated in one mode and we activate it in another, 
4448         deactivate it first before activating it in a different mode.
4449         Fixes #329198.
4450
4451 2006-07-08  Andy Wingo  <wingo@pobox.com>
4452
4453         * tools/gst-launch.c (main): Handle err == NULL.
4454
4455         * gst/gst.c (init_post, ensure_current_registry)
4456         (ensure_current_registry_forking)
4457         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
4458         factoring out the registry scanning into separate functions. Don't
4459         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
4460         Better environment var name/interface suggestions accepted.
4461
4462 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
4463
4464         * gst/gstobject.c: (gst_object_set_name_default),
4465         (gst_object_set_name):
4466           Random micro-optimisation: don't use a hash table
4467           with strings as keys and the usual strdup/strcmp
4468           involved, but rather just use the GQuark of the
4469           type name as key, since it needs to be looked up
4470           anyway to get the type name string.
4471
4472         * tests/check/gst/gstobject.c: (GST_START_TEST):
4473           Fix various leaks.
4474
4475 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
4476
4477         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
4478         (gst_bin_iterate_all_by_interface):
4479           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
4480           GTypes are gulongs and thus the top 4 bytes might be cut
4481           off on some platforms when doing GPOINTER_TO_INT, leading
4482           to invalid GTypes and bad things happening (see RH bug #179654).
4483           Also add a check to make sure the type passed in is really
4484           an interface type.
4485
4486 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
4487
4488         * .cvsignore:
4489           Ignore more.
4490
4491 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
4492
4493         * Makefile.am:
4494         * configure.ac:
4495         * gst-element-check.m4:
4496         * gst-element-check.m4.in:
4497           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
4498           instead of the unversioned gst-inspect (#324176, #168659).
4499
4500 2006-07-06  Wim Taymans  <wim@fluendo.com>
4501
4502         * gst/gstmessage.h:
4503         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
4504         warnings.
4505
4506 2006-07-06  Wim Taymans  <wim@fluendo.com>
4507
4508         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4509         (gst_base_src_wait), (gst_base_src_update_length),
4510         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
4511         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
4512         (gst_base_src_loop), (gst_base_src_start),
4513         (gst_base_src_activate_pull):
4514         Update docs.
4515         blocksize == 0 now means the default blocksize when working in push
4516         based mode.
4517         Remove some pointless asserts in _wait function.
4518         Fix offset/length calculations and EOS handling. We can now pull 0
4519         bytes as well, which is allowed.
4520         use _check_get_range() to decide if we can operate in _pull based
4521         mode.
4522         Fix refcounting leak when check_get_range function was not 
4523         implemented.
4524         API GstBaseSrc::blocksize range can be 0 too now (default)
4525
4526         * tests/check/elements/filesrc.c: (GST_START_TEST),
4527         (filesrc_suite):
4528         Added check to test _get_range() behaviour.
4529
4530 2006-07-06  Wim Taymans  <wim@fluendo.com>
4531
4532         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
4533         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
4534         (gst_pad_pull_range):
4535         * gst/gstpad.h:
4536         Lots of comments and docs added to the pad functions.
4537         Flesh out the expected behaviour of the get_range() functions.
4538
4539 2006-07-06  Wim Taymans  <wim@fluendo.com>
4540
4541         * gst/gstbus.h:
4542         * gst/gstclock.h:
4543         * gst/gstevent.h:
4544         * gst/gstiterator.h:
4545         * gst/gstpad.h:
4546         * gst/gstplugin.h:
4547         * gst/gsttask.h:
4548         Remove comma at end of enumerator list. 
4549
4550 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
4551
4552         * win32/common/libgstbase.def:
4553         * win32/common/libgstdataprotocol.def:
4554         * win32/common/libsgtreamer.def:
4555         Add new exported functions.
4556
4557 2006-07-05  Wim Taymans  <wim@fluendo.com>
4558
4559         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
4560         Add some more docs here and there.
4561
4562 2006-07-05  Wim Taymans  <wim@fluendo.com>
4563
4564         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
4565         (gst_base_sink_loop), (gst_base_sink_get_position):
4566         When operating in pull mode update the offset so that we
4567         read sequentially.
4568
4569 2006-07-05  Wim Taymans  <wim@fluendo.com>
4570
4571         * gst/gstregistryxml.c: (read_string):
4572         Avoid strdup. (will happen in libxml, but hey!)
4573
4574         * gst/gsturi.c:
4575         Add some more docs.
4576
4577 2006-07-05  Wim Taymans  <wim@fluendo.com>
4578
4579         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
4580         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
4581         (gst_buffer_suite):
4582         No point in checking if the size of the subbuffer > 0, the
4583         code handles it correclty as demonstrated by unit test.
4584         Also add a unit test for the zero sized _new_and_alloc and
4585         _copy. Fixes #346663.
4586
4587 2006-07-05  Wim Taymans  <wim@fluendo.com>
4588
4589         * libs/gst/base/gstbasetransform.c:
4590         (gst_base_transform_prepare_output_buffer),
4591         (gst_base_transform_buffer_alloc),
4592         (gst_base_transform_handle_buffer):
4593         Make sure the buffer we pass to transform_ip has a refcount of
4594         1 and thus is writable. Fixes #343196
4595
4596 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
4597
4598         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
4599         (gst_file_src_init), (gst_file_src_set_property),
4600         (gst_file_src_get_property), (gst_file_src_map_region):
4601         * plugins/elements/gstfilesrc.h:
4602         Add "sequential" property, off by default, to use madvise and hint
4603         to the kernel that sequential access is desired.
4604         Touch all retrieved pages by default to ensure they are pulled
4605         into memory. (Closes #345720)
4606
4607 2006-07-03  Wim Taymans  <wim@fluendo.com>
4608
4609         * docs/design/part-block.txt:
4610         * docs/design/part-dynamic.txt:
4611         Small docs updates.
4612
4613 2006-07-03  Wim Taymans  <wim@fluendo.com>
4614
4615         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
4616         (gst_caps_unref), (gst_static_caps_get),
4617         (gst_caps_append_structure):
4618         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
4619         Use GSlice when the glib we build against is >= 2.10
4620
4621 2006-07-03  Wim Taymans  <wim@fluendo.com>
4622
4623         * gst/gstelement.c: (gst_element_pads_activate):
4624         Small cleanup in pad activation code.
4625
4626 2006-07-03  Wim Taymans  <wim@fluendo.com>
4627
4628         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4629
4630         * gst/gst-i18n-app.h:
4631         * gst/gst-i18n-lib.h:
4632         * tools/gst-inspect.c: (print_signal_info):
4633         The attached patch will make the inclusion of gettext.h unconditional in
4634         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
4635         libintl.h in tools/gst-inspect.c.
4636         This allows use of --disable-nls again and fixes #344642.
4637
4638 2006-07-03  Edward Hervey  <edward@fluendo.com>
4639
4640         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
4641         Implement pad blocking on events according to part-block.txt.
4642         More comments on behaviour.
4643         * tests/check/gst/gstevent.c: (test_event):
4644         Send event to peer pad of blocked pad (else it will block).
4645
4646 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4647
4648         * libs/gst/check/gstcheck.c: (gst_check_message_error),
4649         (gst_check_run_suite):
4650           if we get the wrong message, give us the types as string
4651         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
4652           Fix a translatable
4653         * tests/check/elements/filesrc.c: (GST_START_TEST):
4654           add a test for trying to open a non-existing file
4655
4656 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4657
4658         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
4659           add a test for adding self
4660
4661 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4662
4663         * libs/gst/check/gstcheck.h:
4664           add some assert_ as alias for fail_unless_*
4665         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
4666           increase test coverage
4667
4668 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4669
4670         * Makefile.am:
4671           include lcov.mak for lcov coverage generation
4672         * tools/Makefile.am:
4673           add to CLEANFILES
4674
4675 2006-07-02  Edward Hervey  <edward@fluendo.com>
4676
4677         * tests/check/elements/.cvsignore:
4678         moaping
4679
4680 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4681
4682         * configure.ac:
4683           don't set CFLAGS and friends for gcov, done from GST_GCOV now
4684         * tests/check/Makefile.am:
4685           clean up gcov files
4686
4687 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4688
4689         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
4690           remove gst_caps_simplify; it was not declared and not used
4691           and deprecated in 0.8
4692
4693 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4694
4695         * docs/faq/gst-uninstalled:
4696           don't put empty paths on PYTHONPATH
4697         * docs/gst/gstreamer-sections.txt:
4698           remove some symbols that are not there
4699
4700 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4701
4702         * gst/gstcaps.c: (gst_caps_compare_structures):
4703           whitespace fixes
4704         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
4705         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
4706           add more tests
4707
4708 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4709
4710         * libs/gst/dataprotocol/Makefile.am:
4711           build dataprotocol test by linking to the lib, instead of
4712           compiling the source, so we get coverage
4713         * tests/check/Makefile.am:
4714         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
4715         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
4716           add a test for filesrc
4717
4718 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4719
4720         * tests/check/gst/gststructure.c: (GST_START_TEST),
4721         (gst_structure_suite):
4722           Push coverage from 59.04% to 70.00%
4723
4724 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4725
4726         * tests/check/Makefile.am:
4727           gst-inspect every element; this makes sure that we also get
4728           coverage on element's get/set functions
4729
4730 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4731
4732         * configure.ac:
4733           set CFLAGS and friends to -O0 if gcov is being used
4734           add GCOV LIBS
4735         * gst/Makefile.am:
4736         * libs/gst/base/Makefile.am:
4737         * libs/gst/check/Makefile.am:
4738         * libs/gst/controller/Makefile.am:
4739         * libs/gst/dataprotocol/Makefile.am:
4740         * libs/gst/net/Makefile.am:
4741         * plugins/elements/Makefile.am:
4742         * plugins/indexers/Makefile.am:
4743           add makefile rules to generate gcov data and clean up
4744         * tests/check/Makefile.am:
4745           add a coverage target that generates an html overview
4746           of coverage data
4747
4748 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4749
4750         * tests/check/elements/fakesink.c:
4751         * tests/check/elements/fakesrc.c:
4752         * tests/check/elements/fdsrc.c:
4753         * tests/check/elements/identity.c:
4754         * tests/check/generic/sinks.c: (gst_sinks_suite):
4755         * tests/check/generic/states.c:
4756         * tests/check/gst/gst.c:
4757         * tests/check/gst/gstabi.c:
4758         * tests/check/gst/gstbin.c:
4759         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
4760         * tests/check/gst/gstbus.c: (gst_bus_suite):
4761         * tests/check/gst/gstcaps.c: (GST_START_TEST):
4762         * tests/check/gst/gstelement.c:
4763         * tests/check/gst/gstevent.c: (gst_event_suite):
4764         * tests/check/gst/gstghostpad.c:
4765         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
4766         * tests/check/gst/gstmessage.c: (gst_message_suite):
4767         * tests/check/gst/gstminiobject.c:
4768         * tests/check/gst/gstobject.c:
4769         * tests/check/gst/gstpad.c:
4770         * tests/check/gst/gstpipeline.c:
4771         * tests/check/gst/gstplugin.c:
4772         * tests/check/gst/gstquery.c: (gst_query_suite):
4773         * tests/check/gst/gstsegment.c: (gst_segment_suite):
4774         * tests/check/gst/gststructure.c:
4775         * tests/check/gst/gstsystemclock.c:
4776         * tests/check/gst/gsttag.c:
4777         * tests/check/gst/gsttask.c: (gst_task_suite):
4778         * tests/check/gst/gstutils.c:
4779         * tests/check/gst/gstvalue.c:
4780         * tests/check/libs/adapter.c:
4781         * tests/check/libs/basesrc.c:
4782         * tests/check/libs/collectpads.c:
4783         * tests/check/libs/controller.c:
4784         * tests/check/libs/gdp.c: (gst_dp_suite):
4785         * tests/check/libs/gstnetclientclock.c:
4786         * tests/check/libs/gstnettimeprovider.c:
4787         * tests/check/libs/libsabi.c: (libsabi_suite):
4788         * tests/check/libs/typefindhelper.c:
4789         * tests/check/pipelines/cleanup.c:
4790         * tests/check/pipelines/parse-launch.c:
4791         * tests/check/pipelines/simple-launch-lines.c:
4792         * tests/check/pipelines/stress.c: (stress_suite):
4793           use the new macro
4794
4795 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4796
4797         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
4798         * libs/gst/check/gstcheck.h:
4799           create a macro and function so that the simple unit test
4800           case can be just one macro to create main()
4801
4802 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
4803
4804         * gst/gstbin.c: (gst_bin_restore_thyself):
4805         * gst/gstxml.c: (gst_xml_make_element):
4806           Fix deserialisation from XML. Set parent manually
4807           instead of using gst_bin_add(), since gst_bin_add()
4808           will unlink all pads of the element being added.
4809           Fixes #341667.
4810
4811 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
4812
4813         Patch by: Peter Kjellerstedt <pkj at axis com>
4814
4815         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
4816           Fix missing g_strdup() and double free when using the
4817           --gst-plugin-load command line option (#346097).
4818
4819 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
4820
4821         * gst/gstinfo.c:
4822           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
4823
4824         * libs/gst/net/gstnetclientclock.c:
4825         * libs/gst/net/gstnettimeprovider.c:
4826           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
4827
4828 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
4829
4830         * docs/manual/advanced-dataaccess.xml:
4831           Fix buffer probe example compilation in
4832           ADM (#345708).
4833         
4834 2006-06-22  Edward Hervey  <edward@fluendo.com>
4835
4836         * gst/gstelement.c: (gst_element_pads_activate):
4837         We need to deactivate src pads first and then sink pads.
4838         The reason is the src pads might be blocking while holding the streaming
4839         lock, so we need to deactivate them first so that deactivating the sink
4840         pads doesn't block (since it will require the streaming lock).
4841
4842 2006-06-22  Wim Taymans  <wim@fluendo.com>
4843
4844         * libs/gst/base/gstbasetransform.c:
4845         (gst_base_transform_buffer_alloc):
4846         Forgot to remove two unneeded unrefs.
4847         Simplify a check _is_equal allready checks the obvious case.
4848
4849 2006-06-22  Wim Taymans  <wim@fluendo.com>
4850
4851         * docs/design/part-block.txt:
4852         Some docs about what pad_block should do.
4853
4854 2006-06-22  Wim Taymans  <wim@fluendo.com>
4855
4856         * gst/gstcaps.c: (gst_caps_replace):
4857         Fix crasher when passed NULL. Doc clarification.
4858         Optimize for the trivial case.
4859
4860         * gst/gstpipeline.c: (gst_pipeline_change_state):
4861         Small cleanups.
4862
4863         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
4864         Small documentation cleanup.
4865
4866         * libs/gst/base/gstbasetransform.c:
4867         (gst_base_transform_buffer_alloc):
4868         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
4869         is what we need and it avoids a whole lot of redundant 
4870         refcount operations.
4871
4872 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
4873
4874         Patch by: Philip Jägenstedt  <philip at lysator liu se>
4875
4876         * docs/manual/advanced-dataaccess.xml:
4877           Fix 'Embedding static elements' section to use
4878           GST_PLUGIN_DEFINE_STATIC (#345607).
4879
4880 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
4881
4882         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
4883           Attempt to 'fix' spuriously failing test case: it seems like the
4884           timeout of half a second is simply too small when the system is under
4885           load otherwise, and the timeout doesn't really seem to serve any
4886           particular purpose here. Give the pipeline a few seconds to preroll
4887           first, and then give it another half a second to go from PAUSED to
4888           PLAYING and marshal the message into the main thread.
4889
4890 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
4891
4892         * tools/gst-feedback-m.m:
4893           Don't only use unversioned tools, try versioned tools as well
4894           (#345086).
4895
4896 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
4897
4898         * gst/gstbus.c: (gst_bus_class_init):
4899           Fix some typos, make docs more explicit.
4900
4901 2006-06-20  Wim Taymans  <wim@fluendo.com>
4902
4903         * tests/check/gst/gstghostpad.c: (block_callback),
4904         (GST_START_TEST), (gst_ghost_pad_suite):
4905         Added some more ghostpad tests, mainly blocking
4906         and probes.
4907
4908 2006-06-16  Wim Taymans  <wim@fluendo.com>
4909
4910         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
4911         (gst_file_sink_close_file), (gst_file_sink_do_seek),
4912         (gst_file_sink_event), (gst_file_sink_render):
4913         * plugins/elements/gstfilesink.h:
4914         Check if we can seek in the file instead of assuming
4915         we always can. Post an error when we are asked to seek in a
4916         non-seekable file (like a fifo). Fixes #343312.
4917         Some cleanups.
4918
4919 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
4920
4921         * tools/gst-launch.1.in:
4922           Un-garble (fourcc) bit in filtered caps section.
4923
4924 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
4925
4926         * docs/manual/advanced-autoplugging.xml:
4927         * docs/manual/basics-helloworld.xml:
4928         * docs/manual/highlevel-components.xml:
4929           Don't leak bus reference in sample code.
4930
4931 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
4932
4933         * autogen.sh:
4934           Add default for new --enable-plugin-docs switch.
4935
4936         * configure.ac:
4937           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
4938           Fixes #344039.
4939
4940         * docs/Makefile.am:
4941           Use new ENABLE_PLUGIN_DOCS conditional.
4942
4943 2006-06-14  Wim Taymans  <wim@fluendo.com>
4944
4945         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
4946         Make it clear with a FIXME and a real define what the #if 0
4947         previously disabled.
4948
4949 2006-06-14  Wim Taymans  <wim@fluendo.com>
4950
4951         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
4952         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
4953         * libs/gst/base/gstbasetransform.c:
4954         (gst_base_transform_sink_eventfunc):
4955         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
4956         Don't randomly and silently reset a segment when the format 
4957         changes as this is a bug somewhere upstream. Fixes #330379.
4958
4959 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
4960
4961         Patch by: Wouter Paesen  <wouter at kangaroot net>
4962
4963         * libs/gst/controller/gstcontroller.c:
4964         (gst_controlled_property_new):
4965           Fix controlling of float properties (#344849).
4966
4967         * tests/check/libs/controller.c:
4968         (gst_test_mono_source_get_property),
4969         (gst_test_mono_source_set_property),
4970         (gst_test_mono_source_class_init), (GST_START_TEST):
4971           While we're at it, add some float stuff to unit test.
4972
4973 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4974
4975         * docs/README:
4976         * docs/images/gdp-header.svg:
4977           add a gdp image
4978         * docs/libs/Makefile.am:
4979         * docs/libs/gdp-header.png:
4980         * libs/gst/dataprotocol/dataprotocol.c:
4981           add it to the API docs
4982         * docs/manual/intro-motivation.xml:
4983           fix typo
4984
4985 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
4986
4987         * gst/gst.c: (scan_and_update_registry), (init_post):
4988           If the fork()'ed child process can't write the updated registry cache
4989           file to disk for some reason, make it exit with a failure exit code,
4990           so that the parent can then re-scan the plugins itself and update the
4991           registry structures in memory and work with that (rather than failing
4992           when creating elements because seemingly no plugins are available).
4993           Refactor registry scanning code into separate function for this and
4994           also separate fork() and non-fork() code paths. Fixes #344748.
4995
4996 2006-06-13  Wim Taymans  <wim@fluendo.com>
4997
4998         * docs/manual/advanced-dataaccess.xml:
4999         Fix wrong PluginDesc. Fixes #344755.
5000
5001 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
5002
5003         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
5004           Fix silly bug that prevented us from creating
5005           ~/.gstreamer-0.10 and writing the registry in one
5006           go (the first call to g_mkstemp() would overwrite the
5007           placeholder in the template string, so the second call
5008           to g_mkstemp() after creating the missing directory
5009           would then error out with 'invalid argument').
5010
5011 2006-06-13  Edward Hervey  <edward@fluendo.com>
5012
5013         * gst/gst.c: (init_post):
5014         Free string.
5015
5016 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5017
5018         * gst/glib-compat-private.h:
5019         * gst/glib-compat.c:
5020         * gst/glib-compat.h:
5021         * gst/gstvalue.c: (gst_value_serialize_flags):
5022           remove GLib 2.6 compatibility code
5023
5024 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
5025
5026         * gst/parse/Makefile.am:
5027           Fix build with 'make -j N' even more (#340016).
5028
5029 2006-06-12  Wim Taymans  <wim@fluendo.com>
5030
5031         * docs/gst/gstreamer-sections.txt:
5032         Fix docs.
5033
5034 2006-06-12  Wim Taymans  <wim@fluendo.com>
5035
5036         * gst/gstsegment.c: (gst_segment_set_duration),
5037         (gst_segment_set_last_stop), (gst_segment_set_seek),
5038         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
5039         (gst_segment_to_running_time), (gst_segment_clip):
5040         Use G_UNLIKELY to help the compiler a bit.
5041
5042 2006-06-12  Wim Taymans  <wim@fluendo.com>
5043
5044         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
5045
5046         * gst/gstevent.c: (gst_event_get_type):
5047         * gst/gstmessage.c:
5048         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
5049         (gst_pad_push):
5050         constify quark registration strings. Fixes #344115
5051         Avoid unneeded type checking is _pad_push() by internally
5052         calling gst_pad_chain_unchecked().
5053
5054 2006-06-12  Wim Taymans  <wim@fluendo.com>
5055
5056         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
5057         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
5058         (gst_subbuffer_finalize), (gst_buffer_create_sub),
5059         (gst_buffer_is_span_fast), (gst_buffer_span):
5060         Init _type for consistency.
5061         Use _FLAGS macro to avoid type check.
5062         Avoid unneeded type checks in subbufer code.
5063
5064 2006-06-12  Wim Taymans  <wim@fluendo.com>
5065
5066         * gst/gst.c: (gst_debug_help):
5067         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
5068         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
5069         (gst_plugin_feature_list_free):
5070         * gst/gstregistry.c: (gst_registry_add_plugin),
5071         (gst_registry_add_feature), (gst_registry_plugin_filter),
5072         (gst_registry_feature_filter), (gst_registry_find_plugin),
5073         (gst_registry_find_feature), (gst_registry_get_plugin_list),
5074         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
5075         * gst/gstregistryxml.c: (load_feature),
5076         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
5077         * gst/gstminiobject.c: (gst_mini_object_unref),
5078         (gst_mini_object_replace), (gst_value_mini_object_free),
5079         (gst_value_mini_object_copy):
5080         Use _CAST macros to avoid unneeded type checking.
5081         Added some more G_UNLIKELY.
5082
5083 2006-06-12  Wim Taymans  <wim@fluendo.com>
5084
5085         * gst/gstbuffer.h:
5086         Avoid unneeded type checking.
5087         API: GST_BUFFER_IS_DISCONT
5088
5089         * gst/gstminiobject.h:
5090         Avoid type check in flag accessor.
5091
5092         * gst/gstelementfactory.h:
5093         * gst/gstplugin.h:
5094         * gst/gstpluginfeature.h:
5095         Add _CAST macros.
5096         API: GST_ELEMENT_FACTORY_CAST
5097         API: GST_PLUGIN_CAST
5098         API: GST_PLUGIN_FEATURE_CAST
5099
5100 2006-06-12  Wim Taymans  <wim@fluendo.com>
5101
5102         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
5103         (gst_object_unref):
5104         Add G_UNLIKELY in type registration.
5105         Avoid type check in _ref/_unref since that is also
5106         done in glib.
5107
5108 2006-06-12  Wim Taymans  <wim@fluendo.com>
5109
5110         * gst/gsterror.c: (gst_g_error_get_type):
5111         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
5112         (gst_static_pad_template_get_type):
5113         * gst/gsttaglist.c: (gst_tag_list_get_type):
5114         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
5115         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
5116         * gst/gsturi.c: (gst_uri_handler_get_type):
5117         * gst/gstvalue.c: (gst_date_get_type):
5118         * gst/gstxml.c: (gst_xml_get_type):
5119         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
5120         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
5121         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
5122         Add G_UNLIKELY in type registration.
5123
5124 2006-06-12  Wim Taymans  <wim@fluendo.com>
5125
5126         * tools/gst-inspect.c: (print_signal_info):
5127         Properly print enum values.
5128
5129 2006-06-12  Wim Taymans  <wim@fluendo.com>
5130
5131         * gst/gstinfo.c: (gst_debug_set_active),
5132         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
5133         * gst/gstinfo.h:
5134         Add some G_[UN]LIKELY.
5135         Maintain __gst_debug_min to avoid formatting the arguments of
5136         debug messages that will be dropped anyway to avoid a lot of 
5137         overhead from the debugging system.
5138
5139 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
5140
5141         * po/POTFILES.in:
5142         * po/POTFILES.skip:
5143           add missing files containing translatable strings, tell intltool about
5144           one exception
5145
5146 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
5147
5148         * tests/check/libs/.cvsignore:
5149         add test-binary to ignore list
5150
5151 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
5152
5153         * docs/libs/gstreamer-libs-docs.sgml:
5154         reorder (put dp into a chapter) and indent
5155
5156 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5157
5158         * configure.ac:
5159           back to HEAD
5160
5161 === release 0.10.8 ===
5162
5163 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
5164
5165         * configure.ac:
5166           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
5167
5168 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5169
5170         * gst/gst.c: (init_post):
5171           move pid declaration to declaration block
5172
5173 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5174
5175         * gst/gst.c: (init_post):
5176           use _exit() instead of exit() in our forked child; this ensures
5177           that none of the registered exit handlers from whatever is using
5178           GStreamer get executed.  This fixes gnome-mixer-applet failing
5179           to load, because ORBit would shut down.
5180           Spotted by: Edward Hervey  <edward@fluendo.com>
5181           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
5182           Fixes #344474
5183
5184 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5185
5186         * configure.ac:
5187           back to TRUNK
5188
5189 === release 0.10.7 ===
5190
5191 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
5192
5193         * configure.ac:
5194           releasing 0.10.7, "Soepeke, ik zie ou"
5195
5196 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5197
5198         * configure.ac:
5199         * po/af.po:
5200         * po/az.po:
5201         * po/bg.po:
5202         * po/ca.po:
5203         * po/cs.po:
5204         * po/de.po:
5205         * po/en_GB.po:
5206         * po/fr.po:
5207         * po/it.po:
5208         * po/nb.po:
5209         * po/nl.po:
5210         * po/ru.po:
5211         * po/sq.po:
5212         * po/sr.po:
5213         * po/sv.po:
5214         * po/tr.po:
5215         * po/uk.po:
5216         * po/vi.po:
5217         * po/zh_CN.po:
5218         * po/zh_TW.po:
5219         * win32/common/config.h:
5220           0.10.6.2 prerelease
5221
5222 2006-06-07  Wim Taymans  <wim@fluendo.com>
5223
5224         * gst/gstindex.c: (gst_index_gtype_resolver):
5225         * tools/gst-xmlinspect.c: (print_plugin_info):
5226         Fix leak spotted by coverity checker. Fixes #343827
5227         Fix another other leak found by paolo borelli.
5228
5229 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5230
5231         * libs/gst/dataprotocol/dataprotocol.c:
5232         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
5233         (gst_dp_version_get_type), (gst_dp_init),
5234         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
5235         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
5236         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
5237         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
5238         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
5239         (gst_dp_packetizer_free):
5240         * libs/gst/dataprotocol/dataprotocol.h:
5241           API: add a GstDPPacketizer object, and create/free functions
5242           API: add GstDPVersion enum
5243           Add 1.0 event function that uses the string serialization
5244           Serialize more useful buffer flags
5245           Fixes #343988
5246
5247 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5248
5249         * tests/check/Makefile.am:
5250         * tests/check/gst/gstabi.c:
5251         * tests/check/gst/struct_ppc64.h:
5252         * tests/check/libs/libsabi.c:
5253         * tests/check/libs/struct_ppc64.h:
5254           add ppc64 structure sizes
5255
5256 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5257
5258         * tests/check/Makefile.am:
5259         * tests/check/gst/gstabi.c:
5260         * tests/check/gst/struct_x86_64.h:
5261         * tests/check/libs/libsabi.c:
5262         * tests/check/libs/struct_x86_64.h:
5263           generate and add structure size lists for x86_64
5264
5265 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5266
5267         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
5268         * libs/gst/check/gstcheck.h:
5269           factor out the method from tests that checks size of structures,
5270           and add code to generate the header containing these sizes
5271         * tests/check/gst/gstabi.c: (GST_START_TEST):
5272         * tests/check/gst/struct_i386.h:
5273         * tests/check/libs/libsabi.c: (GST_START_TEST):
5274         * tests/check/libs/struct_i386.h:
5275           use it
5276
5277 2006-06-06  Michael Smith  <msmith@fluendo.com>
5278
5279         * gst/gstsegment.h:
5280           Don't use c++-style comments, fixes #343929
5281
5282 2006-06-05  Edward Hervey  <edward@fluendo.com>
5283
5284         * gst/gst.c:
5285         plugin_paths is not used if we build without registry support.
5286
5287         * gst/gstsegment.c: (gst_segment_copy): 
5288         _copy() was always returning NULL...
5289
5290 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5291
5292         * libs/gst/dataprotocol/dataprotocol.c:
5293         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5294         (gst_dp_packet_from_event):
5295           factor out CRC code
5296
5297 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5298
5299         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
5300           make sure we unset caps
5301
5302 2006-06-02  Michael Smith  <msmith@fluendo.com>
5303
5304         * libs/gst/check/gstcheck.c: (gst_check_init),
5305         (gst_check_chain_func):
5306         * libs/gst/check/gstcheck.h:
5307           Add a cond/mutex to the check support lib, signal this whenever we
5308           add to the buffers list. This will allow tests to not busy-wait on
5309           the buffer-list.
5310
5311 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5312
5313         * libs/gst/dataprotocol/dataprotocol.c:
5314         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5315         (gst_dp_packet_from_event):
5316           factor out some common header init code
5317
5318 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5319
5320         * docs/libs/gstreamer-libs-sections.txt:
5321         * docs/libs/tmpl/gstdataprotocol.sgml:
5322         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
5323         * libs/gst/dataprotocol/dataprotocol.h:
5324           API: make gst_dp_crc() public
5325
5326 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
5327
5328         * plugins/indexers/gstindexers.c: (plugin_init):
5329         conditionally register fileindexer (fixes #343598)
5330
5331 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
5332
5333         * gst/gsttagsetter.h:
5334         Can't cast ifaces to a class
5335
5336         * libs/gst/net/gstnetclientclock.h:
5337         * libs/gst/net/gstnettimeprovider.h:
5338         * plugins/elements/gstfakesink.h:
5339         * plugins/elements/gstfakesrc.h:
5340         * plugins/elements/gstfdsink.h:
5341         * plugins/elements/gstfdsrc.h:
5342         * plugins/elements/gstfilesink.h:
5343         * plugins/elements/gstfilesrc.h:
5344         * plugins/elements/gstidentity.h:
5345         * plugins/elements/gstqueue.h:
5346         * plugins/elements/gsttee.h:
5347         * plugins/indexers/gstfileindex.c:
5348         * plugins/indexers/gstmemindex.c:
5349         * tests/old/examples/plugins/example.h:
5350         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
5351
5352 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5353
5354         * libs/gst/dataprotocol/dataprotocol.c:
5355         (gst_dp_header_from_buffer):
5356           make sure we zero the whole ABI-compatible area
5357
5358 2006-06-01  Wim Taymans  <wim@fluendo.com>
5359
5360         Patch by: Alessandro Decina <alessandro at nnva dot org>
5361
5362         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
5363         Make sure the EOS flag is cleared from pads after a flush
5364         or stop. Fixes #343538.
5365
5366         * tests/check/libs/collectpads.c: (GST_START_TEST),
5367         (gst_collect_pads_suite):
5368         Added test for collectpads reusage after EOS.
5369
5370 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
5371
5372         * gst/gst.c:
5373          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
5374         * win32/common/libgstbase.def:
5375          export gst_collect_pads_set_flushing
5376         * win32/common/libgstreamer.def:
5377          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
5378          gst_value_fraction_multiply
5379         * win32/vs6/gst_inspect.dsp:
5380          add a link to intl.lib
5381
5382 2006-05-30  Wim Taymans  <wim@fluendo.com>
5383
5384         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
5385         (gst_collect_pads_chain):
5386         Handle the case where a pad is removed from the collection
5387         that could cause the other pads to become collectable.
5388
5389 2006-05-30  Wim Taymans  <wim@fluendo.com>
5390
5391         * gst/gstelement.c:
5392         Clarify the use of _release_request_pad() and
5393         _get_request_pad() a bit better.
5394
5395         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
5396         (gst_adapter_take_buffer):
5397         Fix some doc and comment typos.
5398
5399 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5400
5401         * docs/gst/gstreamer-sections.txt:
5402         * docs/libs/gstreamer-libs-sections.txt:
5403           add declared symbols
5404
5405 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
5406
5407         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
5408         Add debug that can be enabled using a #define at the top of the file,
5409         for dumping stats about how late/early we were when waking up from
5410         waiting on the clock.
5411
5412 2006-05-30  Wim Taymans  <wim@fluendo.com>
5413
5414         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
5415         When rebuilding the pad list, don't leak the previous list.
5416
5417 2006-05-30  Wim Taymans  <wim@fluendo.com>
5418
5419         Patch by: Lutz Mueller <lutz at topfrose dot de>
5420
5421         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5422         (gst_base_src_get_query_types), (gst_base_src_update_length):
5423         Publish supported query types.
5424         Update last_stop field in get_range mode so the position
5425         query works. Fixes #342321.
5426
5427 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
5428
5429         * docs/gst/gstreamer-sections.txt:
5430         * gst/gsttaglist.c: (_gst_tag_initialize):
5431         * gst/gsttaglist.h:
5432           API: add GST_TAG_PREVIEW_IMAGE (#343341).
5433
5434 2006-05-30  Wim Taymans  <wim@fluendo.com>
5435
5436         Patch by: Alessandro Decina <alessandro at nnva dot org>
5437
5438         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
5439         Unlock mutex when removing an unknown pad.
5440         Fixes #343334.
5441
5442         * tests/check/Makefile.am:
5443         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
5444         (push_event), (setup), (teardown), (GST_START_TEST),
5445         (gst_collect_pads_suite), (main):
5446         Added collecpads check, disabled for now as check crashes for
5447         some reason.
5448
5449 2006-05-29  Wim Taymans  <wim@fluendo.com>
5450
5451         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
5452         Don't leak pads lists.
5453
5454 2006-05-29  Wim Taymans  <wim@fluendo.com>
5455
5456         * docs/libs/gstreamer-libs-sections.txt:
5457         * libs/gst/base/gstcollectpads.c:
5458         (gst_collect_pads_set_flushing_unlocked),
5459         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
5460         (gst_collect_pads_stop):
5461         * libs/gst/base/gstcollectpads.h:
5462         API: gst_collect_pads_set_flushing()
5463         Added api to set the pads to flushing, useful for seeking
5464         code in elements using collectpads.
5465         Clear segment when receiving a flush.
5466
5467 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
5468
5469         * gst/gst.c: (add_path_func), (init_post):
5470           Don't scan registry paths passed via --gst-plugin-path immediately
5471           (will crash, because absolutely nothing is set up and no types are
5472           registered etc.); do this later in init_post(). Fixes #343057.
5473
5474 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5475
5476         * gst/gst.c: (init_post):
5477           if we have fork, fork while reading/rebuilding the registry
5478           so the parent doesn't take the hit of having all plugins loaded
5479           in memory.  Fixes #342777.
5480         * configure.ac:
5481           Check if we have fork()
5482         * win32/common/config.h.in:
5483           no fork() on win32
5484
5485 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
5486
5487         * plugins/elements/gstelements.c:
5488         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
5489         (gst_file_src_init), (gst_file_src_set_property),
5490         (gst_file_src_get_property), (gst_file_src_start):
5491         * plugins/elements/gstfilesrc.h:
5492           API: GstFileSrc::use-mmap
5493
5494         Add a use-mmap property to enable easier testing of all code paths.
5495         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
5496         in the absence of gnomevfssrc. (Closes #340501)
5497
5498 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5499
5500         * tools/gst-inspect.c:
5501         Add missing include, removes warning of ngettext not being defined on
5502         some arches.
5503
5504 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
5505
5506         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5507         Handle NULL input and output pointers silently as a failed conversion,
5508         rather than g_warnings.
5509
5510 2006-05-25  Wim Taymans  <wim@fluendo.com>
5511
5512         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
5513         Initialize variable before using. Fixes #342820.
5514
5515 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
5516
5517         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
5518           Fix off-by-one bug that would only allow peeks of N-1 bytes
5519           from the start even if the buffer to typefind on contains
5520           in fact N bytes of data (makes vorbis typefinding from a
5521           vorbis identification header buffer work).
5522
5523         * tests/check/Makefile.am:
5524         * tests/check/libs/.cvsignore:
5525         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
5526         (gst_typefindhelper_suite), (main), (foobar_typefind),
5527         (plugin_init):
5528           Add very basic unit test for gst_type_find_helper_for_buffer()
5529           that checks for the problem fixed above.
5530
5531 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5532
5533         * tools/gst-inspect.c: (print_interfaces),
5534         (print_element_properties_info), (print_element_list), (main):
5535           add more translatable strings
5536
5537 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
5538
5539         Patch by: Julien Moutte  <julien at moutte net>
5540
5541         * docs/gst/gstreamer-sections.txt:
5542           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
5543           
5544         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
5545         (gst_fake_sink_preroll):
5546         * plugins/elements/gstfakesink.h:
5547           API: Add new GstFakeSink::preroll-handoff signal (#337100).
5548
5549 2006-05-23  Wim Taymans  <wim@fluendo.com>
5550
5551         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
5552         * gst/gstpad.h:
5553         Added _CUSTOM error and success GstFlowReturn that can be
5554         used be elements internally. 
5555         Added macro to check for SUCCESS flowreturns.
5556         API: GST_FLOW_CUSTOM_SUCCESS
5557         API: GST_FLOW_CUSTOM_ERROR
5558         API: GST_FLOW_IS_SUCCESS
5559
5560         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
5561         Added check for GstFlowReturn sanity.
5562
5563 2006-05-23  Wim Taymans  <wim@fluendo.com>
5564
5565         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
5566
5567         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
5568         (gst_collect_pads_event):
5569         clear/reset segment info in FLUSH_STOP.
5570         Fixes #336929.
5571
5572 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
5573
5574         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
5575         (gst_collect_pads_check_collected):
5576         Flush queued buffer on _stop(), fixes playing again (#342454)
5577
5578 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5579
5580         * tests/check/gst/gststructure.c: (GST_START_TEST),
5581         (gst_structure_suite):
5582           add a test for a complete structure
5583
5584 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
5585
5586         * docs/faq/developing.xml:
5587         * docs/faq/faq.xml:
5588         * docs/faq/troubleshooting.xml:
5589         * docs/faq/using.xml:
5590           Some minor FAQ updates that won't change the fact that
5591           our FAQ is badly structured, full of information hardly
5592           anyone new to GStreamer needs to know and lacking lots
5593           of information people constantly ask for.
5594           
5595 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
5596
5597         * gst/gstpad.c: (gst_pad_set_caps):
5598           Short-circuit gst_pad_set_caps if setting the existing
5599           caps pointer again, and avoid printing debug and 
5600           reffing/unreffing the caps.
5601
5602         * plugins/elements/gstqueue.c: (gst_queue_push_one):
5603           There's actually no need to set the caps before pushing -
5604           the acceptcaps method will handle it anyway.
5605
5606 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
5607
5608         * docs/gst/gstreamer-sections.txt:
5609         * win32/common/libgstreamer.def:
5610         * gst/gstutils.c: (gst_element_seek_simple):
5611         * gst/gstutils.h:
5612           API: add gst_element_seek_simple() (#342238).
5613
5614 2006-05-18  Edward Hervey  <edward@fluendo.com>
5615
5616         * gst/gsttypefind.c: (gst_type_find_get_type):
5617         * gst/gsttypefind.h:
5618         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
5619         registered for GstTypeFind pointers. This allows wrapping the structure
5620         in bindings (i.e. gst-python).
5621
5622 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
5623
5624         * gst/gsttagsetter.c:
5625           Docs additions and fixes (see #339918).
5626
5627 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
5628
5629         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
5630         The caps intersection algorithm can produce multiple copies of the
5631         caps. Until that is fixed, we need to simplify the result to be
5632         sure whether the allowed caps are fixed or not.
5633
5634         * plugins/elements/gstqueue.c: (gst_queue_init),
5635         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
5636         (gst_queue_push_one):
5637         Proxied buffer alloc should not set the caps on the source pad.
5638         When pushing buffers, we always accept the caps change that triggers.
5639         This prevents negotiation errors caused by caps changing mid-stream 
5640         and then being refused on our source pad (because upstream is now
5641         refusing those caps).
5642
5643 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
5644
5645         * tests/examples/helloworld/helloworld.c: (main):
5646           Must plug audioconvert and audioresample between decoder
5647           and audio sink.
5648
5649 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
5650
5651         * gst/gstregistryxml.c: (read_string), (load_pad_template),
5652         (load_feature), (load_plugin):
5653         Allow empty strings for some of the plugin fields so we don't 
5654         drop valid plugin entries that were written out correctly
5655         (Fixes #341479)
5656
5657 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
5658         
5659         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
5660           Use g_remove and g_rename instead of remove and rename that don't 
5661           handle utf8 characters. rename was failing for users who had specific
5662           characters in their name then the registry was built at each 
5663           gstreamer init.
5664         * win32/vs6/gst_inspect.dsp:
5665         * win32/vs6/gst_launch.dsp:
5666         * win32/vs6/libgstbase.dsp:
5667         * win32/vs6/libgstcoreelements.dsp:
5668         * win32/vs6/libgstreamer.dsp:
5669           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
5670           build of libgstreamer and clean unused libraries in projects link 
5671           settings.
5672
5673 2006-05-17  Edward Hervey  <edward@fluendo.com>
5674
5675         * plugins/elements/gstqueue.c: (gst_queue_push_one):
5676         The queue is not responsible for pushing an EOS when receiving a fatal
5677         flow error. It's up to the real element driving the pipeline to do that.
5678
5679 2006-05-16  Edward Hervey  <edward@fluendo.com>
5680
5681         * plugins/elements/gstqueue.c: (gst_queue_push_one):
5682         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
5683         buffer returned a fatal error. It should just send an EOS and stop
5684         its task.
5685         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
5686         when pushing buffers on the queue and will be able to handle the event.
5687
5688 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
5689
5690         * docs/manual/basics-bins.xml:
5691         * docs/manual/basics-init.xml:
5692           Fix typos and minor errors in sample code (#341856).
5693
5694 2006-05-16  Wim Taymans  <wim@fluendo.com>
5695
5696         * docs/design/part-qos.txt:
5697         Fix indexes in formulas to make more sense.
5698
5699 2006-05-15  Wim Taymans  <wim@fluendo.com>
5700
5701         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
5702         Don't report POSITION based on clock time if sync is
5703         disabled in a sink.
5704
5705 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
5706
5707         * gst/gstobject.h:
5708           Add cast to make compiler happy - refcount variable was a gint
5709           in GstObject but is a guint in GObject and g_atomic_int_get()
5710           wants a gint *.
5711
5712 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5713
5714         * gst/parse/Makefile.am:
5715           chain commands using &&, which also makes parallel make work
5716
5717 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
5718
5719         * docs/gst/gstreamer-sections.txt:
5720         * gst/gstevent.c:
5721         * gst/gstevent.h:
5722         * gst/gstmessage.h:
5723           Minor docs fixes.
5724
5725 === release 0.10.6 ===
5726
5727 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
5728
5729         * configure.ac:
5730           releasing 0.10.6, "Take the cannoli"
5731
5732 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
5733
5734         * tools/gst-launch.c: (print_tag):
5735           Fix use of uninitialized variable in the hypothetical
5736           case that some broken plugin creates a GST_TAG_IMAGE
5737           tag containing a NULL buffer (#341667).
5738
5739 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
5740
5741         * tools/gst-launch.c: (print_tag):
5742           Print something more intelligible for image tags when
5743           using the -t switch (#341556).
5744
5745 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5746
5747         * Makefile.am:
5748           updates for win32
5749         * configure.ac:
5750           define GST_MAJORMINOR so we have it available in win32/common/config.h
5751           Possibly remove it from our Makefile.am files later
5752         * win32/common/config.h:
5753         * win32/common/config.h.in:
5754           added GST_MAJORMINOR
5755         * win32/common/gstenumtypes.c: (register_gst_resource_error):
5756         * win32/common/gstversion.h:
5757           updated
5758
5759 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
5760
5761         * win32/MANIFEST:
5762           Update win32 files listing.
5763         * win32/common/gstversion.h:
5764           Add GST_MAJORMINOR definition.
5765         * win32/common/libgstreamer.def:
5766           Add new exported functions.
5767           
5768 2006-05-12  Michael Smith  <msmith@fluendo.com>
5769
5770         * gst/gstplugin.c: (gst_plugin_load_file):
5771           If an so file has no plugin entry point, unload the module.
5772
5773 2006-05-11  Wim Taymans  <wim@fluendo.com>
5774
5775         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
5776         (gst_queue_set_property):
5777         Don't forget to signal the _chain or _loop function 
5778         when the queue size or thresholds change since that might
5779         cause them to make progres again.
5780
5781 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
5782
5783         * gst/gstclock.c: (gst_clock_class_init):
5784         * gst/gstindex.c: (gst_index_class_init):
5785         * gst/gstobject.c: (gst_object_class_init):
5786         * gst/gstpad.c: (gst_pad_class_init):
5787         * gst/gstpipeline.c: (gst_pipeline_class_init):
5788         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
5789         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
5790         * libs/gst/base/gstbasetransform.c:
5791         (gst_base_transform_class_init):
5792         * libs/gst/net/gstnetclientclock.c:
5793         (gst_net_client_clock_class_init):
5794         * libs/gst/net/gstnettimeprovider.c:
5795         (gst_net_time_provider_class_init):
5796         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
5797         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
5798         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
5799         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
5800         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
5801         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
5802         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
5803         * plugins/elements/gstidentity.c: (gst_identity_class_init):
5804         * plugins/elements/gsttee.c: (gst_tee_class_init):
5805         * tests/old/examples/plugins/example.c: (gst_example_class_init):
5806         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
5807           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
5808
5809 2006-05-11  Wim Taymans  <wim@fluendo.com>
5810
5811         * gst/gstbuffer.c: (_gst_buffer_initialize):
5812         Register subbufer along with the buffer type so that
5813         it does not accidentally gets registered from N
5814         different streaming threads in a non threadsafe way.
5815
5816 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
5817
5818         * gst/gstbuffer.h:
5819         * gst/gstevent.h:
5820         * gst/gstmessage.h:
5821           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
5822           gst_event_ref() and gst_message_ref() functions again
5823           (ugly hack, please do fix if there's a better way besides
5824           overrides.txt, which doesn't seem to work).
5825
5826 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5827
5828         * libs/gst/check/gstcheck.h:
5829           add an assert for setting state to avoid lots of repetitive code
5830           in the future
5831
5832 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5833
5834         * gst/gstvalue.c: (gst_value_serialize_flags):
5835           fix a leak if no flags are set
5836         * tests/check/gst/gstvalue.c: (GST_START_TEST):
5837           fix leak in tests
5838
5839 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
5840
5841         * docs/manual/basics-pads.xml:
5842           Expand a bit on caps and filtered links and update
5843           examples that were still using the no longer existing
5844           gst_pad_link_filtered() (#338206).
5845
5846 2006-05-10  Wim Taymans  <wim@fluendo.com>
5847
5848         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
5849         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
5850         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
5851         (gst_collect_pads_stop):
5852         * libs/gst/base/gstcollectpads.h:
5853         No need to call _stop in _finalize.
5854         Iterate the main pad list in _finalize.
5855         Added some more debug.
5856         Free lists and data in the right order.
5857         Also free data whem doing _remove_pad when stopped for
5858         backward compatibility protect ::started with PAD_LOCK as
5859         well.
5860
5861 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5862
5863         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
5864         (gst_structure_parse_value):
5865           add some comments
5866           rename a method so that it actually says what it does better
5867
5868 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5869
5870         * gst/gstevent.c: (_gst_event_initialize):
5871         * gst/gstformat.c: (_gst_format_initialize):
5872           make sure some essential types used by events are registered
5873           as part of gst_init()
5874         * gst/gstvalue.c: (gst_value_serialize_flags):
5875           if no flags are set, serialize them to a value that represents NONE
5876           so that deserializing them works
5877         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
5878           add tests for serialization and deserialization of flags
5879
5880 2006-05-10  Wim Taymans  <wim@fluendo.com>
5881
5882         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
5883         (gst_collect_pads_collect_range), (gst_collect_pads_available),
5884         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
5885         (gst_collect_pads_event), (gst_collect_pads_chain):
5886         Update docs.
5887         Better debug info.
5888         Catch and return errors from the collect function
5889         Refuse data on eos pads.
5890
5891 2006-05-10  Edward Hervey  <edward@fluendo.com>
5892
5893         * gst/gstinterface.h:
5894         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
5895         GInterface type checking.
5896         They were previously using non-defined macros.
5897
5898 2006-05-09  Wim Taymans  <wim@fluendo.com>
5899
5900         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
5901         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
5902         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
5903         (gst_collect_pads_start), (gst_collect_pads_stop),
5904         (gst_collect_pads_peek), (gst_collect_pads_pop),
5905         (gst_collect_pads_available), (gst_collect_pads_read),
5906         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
5907         (gst_collect_pads_is_collected), (gst_collect_pads_event),
5908         (gst_collect_pads_chain):
5909         * libs/gst/base/gstcollectpads.h:
5910         Clean up the mess that is collectpads, add comments and
5911         FIXMEs where needed.
5912         Maintain a separate pad list so we can add pads while
5913         collecting the other ones. For this we need a new separate 
5914         lock (see comics).
5915         Fix memory leak in finalize.
5916         Refactor some weird code to set/unset pad flushing flags, mark
5917         with comments.
5918         Don't crash in _available, _read, _flush when we're EOS.
5919
5920         * tests/check/libs/.cvsignore:
5921         Ignore adapter check binary.
5922
5923 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
5924
5925         * gst/gstindex.c: (gst_index_resolver_get_type):
5926         * plugins/elements/gstfakesink.c:
5927         (gst_fake_sink_state_error_get_type):
5928         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
5929         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
5930         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
5931           Const-ify GEnumValue arrays.
5932
5933 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
5934
5935         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
5936           Add test case for flags + gst_buffer_make_metadata_writable().
5937
5938 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
5939
5940         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
5941           gst_buffer_make_metadata_writable() should maintain the
5942           buffer flags (those that make sense at least) (see #340859).
5943
5944 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
5945
5946         * tools/gst-inspect.c:
5947         * tools/gst-launch.c:
5948         * tools/gst-typefind.c:
5949         * tools/gst-xmlinspect.c:
5950         * tools/tools.h:
5951           Fix up includes: need to include stdlib.h in tools.h for exit().
5952
5953 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
5954
5955         * gst/gsttaglist.c: (_gst_tag_initialize):
5956         * gst/gsttaglist.h:
5957           API: add GST_TAG_IMAGE tag (#340721).
5958
5959 2006-05-08  Wim Taymans  <wim@fluendo.com>
5960
5961         * gst/gstquery.c:
5962         Added some docs for the segment query.
5963
5964 2006-05-08  Wim Taymans  <wim@fluendo.com>
5965
5966         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
5967         (gst_base_src_loop), (gst_base_src_change_state):
5968         Always push non-flushing serialized events in the streaming 
5969         thread.
5970
5971 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5972
5973         * gst/gsterror.c: (_gst_stream_errors_init):
5974           Add a missing error string.
5975
5976 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
5977
5978         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
5979         Add applied_rate to the debug
5980
5981         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
5982         Copy applied_rate into the outgoing NEWSEGMENT event
5983
5984 2006-05-08  Wim Taymans  <wim@fluendo.com>
5985
5986         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
5987
5988         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
5989         (gst_base_sink_change_state):
5990         call ::unlock before taking the PREROLL_LOCK so we can safely
5991         handle elements that lock in ::render.
5992         Fixes #340174.
5993
5994 2006-05-08  Edward Hervey  <edward@fluendo.com>
5995
5996         * autogen.sh: (CONFIGURE_DEF_OPT): 
5997         Darwin's libtoolize is in fact called glibtoolize.
5998         Adding glibtoolize to the list of accepted names for libtoolize.
5999
6000 2006-05-08  Wim Taymans  <wim@fluendo.com>
6001
6002         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
6003         Unify error handling, don't post an error message
6004         when a push() returns EOS but perform our normal EOS
6005         handling code. Fixes #340772.
6006
6007 2006-05-08  Wim Taymans  <wim@fluendo.com>
6008
6009         * docs/design/part-overview.txt:
6010         Make upsteam/downstream concepts more clear.
6011         Give an example of serialized/non-serialized events.
6012
6013         * docs/design/part-events.txt:
6014         * docs/design/part-streams.txt:
6015         Mention applied_rate.
6016
6017         * docs/design/part-trickmodes.txt:
6018         Mention applied rate, flesh out some more use cases.
6019
6020         * gst/gstevent.c: (gst_event_new_new_segment),
6021         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
6022         (gst_event_parse_new_segment_full), (gst_event_new_tag),
6023         (gst_event_parse_tag), (gst_event_new_buffer_size),
6024         (gst_event_parse_buffer_size), (gst_event_new_qos),
6025         (gst_event_parse_qos), (gst_event_parse_seek),
6026         (gst_event_new_navigation):
6027         * gst/gstevent.h:
6028         Add applied_rate field to NEWSEGMENT event.
6029         API: gst_event_new_new_segment_full()
6030         API: gst_event_parse_new_segment_full()
6031
6032         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
6033         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
6034         (gst_segment_to_stream_time), (gst_segment_to_running_time):
6035         * gst/gstsegment.h:
6036         Add applied_rate to GstSegment structure.
6037         Make calculation of stream_time and running_time more correct
6038         wrt rate/applied_rate.
6039         Add some more docs.
6040         API: GstSegment::applied_rate field
6041         API: gst_segment_set_newsegment_full();
6042
6043         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
6044         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
6045         * libs/gst/base/gstbasetransform.c:
6046         (gst_base_transform_sink_eventfunc),
6047         (gst_base_transform_handle_buffer):
6048         Parse and use applied_rate in the GstSegment field.
6049
6050         * tests/check/gst/gstevent.c: (GST_START_TEST):
6051         Add check for applied_rate field.
6052
6053         * tests/check/gst/gstsegment.c: (GST_START_TEST),
6054         (gstsegments_suite):
6055         Add more checks for various GstSegment operations.
6056
6057 2006-05-08  Wim Taymans  <wim@fluendo.com>
6058
6059         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
6060         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
6061         (gst_base_sink_get_position), (gst_base_sink_change_state):
6062         Store the sync time of the buffer end position separatly in a
6063         new variable eos_rtime so we can properly sync the EOS event.
6064         Fixes #340697.
6065         Fix the docs for gst_base_sink_set_qos_enabled().
6066         Don't set segment start to invalid value when we receive a 
6067         non TIME newsegment.
6068         get closer to handling position reporting for negative rates 
6069         correctly.
6070
6071 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
6072
6073         * gst/gstcaps.c:
6074         Docs about how to print caps for debug purposes.
6075
6076         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
6077         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
6078
6079 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
6080
6081         * gst/gstelement.c:
6082           use full enum names and preprend a '%' in docs strings to make recent 
6083           gtk-doc turn that into a link
6084
6085 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6086
6087         * docs/manual/basics-bins.xml:
6088         * docs/manual/basics-bus.xml:
6089         * docs/manual/basics-pads.xml:
6090           Some typo fixes, some additions, some clarifications. 
6091
6092 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6093
6094         * tools/gst-inspect.c: (main):
6095         * tools/gst-launch.c: (main):
6096         * tools/gst-run.c: (main):
6097         * tools/gst-typefind.c: (main):
6098         * tools/gst-xmlinspect.c: (main):
6099           Use the string passed to g_option_context_new() for
6100           what it's intended for - the program name is already
6101           printed elsewhere.
6102
6103 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6104
6105         * tools/Makefile.am:
6106         * tools/gst-inspect.c: (main):
6107         * tools/gst-launch.c: (main):
6108         * tools/gst-xmlinspect.c: (main):
6109         * tools/tools.h:
6110           Add back --version command line option (#340460).
6111
6112         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
6113           Add --version option and use GOption for argument parsing; refactor a
6114           bit; accept directories as arguments and recurse into them; lastly,
6115           print a decent error message when things go wrong.
6116
6117 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
6118
6119         * docs/manual/basics-bins.xml:
6120         Don't mention GstThread (#340611)
6121         * docs/manual/basics-elements.xml:
6122         Update link to GObject tutorial (#340607)
6123         
6124 2006-05-05  Wim Taymans  <wim@fluendo.com>
6125
6126         * gst/gstbuffer.h:
6127         * gst/gstminiobject.c:
6128         Add note about refcounting and miniobject/buffer writeability
6129         to docs. Fixes #340604
6130
6131         * gst/gstelementfactory.h:
6132         Added some explanation about @klass.
6133
6134 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
6135
6136         * docs/manual/intro-motivation.xml:
6137         * docs/manual/manual.xml:
6138         Avoid CORBA & Bonobo references (#340598)
6139
6140 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
6141
6142         * docs/manual/basics-bus.xml:
6143         * docs/manual/basics-pads.xml:
6144         Fix up some inaccuracies and omissions (#340609)
6145         
6146 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
6147
6148         * gst/gstghostpad.c:
6149           Small typo in docs (#340625)
6150
6151 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6152
6153         * gst/parse/Makefile.am:
6154           Make 'make -j' proof (see #340698).
6155
6156 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6157
6158         * configure.ac:
6159           Require GLib-2.8 here as well.
6160
6161 2006-05-05  Wim Taymans  <wim@fluendo.com>
6162
6163         * gst/glib-compat.c:
6164         * gst/gst.c: (init_pre):
6165         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
6166         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
6167         (gst_object_dispatch_properties_changed):
6168         * gst/gstobject.h:
6169         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
6170         * gst/gststructure.c: (gst_structure_set_valist):
6171         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
6172         Remove pre glib2.8 compatibility, fixes #340508
6173
6174 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
6175
6176         * gst/gsttaglist.h:
6177           Mention type of tags in doc blurbs.
6178
6179 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
6180
6181         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
6182         (gst_pad_configure_src), (gst_pad_push):
6183         Restore acceptcaps checking behaviour now that good plugins have
6184         been released.
6185
6186 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
6187
6188         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
6189
6190         * gst/gst.c:
6191         * gst/gstbus.c:
6192         * gst/gstclock.c:
6193         * gst/gstevent.c:
6194         * gst/gstformat.c:
6195         * gst/gstmessage.c:
6196         * gst/gstparse.c:
6197         * gst/gstquery.c:
6198         * gst/gstutils.c:
6199         * gst/parse/Makefile.am:
6200         * libs/gst/base/gstadapter.c:
6201         * libs/gst/base/gstbasesrc.c:
6202         * libs/gst/base/gstpushsrc.c:
6203         * libs/gst/base/gsttypefindhelper.c:
6204         * plugins/elements/gstfakesrc.c:
6205         * plugins/elements/gstidentity.c:
6206           Make sure gstprivate.h and/or config.h are
6207           always included first, otherwise some of our
6208           defines (like _FILE_OFFSET_BITS) might be
6209           redefined in the system headers. Fixes build
6210           on opensolaris (#340016).
6211
6212 2006-05-04  Wim Taymans  <wim@fluendo.com>
6213
6214         * docs/libs/gstreamer-libs-sections.txt:
6215         API: addition: gst_adapter_take_buffer()
6216         
6217         * libs/gst/base/gstadapter.c: (gst_adapter_push),
6218         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
6219         (gst_adapter_available_fast):
6220         * libs/gst/base/gstadapter.h:
6221         Prepare for optimizing the hell out of this hugely inefficient
6222         piece of code. 
6223         Added gst_adapter_take_buffer() so we can at least start thinking
6224         about subbuffering and merging.
6225         Added some comments.
6226
6227         * tests/check/Makefile.am:
6228         * tests/check/libs/adapter.c: (GST_START_TEST),
6229         (gst_adapter_suite), (main):
6230         Added GstAdapter check.
6231
6232 2006-05-04  Wim Taymans  <wim@fluendo.com>
6233
6234         * docs/design/part-overview.txt:
6235         Fix some typos, add blurb about buffer flags.
6236
6237 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6238
6239         * docs/libs/gstreamer-libs-sections.txt:
6240           make sure GstBaseTransformClass shows up in the docs
6241         * libs/gst/base/gstbasetransform.c:
6242         * libs/gst/base/gstbasetransform.h:
6243           move docs so gtk-doc picks it up now
6244
6245 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
6246
6247         * docs/libs/gstreamer-libs-sections.txt:
6248           add missing symbols to docs
6249
6250 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
6251
6252         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
6253           back out the newsegment handling change, see #340060 for ongoing
6254           discussion
6255
6256 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
6257
6258         * tools/gst-run.c: (get_candidates), (main):
6259           Fix wrong g_file_test() usage (see glib docs for why it doesn't
6260           work); fix typo in error message. Fixes #340079.
6261
6262 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6263
6264         * common/Makefile.am:
6265         * docs/Makefile.am:
6266         * docs/faq/Makefile.am:
6267         * docs/gst/Makefile.am:
6268         * docs/libs/Makefile.am:
6269         * docs/manual/Makefile.am:
6270         * docs/plugins/Makefile.am:
6271         * docs/pwg/Makefile.am:
6272         * docs/slides/Makefile.am:
6273         * docs/upload.mak:
6274         * common/upload.mak:
6275           move upload.mak to common
6276
6277 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6278
6279         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
6280           add more asserts on refcounts
6281           do more cleanup at end of tests
6282           fix test leaks showing in FC5
6283
6284 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
6285
6286         * plugins/elements/gsttypefindelement.c:
6287         (gst_type_find_element_handle_event):
6288         reverted wrong change and reflowed code to avoid others falling into
6289         this trap
6290
6291 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6292
6293         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
6294           fix changelog entry about last collectpads change,
6295           add notes about proper fix
6296
6297 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6298
6299         * gst/gst.c:
6300         * gst/gstregistry.c: (gst_registry_scan_path_level),
6301         (gst_registry_scan_path):
6302         * gst/gstregistry.h:
6303           only write out registry if it has changed, fixes #338339
6304
6305 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6306
6307         * gst/gstbin.c:
6308         * gst/gstpipeline.c:
6309         * plugins/elements/gstcapsfilter.c:
6310         * plugins/elements/gstfakesink.c:
6311         * plugins/elements/gstfakesrc.c:
6312         * plugins/elements/gstfdsink.c:
6313         * plugins/elements/gstfdsrc.c:
6314         * plugins/elements/gstfilesink.c:
6315         * plugins/elements/gstfilesrc.c:
6316         * plugins/elements/gstidentity.c:
6317         * plugins/elements/gstqueue.c:
6318         * plugins/elements/gsttee.c:
6319         * plugins/elements/gsttypefindelement.c:
6320         (gst_type_find_element_handle_event):
6321           make GstElementDetails const
6322
6323 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6324
6325         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
6326         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
6327         (gst_collect_pads_is_collected), (gst_collect_pads_event):
6328           more detailed debug and formatting cleanup,
6329           forward newsegments to src-pad (so that e.g. adder not eats them)
6330
6331 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6332
6333         * gst/gstutils.c: (gst_element_link_pads):
6334           cleanup double code
6335
6336 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6337
6338         * libs/gst/controller/gstcontroller.c:
6339         (gst_controller_sync_values):
6340           some little tuning
6341         * tests/check/libs/controller.c: (GST_START_TEST),
6342         (gst_controller_suite):
6343           a new test for live value handling
6344
6345 2006-04-28  Wim Taymans  <wim@fluendo.com>
6346
6347         * gst/gstutils.c: (push_and_ref):
6348         Added some more docs.
6349         Fix refcount issue whith gst_element_found_tags() helper 
6350         function. Fixes #338335
6351
6352         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6353         Added testsuite for gst_element_found_tags().
6354
6355 2006-04-28  Michael Smith  <msmith@fluendo.com>
6356
6357         * gst/gstvalue.c: (gst_value_serialize_flags):
6358           Avoid NULL dereference when trying to serialize flags containing
6359           invalid values.
6360
6361 2006-04-28  Michael Smith  <msmith@fluendo.com>
6362
6363         * plugins/elements/gsttypefindelement.c:
6364         (gst_type_find_element_handle_event):
6365           If we get EOS before any data is accumulated, don't use
6366           uninitialised local variables.
6367
6368 2006-04-28  Michael Smith  <msmith@fluendo.com>
6369
6370         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
6371         (gst_dp_event_from_packet):
6372           Fixes in reading/writing events over GDP (not currently used?) - 
6373           dereferencing NULL events for unknown/invalid event types, memory
6374           leak, and change g_warning to GST_WARNING.
6375
6376 2006-04-28  Wim Taymans  <wim@fluendo.com>
6377
6378         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
6379         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
6380         (gst_base_sink_get_position), (gst_base_sink_change_state):
6381         When frame dropping is enabled, we should not ignore frames
6382         without a duration.
6383         Update some documentation.
6384
6385 2006-04-28  Wim Taymans  <wim@fluendo.com>
6386
6387         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
6388         (gst_base_src_send_event), (gst_base_src_change_state):
6389         Documentation updates.
6390
6391 2006-04-28  Wim Taymans  <wim@fluendo.com>
6392
6393         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
6394         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
6395         handle EAGAIN, EINTR and short writes correctly. Also clean
6396         up some error cases, avoid a deadlock on bad file descriptors and
6397         use GST_DEBUG_OBJECT.
6398         Fixes #339843
6399
6400 2006-04-28  Wim Taymans  <wim@fluendo.com>
6401
6402         * gst/gstvalue.c: (gst_value_serialize_buffer),
6403         (gst_value_deserialize_buffer):
6404         Don't try to serialize a GValue with a NULL buffer. 
6405         Fixes #339821.
6406
6407         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6408         Added check for serialisation of NULL buffers.
6409
6410 2006-04-28  Wim Taymans  <wim@fluendo.com>
6411
6412         * gst/gstminiobject.c: (gst_value_take_mini_object):
6413         Taking a NULL miniobject is valid, fix the case where
6414         we try to unref the NULL miniobject.
6415
6416 2006-04-28  Wim Taymans  <wim@fluendo.com>
6417
6418         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
6419
6420         * gst/gstbin.c: (gst_bin_handle_message_func):
6421         Update docs.
6422         Don't leak bin refcount when a state recalc is
6423         in progress and we delay another one #339808.
6424
6425 2006-04-28  Wim Taymans  <wim@fluendo.com>
6426
6427         * docs/design/part-TODO.txt:
6428         Mention QoS as an ongoing work item.
6429
6430         * docs/design/part-buffering.txt:
6431         New doc about buffering that needs to be fleshed out
6432         at some point.
6433
6434         * docs/design/part-qos.txt:
6435         More QoS policy for decoders/demuxers/transforms
6436
6437         * docs/design/part-trickmodes.txt:
6438         Small update.
6439
6440 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6441
6442         * configure.ac:
6443           back to HEAD
6444
6445 === release 0.10.5 ===
6446
6447 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
6448
6449         * configure.ac:
6450           releasing 0.10.5, "Fogo"
6451
6452 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6453
6454         patch by: Wim Taymans
6455
6456         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
6457         (gst_pad_configure_src), (gst_pad_push):
6458         * gst/gstpipeline.c: (gst_pipeline_init):
6459           Fix internal data flow errors.  Fixes #338711.
6460
6461 2006-04-12  Wim Taymans  <wim@fluendo.com>
6462
6463         * tests/check/gst/gstelement.c: (GST_START_TEST):
6464         Don't leak the factory.
6465
6466 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6467
6468         * configure.ac:
6469         * win32/common/config.h:
6470           prerelease
6471
6472 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
6473
6474         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
6475         (gst_controller_unset_all):
6476           Free allocated GstTimedValues when freeing list nodes.
6477           Should fix leaks 'make check-valgrind' complains about.
6478
6479         * win32/common/libgstcontroller.def:
6480           Add gst_controller_unset_all.
6481
6482 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
6483
6484         * docs/libs/gstreamer-libs-sections.txt:
6485         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
6486         (gst_controller_unset_all):
6487         * libs/gst/controller/gstcontroller.h:
6488         API: Added new method gst_controller_unset_all()
6489         fixed gst_controller_unset()
6490         * tests/check/libs/controller.c: (GST_START_TEST),
6491         (gst_controller_suite):
6492         Added two testcases for new and fixed method
6493
6494 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
6495
6496         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
6497           MSG_DONTWAIT is not defined on Cygwin, so work
6498           around that (fixes #317048).
6499           
6500 2006-04-11  Wim Taymans  <wim@fluendo.com>
6501
6502         * gst/gstelementfactory.c: (gst_element_register),
6503         (gst_element_factory_create), (gst_element_factory_make):
6504         Some cleanups.
6505         Fixed a FIXME.
6506         Updated docs (Fixes #131079)
6507
6508         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
6509         Small cleanups.
6510
6511         * tests/check/gst/gstelement.c: (GST_START_TEST),
6512         (gst_element_suite):
6513         Added testcase for elementfactory class field.
6514
6515 2006-04-10  Wim Taymans  <wim@fluendo.com>
6516
6517         * gst/gstsegment.c:
6518         Added some more docs.
6519
6520         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
6521         (gst_base_sink_reset_qos):
6522         Calculate more accurate rate values.
6523
6524 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
6525
6526         * gst/gst_private.h:
6527           add a new #ifdef to use __declspec(dllimport) only for
6528           other modules and not for gstreamer core
6529         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
6530           use gst_guint64_to_gdouble for conversion
6531         * win32/common/libgstreamer.def:
6532           add new exported functions
6533         * win32/vs6/gst_inspect.dsp:
6534         * win32/vs6/gst_launch.dsp:
6535         * win32/vs6/libgstbase.dsp:
6536         * win32/vs6/libgstcontroller.dsp:
6537         * win32/vs6/libgstcoreelements.dsp:
6538         * win32/vs6/libgstdataprotocol.dsp:
6539         * win32/vs6/libgstnet.dsp:
6540           update project files
6541
6542 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
6543
6544         * gst/gstbuffer.c: (gst_subbuffer_class_init):
6545         * gst/gstclock.c: (gst_clock_class_init):
6546         * gst/gstelement.c: (gst_element_class_init):
6547         * gst/gstindex.c: (gst_index_class_init):
6548         * gst/gstindexfactory.c: (gst_index_factory_class_init):
6549         * gst/gstobject.c: (gst_object_class_init),
6550         (gst_signal_object_class_init):
6551         * gst/gstpad.c: (gst_pad_class_init):
6552         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
6553         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
6554         * gst/gstregistry.c: (gst_registry_class_init):
6555         * gst/gstsystemclock.c: (gst_system_clock_class_init):
6556         * gst/gsttask.c: (gst_task_class_init):
6557         * gst/gstxml.c: (gst_xml_class_init):
6558         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
6559         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6560         (gst_base_src_loop):
6561         * libs/gst/controller/gstcontroller.c:/
6562         (_gst_controller_class_init):
6563         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
6564         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
6565         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
6566         * tests/old/examples/plugins/example.c: (gst_example_class_init):
6567         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
6568         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
6569
6570 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
6571
6572         * gst/gstpad.c: (gst_pad_link):
6573           Must set peer pads before calling the link function, otherwise
6574           a task started from a link function might get a flow-not-linked
6575           result when trying to push because the other thread where the
6576           linking happens hasn't had a chance to set the peers yet. This
6577           might happen for example when a queue gets linked to a downstream
6578           element, as queue starts a streaming task when its source pad
6579           gets linked. Happens in real life when playing back flac/musepack
6580           files in playbin (#332390).
6581           
6582 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
6583
6584         * gst/gstindex.h:
6585         * gst/gstxml.h:
6586         * libs/gst/base/gstadapter.h:
6587         * libs/gst/base/gstbasesink.h:
6588         * libs/gst/base/gstbasesrc.h:
6589         * libs/gst/base/gstbasetransform.h:
6590         * libs/gst/base/gstcollectpads.h:
6591         * libs/gst/base/gstpushsrc.h:
6592         Fix broken GObject macros
6593
6594 2006-04-07  Wim Taymans  <wim@fluendo.com>
6595
6596         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
6597         Initialize start and stop times, thanks valgrind.
6598
6599 2006-04-07  Wim Taymans  <wim@fluendo.com>
6600
6601         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
6602         Be a bit nicer to badly behaving upstream elements that expect
6603         us to deal with non TIME segments and timestamps (such as fakesrc
6604         in the testsuite).
6605
6606 2006-04-07  Wim Taymans  <wim@fluendo.com>
6607
6608         * gst/gstbus.c:
6609         Small documentation clarification about the signal watch.
6610
6611         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
6612         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
6613         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
6614         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
6615         (gst_base_sink_get_position_last),
6616         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
6617         Convert and store timestamps in stream time and running time, the
6618         raw timestamps are not useful, also document this better.
6619         Use different window sizes for good and bad QoS observations so
6620         we react to badness a little quicker.
6621         Keep track of the amount of rendered and dropped buffers.
6622         Send QoS timestamps in running time.
6623
6624         * libs/gst/base/gstbasetransform.c:
6625         (gst_base_transform_sink_eventfunc),
6626         (gst_base_transform_handle_buffer):
6627         Compare QoS timestamps against running time.
6628
6629 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
6630
6631         * gst/gstpad.c:
6632           Typo fixes in docs.
6633
6634 2006-04-06  Michael Smith  <msmith@fluendo.com>
6635
6636         * gst/gstpad.c: (gst_pad_set_property):
6637           Use g_value_get_object() instead of g_value_dup_gst_object(),
6638           to avoid double-reffing the pad template (which we then sink,
6639           so this worked previously if (and only if) the pad template
6640           was floating.
6641
6642         * gst/gstpadtemplate.c: (gst_pad_template_init),
6643         (gst_pad_template_pad_created):
6644           Never return floating references to pad templates, create
6645           them as initially-sunken.
6646
6647           Document an extra function (and make this stop sinking our
6648           pad template, since that is now guaranteed to do nothing,
6649           since we created it sunken).
6650
6651         * gst/gstghostpad.c:
6652           Fix docs typo.
6653
6654 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
6655
6656         * gst/gstinfo.c: (__gst_in_valgrind):
6657           Add some newlines.
6658
6659         * plugins/elements/gsttypefindelement.c:
6660         (gst_type_find_element_chain):
6661           Don't leak buffer caps.
6662
6663 2006-04-06  Michael Smith  <msmith@fluendo.com>
6664
6665         * gst/parse/grammar.y:
6666           Fix a leak in parse-launch for any source-or-sink named element 
6667           references used.
6668
6669         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
6670           Unref the pipeline if it exists after we've failed parsing.
6671
6672 2006-04-05  Michael Smith  <msmith@fluendo.com>
6673
6674         * gst/gstpipeline.c: (gst_pipeline_init):
6675           When we create a pipeline bus, initially create it in flushing mode.
6676           Fixes leaks in at least one test, and makes a new pipeline work the
6677           same as one that has gone to READY and then back to NULL.
6678
6679         * gst/gstelement.c:
6680           Typo fix in docs.
6681
6682 2006-04-05  Michael Smith  <msmith@fluendo.com>
6683
6684         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
6685           Unref a pad we reffed.
6686         * tests/check/gst/gstutils.c: (GST_START_TEST):
6687           Unref bins
6688
6689 2006-04-05  Michael Smith  <msmith@fluendo.com>
6690
6691         * gst/gstquery.c: (gst_query_set_formats),
6692         (gst_query_set_formatsv):
6693           Fix leaking GValues in queries, as shown by valgrind/testsuite.
6694
6695 2006-04-05  Michael Smith  <msmith@fluendo.com>
6696
6697         * tests/check/generic/sinks.c: (GST_START_TEST):
6698           Fix a variety of memleaks in sinks check, which are only sometimes 
6699           shown by running the tests under valgrind (weird?).
6700
6701 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
6702
6703         * docs/version.entities.in:
6704           Fix the substituted entity name after thomas' changes on the
6705           weekend.
6706
6707 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6708
6709         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
6710         VALGRIND_PRINTF
6711         
6712 2006-04-05  Andy Wingo  <wingo@pobox.com>
6713
6714         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
6715
6716         * libs/gst/base/gstbasetransform.c
6717         (gst_base_transform_sink_eventfunc): When resetting our segment on
6718         FLUSH_STOP, also update the flag saying we haven't seen a
6719         newsegment.
6720
6721 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
6722
6723         Patch by: Paolo Borelli  <pborelli at katamail dot com>
6724
6725         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
6726         (gst_plugin_check_license):
6727           minor clean-ups: G_DEFINE_TYPE already takes care of the
6728           parent_class stuff, no need to do it twice. Mark array of
6729           license strings as constant. (#337103)
6730           
6731 2006-04-04  Michael Smith  <msmith@fluendo.com>
6732
6733         * tools/gst-inspect.c: (print_element_list):
6734           Free the right plugin list; fixes a memory leak.
6735
6736 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
6737
6738         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
6739
6740         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
6741           Don't error out on empty buffers (#336945).
6742           
6743 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
6744
6745         * docs/libs/gstreamer-libs-sections.txt:
6746         * gst/gsttaglist.c:
6747         * libs/gst/base/gstbasesink.c:
6748         * libs/gst/base/gstbasesink.h:
6749         * libs/gst/base/gstbasesrc.c:
6750         * libs/gst/base/gstbasesrc.h:
6751           Documentation updates. Make BaseSink and BaseSrc docs contain the
6752           class structure so that people can actually see the prototypes for
6753           virtual functions they're supposed to be overriding.
6754
6755 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
6756
6757         * plugins/elements/gsttypefindelement.c:
6758         (gst_type_find_element_chain):
6759           More debug info; when skipping typefinding, send cached
6760           events in all cases.
6761
6762 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
6763
6764         * configure.ac:
6765           use new AS_VERSION and AS_NANO macros
6766         * gst/gst-i18n-lib.h:
6767         * gst/gst.c:
6768         * gst/gsterror.c:
6769         * gst/gstversion.h.in:
6770         * win32/common/config.h:
6771         * win32/common/config.h.in:
6772           update accordingly
6773
6774 2006-03-31  Michael Smith  <msmith@fluendo.com>
6775
6776         * plugins/elements/gsttypefindelement.c:
6777         (gst_type_find_element_chain):
6778           Do not typefind content if the buffers already have caps.
6779           Neccesary for icydemux (#333657), and the right thing to do anyway.
6780
6781 2006-03-30  Wim Taymans  <wim@fluendo.com>
6782
6783         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
6784         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
6785         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
6786         (gst_base_sink_record_qos_observation),
6787         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
6788         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
6789         (gst_base_sink_change_state):
6790         More QoS measurements as described in the design doc.
6791         Get rid of ringbuffer with observations, running average is
6792         more simple and equally good.
6793         Calculates valid proportion now.
6794         Added beginning of flood measurement.
6795
6796 2006-03-29  Wim Taymans  <wim@fluendo.com>
6797
6798         * docs/design/part-qos.txt:
6799         * gst/gstclock.c:
6800         Small documentation updates and additions.
6801
6802 2006-03-29  Wim Taymans  <wim@fluendo.com>
6803
6804         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
6805         (gst_base_src_send_event), (gst_base_src_loop),
6806         (gst_base_src_change_state):
6807         Perform the EOS logic when we reach the segment stop position.
6808         Fix compilation on gcc4.1
6809
6810 2006-03-29  Wim Taymans  <wim@fluendo.com>
6811
6812         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
6813
6814         * plugins/elements/gstqueue.c: (gst_queue_init),
6815         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
6816         (gst_queue_set_property):
6817         * plugins/elements/gstqueue.h:
6818         In queue, when EOS is received, if minimum threshold > max_size -
6819         current_level, there is chance that queue blocks forever in conditional
6820         item del wait. This is because the queue is not emptied completely due
6821         to minimum threshold.  Here is another approach. Instead of setting
6822         cur_levels to max in EOS, just zero all minimum threshold levels. This
6823         should make sure that queue gives out all data. When going to READY
6824         (stop) state, just reset the original minimum threshold levels.
6825         Fixes #336336.
6826
6827 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
6828
6829         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
6830         (gst_type_find_element_handle_event),
6831         (gst_type_find_element_send_cached_events),
6832         (gst_type_find_element_change_state):
6833         * plugins/elements/gsttypefindelement.h:
6834           When typefinding is done in push mode, we should cache
6835           events we receive during typefinding instead of just
6836           dropping them (e.g. newsegment, custom events from
6837           dvdreadsrc etc.) and then send them out once we've
6838           determined the type of the stream (and decodebin
6839           has had a chance to plug in a decoder/demuxer).
6840           
6841 2006-03-27  Wim Taymans  <wim@fluendo.com>
6842
6843         * docs/design/part-qos.txt:
6844         First QoS ideas.
6845
6846 2006-03-27  Wim Taymans  <wim@fluendo.com>
6847
6848         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
6849
6850         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
6851         (gst_base_src_send_event), (gst_base_src_change_state):
6852         Handle element seek correctly when we are streaming.
6853         Fixes #326998.
6854
6855 2006-03-24  Michael Smith  <msmith@fluendo.com>
6856
6857         * docs/faq/gst-uninstalled:
6858           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
6859           allow you to correctly run intalled applications built against old 
6860           core, using plugins that require updated core (e.g. running
6861           installed totem against a full uninstalled gstreamer stack)
6862
6863 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
6864
6865         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
6866         more debug details
6867
6868 2006-03-24  Wim Taymans  <wim@fluendo.com>
6869
6870         * docs/gst/gstreamer-sections.txt:
6871         Rearrange the order of the methods so that related methods
6872         are grouped together in sections.
6873
6874 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
6875
6876         * gst/gstelement.c:
6877           Little clarification in the docs
6878
6879 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
6880
6881         * docs/README:
6882         formatting fix
6883         * plugins/elements/gstidentity.c:
6884         * plugins/elements/gstqueue.c:
6885         * plugins/elements/gsttee.c:
6886         * plugins/elements/gsttypefindelement.c:
6887         GST_ELEMENT_DETAILS formatting
6888
6889 2006-03-24  Wim Taymans  <wim@fluendo.com>
6890
6891         * libs/gst/base/gstbasesink.h:
6892         Only add fields, not insert or we break ABI.
6893
6894 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
6895
6896         * win32/common/libgstbase.def:
6897         * win32/common/libgstreamer.def:
6898           Update, add recently added functions.
6899
6900 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
6901
6902         * docs/gst/gstreamer-sections.txt:
6903         * gst/gstutils.c: (gst_pad_query_peer_position),
6904         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
6905         * gst/gstutils.h:
6906           API: add some new utility functions:
6907            - gst_pad_query_peer_position()
6908            - gst_pad_query_peer_duration()
6909            - gst_pad_query_peer_convert()
6910           
6911 2006-03-23  Wim Taymans  <wim@fluendo.com>
6912
6913         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6914         (gst_base_sink_init), (gst_base_sink_finalize),
6915         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
6916         (gst_base_sink_set_property), (gst_base_sink_get_property),
6917         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
6918         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
6919         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
6920         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
6921         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
6922         (gst_base_sink_preroll_object), (gst_base_sink_event),
6923         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
6924         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
6925         (gst_base_sink_query), (gst_base_sink_change_state):
6926         Decouple max-lateness and the fact that QoS messages are generated
6927         with a new property (qos).
6928         added API: GstBaseSink::async_play()
6929         Add vmethod so subclasses can be notified of ASYNC playing
6930         state changes.
6931         Collect timestamp start and stop to report better current
6932         position in EOS/PLAYING/PAUSED/READY/NULL.
6933         Refactor QoS/frame dropping and other measurements.
6934         API: GstBaseSrc::qos
6935         Fixes #326311
6936
6937         * libs/gst/base/gstbasesink.h:
6938         Added Private struct.
6939         API: gst_base_sink_set_qos_enabled()
6940         API: gst_base_sink_is_qos_enabled()
6941
6942 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
6943
6944         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
6945           If compiling against GLib-2.8 or newer, try to read the
6946           registry file using GMappedFile first before falling back
6947           to fopen() + fread() (#332151).
6948
6949 2006-03-22  Wim Taymans  <wim@fluendo.com>
6950
6951         * gst/gstinfo.c: (gst_debug_set_active),
6952         (gst_debug_category_set_threshold):
6953         Disable debugging unless explicitly activated.
6954         Fixes #335480.
6955
6956 2006-03-22  Wim Taymans  <wim@fluendo.com>
6957
6958         * gst/gstelement.c: (gst_element_set_locked_state),
6959         (gst_element_dispose):
6960         Cleanup the error case.
6961
6962         * gst/gstobject.c: (gst_object_dispose):
6963         print a critical when some object was disposed with
6964         a parent, also revive the object since it might
6965         crash the parent.
6966
6967 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
6968
6969         * tools/gst-launch.1.in:
6970           Fix another typo.
6971
6972 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6973
6974         * configure.ac:
6975         * tests/check/Makefile.am:
6976           disable some tests when we don't have a registry
6977         * tests/check/gst/gstutils.c: (gst_utils_suite):
6978           don't build the part that needs parsing
6979
6980 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6981
6982         * gst/Makefile.am
6983         * tests/examples/Makefile.am:
6984           fix --disable-parse build
6985
6986 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
6987
6988         * tools/gst-feedback.1.in:
6989           Fix typo: s/feeback/feedback/ (#133494).
6990
6991 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
6992
6993         * tools/Makefile.am:
6994         * tools/gst-launch.1.in:
6995           Add FILES section and correct entry about GST_REGISTRY_PATH
6996           environment variable (#133495; #133494).
6997
6998 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
6999
7000         * tools/Makefile.am:
7001         * tools/gst-md5sum.1.in:
7002         * tools/gst-md5sum.c:
7003           Remove gst-md5sum and man page (the md5sink element
7004           required was removed ages ago)
7005
7006 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
7007
7008         * gst/gststructure.c: (gst_structure_id_set_value):
7009           Make sure that string fields in structures/taglists
7010           contain valid UTF-8 - we don't want to pass rubbish to
7011           applications because of a buggy plugin (cp. #334167).
7012
7013 2006-03-21  Edward Hervey  <edward@fluendo.com>
7014
7015         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
7016         (gst_bin_handle_message_func):
7017         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
7018         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
7019         (gst_element_set_bus_func):
7020         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
7021         * gst/gstminiobject.c: (gst_value_set_mini_object),
7022         (gst_value_take_mini_object):
7023         * gst/gstpad.c: (gst_pad_set_pad_template):
7024         * gst/gstpipeline.c: (gst_pipeline_dispose),
7025         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
7026         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
7027         (gst_collect_pads_chain):
7028         * libs/gst/net/gstnettimeprovider.c:
7029         (gst_net_time_provider_set_property):
7030         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
7031         It's in fact all issues with gst_*object_replace().
7032
7033 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
7034
7035         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
7036         
7037         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7038         * pkgconfig/gstreamer-check.pc.in:
7039           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
7040
7041 2006-03-21  Edward Hervey  <edward@fluendo.com>
7042
7043         * gst/gstbuffer.h:
7044         * gst/gstevent.h:
7045         * gst/gstmessage.h:
7046         gst_[buffer|event|message]_ref() macros are replaced by a static
7047         inline functions because gcc-4.1 will about if the return value
7048         isn't used.
7049         * tests/check/gst/gstevent.c: (event_probe):
7050         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
7051
7052 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
7053
7054         * gst/gstutils.h:
7055         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
7056         the type' case. (Closes: #335195 for now). In the future, when we
7057         depend on GLib 2.10, we could also intern the type name using
7058         g_intern_static_string()
7059
7060 2006-03-20  Wim Taymans  <wim@fluendo.com>
7061
7062         * gst/gstbin.c: (gst_bin_handle_message_func),
7063         (bin_query_max_init), (bin_query_position_fold),
7064         (bin_query_position_done), (gst_bin_query):
7065         Position query should also take max of all streams.
7066
7067 2006-03-20  Wim Taymans  <wim@fluendo.com>
7068
7069         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
7070         (gst_fake_src_finalize):
7071         Fix leaks in fakesrc.
7072
7073         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
7074         Fix leaks in the testcase.
7075
7076 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
7077
7078         * gst/gst_private.h:
7079           add win32 specific import decoration(__declspec(dllimport)) 
7080           for all extern GstDebugCategory * variables
7081         * win32/common/libgstbase.def:
7082         * win32/common/libgstcontroller.def:
7083         * win32/common/libgstreamer.def:
7084           Add some exports, remove empty lines
7085         * win32/common/libgstdataprotocol.def:
7086         * win32/common/libgstdataprotocol.dsp:
7087         * win32/common/libgstnet.def:
7088         * win32/common/libgstnet.dsp:
7089           new project files and exportation files added
7090         
7091 2006-03-19  Wim Taymans  <wim@fluendo.com>
7092
7093         * tests/check/libs/basesrc.c: (eos_event_counter):
7094         Use proper return value for probe.
7095
7096 2006-03-17  Wim Taymans  <wim@fluendo.com>
7097
7098         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
7099         (gst_pad_push):
7100         Don't leak buffers, caps and pads on negotiation errors.
7101
7102 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
7103
7104         * docs/faq/cvs.xml:
7105         * docs/faq/dependencies.xml:
7106         * docs/faq/developing.xml:
7107         * docs/faq/faq.xml:
7108         * docs/faq/general.xml:
7109         * docs/faq/getting.xml:
7110         * docs/faq/legal.xml:
7111         * docs/faq/troubleshooting.xml:
7112         * docs/faq/using.xml:
7113         Faq review and update.
7114
7115 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
7116
7117         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
7118         (gst_pad_push):
7119         Don't pound the cpu to pieces by checking get_caps when accept_caps
7120         is called with the same caps as the pad already has.
7121         Use GST_DEBUG_OBJECT when outputting caps change information.
7122
7123 2006-03-15  Wim Taymans  <wim@fluendo.com>
7124
7125         * gst/gstclock.c: (gst_clock_class_init):
7126         Fix docs.
7127
7128 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
7129
7130         * gst/gstbuffer.h:
7131         Documentation fix.
7132
7133         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
7134         (gst_pad_accept_caps), (gst_pad_configure_sink),
7135         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
7136         Make the default acceptcaps behaviour be to check the requested 
7137         caps against the gst_pad_get_caps output. 
7138
7139         Ensure that gst_pad_accept_caps is used to check caps when a pad
7140         doesn't have a setcaps function, so that pads automatically refuse 
7141         caps that they don't allow in their pad template. (Fixes #332986)
7142
7143         When a buffer with attached caps is pushed, ensure that the source 
7144         pad receives those caps even if the element didn't call
7145         gst_pad_set_caps first.
7146
7147 2006-03-15  Wim Taymans  <wim@fluendo.com>
7148
7149         * libs/gst/base/gstadapter.c:
7150         Add some docs.
7151
7152 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
7153
7154         * win32/common/libgstbase.def:
7155         * win32/common/libgstcontroller.def:
7156         * win32/common/libgstreamer.def:
7157           Add a whole bunch of missing functions (#334434).
7158
7159 2006-03-14  Wim Taymans  <wim@fluendo.com>
7160
7161         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
7162         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
7163         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
7164         Better debug info when we receive a segment event.
7165         Reorganize a bit so we can pass the get_times() results around.
7166         Use the segment format when calculating the running time.
7167         Don't do QoS is sync is disabled or we have no clock or the
7168         element does not want us to sync to the clock.
7169         Don't drop buffers if QoS is disabled for now.
7170
7171 2006-03-14  Wim Taymans  <wim@fluendo.com>
7172
7173         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
7174         Marked the stats property as unimplemented so people don't get
7175         wild ideas.
7176         Add debug message when regression goes wrong.
7177         Added some more docs.
7178
7179 2006-03-14  Wim Taymans  <wim@fluendo.com>
7180
7181         * gst/gstsegment.c: (gst_segment_to_stream_time):
7182         Return correct return type in case of errors.
7183
7184 2006-03-14  Wim Taymans  <wim@fluendo.com>
7185
7186         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
7187           Don't segfault on invalid formats.
7188
7189 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
7190
7191         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
7192           Can't use gst_segment_to_running_time() when the segment
7193           is not in GST_TIME_FORMAT (like with filesink, for example).
7194           Stops flac encoding pipelines from spewing critical warnings
7195           at EOS (#331248).
7196           
7197 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
7198
7199         * gst/gstpipeline.c: (gst_pipeline_class_init):
7200           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
7201
7202         * plugins/elements/gsttypefindelement.c:
7203         (gst_type_find_element_handle_event):
7204           Don't try to typefind empty streams.
7205
7206 2006-03-14  Wim Taymans  <wim@fluendo.com>
7207
7208         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
7209         (gst_base_sink_do_qos):
7210         Separate QoS calculation.
7211         Only drop buffers when lateness is bigger than the 
7212         duration of the buffer.
7213
7214 2006-03-13  Wim Taymans  <wim@fluendo.com>
7215
7216         * gst/gstpipeline.c: (gst_pipeline_set_property),
7217         (gst_pipeline_get_property), (do_pipeline_seek),
7218         (gst_pipeline_change_state), (gst_pipeline_set_delay),
7219         (gst_pipeline_get_delay):
7220         Don't deadlock when reading properties.
7221
7222 2006-03-13  Wim Taymans  <wim@fluendo.com>
7223
7224         * libs/gst/base/gstbasetransform.c:
7225         (gst_base_transform_class_init), (gst_base_transform_init),
7226         (gst_base_transform_sink_event),
7227         (gst_base_transform_sink_eventfunc),
7228         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
7229         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
7230         (gst_base_transform_set_property),
7231         (gst_base_transform_get_property),
7232         (gst_base_transform_change_state), (gst_base_transform_update_qos),
7233         (gst_base_transform_set_qos_enabled),
7234         (gst_base_transform_is_qos_enabled):
7235         * libs/gst/base/gstbasetransform.h:
7236         Make basetransform virtual method for src events too.
7237         Handle QOS in basetransform.
7238         API: gst_base_transform_update_qos()
7239         API: gst_base_transform_set_qos_enabled()
7240         API: gst_base_transform_is_qos_enabled()
7241
7242 2006-03-13  Wim Taymans  <wim@fluendo.com>
7243
7244         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
7245         (gst_base_sink_do_sync):
7246         Small cleanups.
7247         Use QOS debug category.
7248
7249 2006-03-13  Wim Taymans  <wim@fluendo.com>
7250
7251         * plugins/elements/gstqueue.c:
7252         Very small doc update.
7253
7254 2006-03-13  Wim Taymans  <wim@fluendo.com>
7255
7256         * gst/gst_private.h:
7257         * gst/gstinfo.c: (_gst_debug_init):
7258         Added QOS debug category
7259
7260 2006-03-13  Wim Taymans  <wim@fluendo.com>
7261
7262         * docs/gst/gstreamer-sections.txt:
7263         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
7264         * gst/gstbin.h:
7265         * gst/gstbus.c: (gst_bus_class_init):
7266         * gst/gstbus.h:
7267         * gst/gstclock.c:
7268         * gst/gstelement.c: (gst_element_set_locked_state):
7269         * gst/gstsegment.c:
7270         Documentation updates.
7271
7272         * gst/gstpipeline.c: (gst_pipeline_get_type),
7273         (gst_pipeline_class_init), (gst_pipeline_init),
7274         (gst_pipeline_dispose), (gst_pipeline_set_property),
7275         (gst_pipeline_get_property), (do_pipeline_seek),
7276         (gst_pipeline_send_event), (gst_pipeline_change_state),
7277         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
7278         (gst_pipeline_get_delay):
7279         * gst/gstpipeline.h:
7280         Added methods for setting the delay.
7281         API: gst_pipeline_set_delay()
7282         API: gst_pipeline_get_delay()
7283         Add pipeline debug category
7284         Various cleanups.
7285         Updated docs.
7286         Don't reset stream time when seek failed.
7287
7288 2006-03-13  Wim Taymans  <wim@fluendo.com>
7289
7290         * docs/design/draft-klass.txt:
7291         * docs/design/part-clocks.txt:
7292         * docs/design/part-events.txt:
7293         * docs/design/part-gstbin.txt:
7294         * docs/design/part-gstpipeline.txt:
7295         * docs/design/part-messages.txt:
7296         * docs/design/part-negotiation.txt:
7297         * docs/design/part-overview.txt:
7298         * docs/design/part-preroll.txt:
7299         * docs/design/part-seeking.txt:
7300         * docs/design/part-states.txt:
7301         * docs/design/part-streams.txt:
7302         Documentation updates.
7303
7304 2006-03-12  Julien MOUTTE  <julien@moutte.net>
7305
7306         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
7307         us to leak strings...
7308
7309 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7310
7311         * libs/gst/net/gstnettimeprovider.c:
7312           fix docs
7313         * win32/common/config.h:
7314           update
7315
7316 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
7317
7318         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
7319
7320         * configure.ac:
7321           Don't check for libgnomeui (leftover from old examples
7322           that aren't built or disted any longer) (#334303).
7323           
7324 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
7325
7326         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
7327         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
7328           Emit RESOURCE_NO_SPACE_LEFT error here as well when
7329           there's no space left on the device.
7330
7331 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
7332
7333         * gst/gstclock.h:
7334           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
7335           to cast the input to GstClockTime before comparing with
7336           another GstClockTime value.
7337
7338 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7339
7340         * configure.ac:
7341           back to trunk
7342
7343 === release 0.10.4 ===
7344
7345 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
7346
7347         * configure.ac:
7348           releasing 0.10.4, "Light"
7349
7350 2006-03-10  Michael Smith  <msmith@fluendo.com>
7351
7352         * libs/gst/dataprotocol/dataprotocol.c:
7353           Fix docs for dataprocotol to not get the return types completely
7354           wrong for a few functions.
7355
7356 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
7357
7358         * docs/gst/gstreamer-sections.txt:
7359         * gst/gstpipeline.c: (gst_pipeline_class_init),
7360         (gst_pipeline_init), (gst_pipeline_set_property),
7361         (gst_pipeline_get_property), (gst_pipeline_change_state),
7362         (gst_pipeline_set_auto_flush_bus),
7363         (gst_pipeline_get_auto_flush_bus):
7364         * gst/gstpipeline.h:
7365           Add new API: gst_pipeline_set_auto_flush_bus() and
7366           gst_pipeline_get_auto_flush_bus() to disable automatic
7367           flushing of the pipeline's GstBus when going from READY
7368           to NULL state (#332045).
7369
7370 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
7371
7372         * docs/gst/gstreamer-sections.txt:
7373         * gst/gsturi.c: (gst_uri_has_protocol):
7374         * gst/gsturi.h:
7375            Add new API: gst_uri_has_protocol() (#333779).
7376
7377 2006-03-09  Wim Taymans  <wim@fluendo.com>
7378
7379         * gst/gstclock.c: (gst_clock_entry_new),
7380         (gst_clock_id_compare_func), (gst_clock_id_wait),
7381         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
7382         (gst_clock_init), (gst_clock_get_internal_time),
7383         (gst_clock_set_master), (do_linear_regression),
7384         (gst_clock_add_observation), (gst_clock_set_property):
7385         * gst/gstclock.h:
7386         Review docs.
7387         Small cleanups.
7388         Fix a possible segfault when the window-size is made smaller.
7389         Calculate jitter before performing the clock wait. Ideally
7390         the clock implementation should calculate jitter but we need
7391         API breakage for that.
7392
7393         * gst/gstsystemclock.c: (gst_system_clock_init):
7394         Docs review.
7395         
7396         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7397         Remove leftover else
7398
7399         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
7400         (gst_systemclock_suite):
7401         Added check to test GST_CLOCK_DIFF.
7402
7403 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
7404
7405         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
7406         (gst_type_find_helper_get_range):
7407           If we are provided with the size, we should implement
7408           GstTypeFind::get_length, so that typefind functions who
7409           want to can actually peek at the middle of a file.
7410
7411 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
7412
7413         * docs/manual/advanced-dataaccess.xml:
7414           Add some very very basic error checking.
7415
7416         * docs/pwg/appendix-checklist.xml:
7417           Some updates to the list of things to check when writing an element.
7418
7419 2006-03-08  Wim Taymans  <wim@fluendo.com>
7420
7421         * docs/design/part-element-transform.txt:
7422         Added some docs about the design of tranform elements.
7423
7424         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
7425         (gst_base_src_loop), (gst_base_src_change_state):
7426         Mark buffers with the DISCONT flag.
7427
7428 2006-03-08  Michael Smith  <msmith@fluendo.com>
7429
7430         * gst/gstregistry.h:
7431         * gst/gstregistryxml.c: (gst_registry_save),
7432         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
7433         (gst_registry_xml_save_pad_template),
7434         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
7435         (gst_registry_xml_write_cache):
7436           Rewrite registry-saving to avoid race conditions and check for
7437           failed writes.
7438
7439 2006-03-08  Wim Taymans  <wim@fluendo.com>
7440
7441         * libs/gst/base/gstbasetransform.c:
7442         (gst_base_transform_transform_caps),
7443         (gst_base_transform_transform_size),
7444         (gst_base_transform_prepare_output_buffer),
7445         (gst_base_transform_get_unit_size),
7446         (gst_base_transform_buffer_alloc),
7447         (gst_base_transform_handle_buffer),
7448         (gst_base_transform_change_state):
7449         Cleanups, separate normal flow from errors, add sensible
7450         DEBUG lines.
7451         Don't try to renegotiate when allocating an output buffer.
7452         Also copy DISCONT buffer flag when copying a buffer.
7453         Reset the transform after we finish streaming, not during.
7454
7455 2006-03-08  Wim Taymans  <wim@fluendo.com>
7456
7457         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7458         Use last buffer timestamp in qos message.
7459
7460 2006-03-07  Wim Taymans  <wim@fluendo.com>
7461
7462         Patch by: Christophe Fergeau
7463
7464         * docs/pwg/advanced-tagging.xml:
7465         * docs/pwg/building-pads.xml:
7466           fixes #333416
7467
7468 2006-03-07  Wim Taymans  <wim@fluendo.com>
7469
7470         * docs/libs/gstreamer-libs-sections.txt:
7471         Added basesink new methods.
7472
7473         * gst/gstevent.c:
7474         * gst/gstevent.h:
7475         Docs updates. Flesh out the QoS docs.
7476
7477         * libs/gst/base/gstadapter.c:
7478         Small doc clarification about ownership and flushing.
7479
7480         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
7481         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
7482         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
7483         (gst_base_sink_get_property), (gst_base_sink_do_sync):
7484         * libs/gst/base/gstbasesink.h:
7485         API additions: 
7486         Added new methods to allow subclass to control max-lateness 
7487         and sync.
7488         Generate very basic QoS events based on last sync observation.
7489         Updated docs, fix typo, added some QoS blurb.
7490
7491         * libs/gst/base/gstbasesrc.c:
7492         Remove obsolete _get_state() calls from docs.
7493
7494 2006-03-07  Wim Taymans  <wim@fluendo.com>
7495
7496         * docs/libs/gstreamer-libs-sections.txt:
7497         * libs/gst/base/gstbasetransform.h:
7498         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
7499         Fix docs for GstBaseSrc.
7500
7501 2006-03-07  Wim Taymans  <wim@fluendo.com>
7502
7503         * docs/gst/gstreamer-sections.txt:
7504         * gst/gstbuffer.h:
7505         * gst/gstvalue.c:
7506         * libs/gst/base/gstbasetransform.h:
7507         Small documentation fixes.
7508
7509 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
7510
7511         * gst/gstvalue.c:
7512           Document thread-unsafety of gst_value_register_foo_func()
7513           when used at the same time as gst_value_foo() (#322628).
7514
7515 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
7516
7517         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
7518         (gst_push_src_check_get_range):
7519           Push sources don't support pull mode by default.
7520
7521 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
7522
7523         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
7524         (gst_base_src_init), (gst_base_src_pad_check_get_range),
7525         (gst_base_src_default_check_get_range):
7526         * libs/gst/base/gstbasesrc.h:
7527           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
7528           provide default implementation, and rename
7529           gst_base_src_check_get_range() to
7530           gst_base_src_pad_check_get_range() for clarity.
7531
7532 2006-03-06  Wim Taymans  <wim@fluendo.com>
7533
7534         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
7535         Make property overridable.
7536
7537 2006-03-06  Wim Taymans  <wim@fluendo.com>
7538
7539         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
7540         (gst_base_sink_init), (gst_base_sink_set_property),
7541         (gst_base_sink_get_property), (gst_base_sink_do_sync):
7542         * libs/gst/base/gstbasesink.h:
7543         API addition: Make max-lateness a property.
7544
7545 2006-03-06  Wim Taymans  <wim@fluendo.com>
7546
7547         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
7548         (gst_base_sink_do_sync), (gst_base_sink_render_object):
7549         Don't ever draw a frame that is >10ms late.
7550
7551 2006-03-06  Michael Smith  <msmith@fluendo.com>
7552
7553         * gst/gstmessage.c: (_gst_message_copy):
7554           When copying a message, set the parent_refcount of the enclosed
7555           structure to point at the copy, not the original message.
7556
7557 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
7558
7559         Patch by: Christophe Fergeau
7560
7561         * gst/gstutils.h:
7562           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
7563           usable in c++ code (#333417)
7564
7565 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7566
7567         * gst/gstclock.h:
7568           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
7569
7570 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
7571
7572         * libs/gst/base/gstbasetransform.c:
7573         (gst_base_transform_transform_caps):
7574           Make sure caps are writable before passing them to
7575           gst_caps_append().
7576
7577 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
7578
7579         * gst/gsterror.h:
7580           Fix some minor docs errors.
7581
7582 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
7583
7584           Patch by: Ross Burton <ross at burtonini dot com>
7585
7586         * gst/gsterror.c: (_gst_resource_errors_init):
7587         * gst/gsterror.h:
7588           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
7589
7590 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
7591
7592         * gst/gst.c:
7593         Add a check and output a g_warning when GStreamer is built
7594         against GLib 2.6 but running against 2.8 or higher, and vice 
7595         versa. (Closes: #323542)
7596
7597 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
7598
7599         * gst/parse/parse.l:
7600           Commit patch for parse_launch syntax from #331255. Removes 
7601           support for quoted strings and mimetypes when writing filtered 
7602           caps. See the bug report for more details - I'm pretty sure this
7603           obscure feature is not in use by _anyone_ anywhere.
7604
7605           With this simple change, the size of the gstreamer.so here 
7606           drops from 2193KB to 1565KB.
7607
7608 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
7609
7610         * plugins/elements/gsttypefindelement.h:
7611         * plugins/elements/gsttypefindelement.c:
7612         (gst_type_find_element_src_event), (start_typefinding),
7613         (stop_typefinding), (gst_type_find_element_handle_event),
7614         (gst_type_find_element_chain),
7615         (gst_type_find_element_chain_do_typefinding):
7616           Use gst_type_find_helper_for_buffer() for chain-based
7617           typefinding.
7618
7619 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
7620
7621         * plugins/elements/gsttypefindelement.c:
7622         (gst_type_find_element_class_init),
7623         (gst_type_find_element_set_property),
7624         (gst_type_find_element_get_property):
7625           Deprecate "maximum" property (not only was it only taken into
7626           account for typefinding in push-mode anyway, it also was never
7627           actually possible to set it in the first place because the
7628           property was registered with the numeric property ID for the
7629           "minimum" property). Register "maximum" property correctly,
7630           for the sake of future copy'n'pasters. Remove some cruft
7631           from property get/set functions.
7632
7633 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
7634
7635         * plugins/elements/gsttypefindelement.c:
7636         (gst_type_find_element_activate):
7637           Use gst_type_find_helper_get_range() here, so we
7638           can honour the "minimum" property and also emit
7639           the signal with the correct probability of the found caps.
7640
7641 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
7642
7643         * docs/libs/gstreamer-libs-sections.txt:
7644         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
7645         (helper_find_suggest), (gst_type_find_helper_get_range),
7646         (gst_type_find_helper):
7647         * libs/gst/base/gsttypefindhelper.h:
7648           New API: gst_type_find_helper_get_range() (#333042).
7649
7650 2006-03-02  Michael Smith  <msmith@fluendo.com>
7651
7652         * gst/gstregistryxml.c: (load_feature):
7653           Asserting on a failure to read part of the registry is Not Cool.
7654           Just log a warning and return NULL (which is already handled)
7655
7656 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
7657
7658         * win32/common/libgstbase.def:
7659           added export of gst_type_find_helper_for_buffer
7660         * win32/common/libgstbase.def:
7661           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
7662           gst_ghost_pad_get_target
7663
7664 2006-02-28  Wim Taymans  <wim@fluendo.com>
7665
7666         * docs/design/draft-klass.txt:
7667         We use Filter now.
7668         Added Connector to mark elements that are only used to
7669         allow pipeline connections.
7670         Moved Debug to extra feature since most of them are 
7671         functionally something else.
7672
7673 2006-02-28  Wim Taymans  <wim@fluendo.com>
7674
7675         * docs/design/draft-klass.txt:
7676         Some updates and clarifications.
7677
7678 2006-02-28  Wim Taymans  <wim@fluendo.com>
7679
7680         * docs/design/draft-klass.txt:
7681         Proposal for klass field values.
7682
7683         * docs/design/part-streams.txt:
7684         Start of a doc describing stream anatomy.
7685
7686 2006-02-28  Wim Taymans  <wim@fluendo.com>
7687
7688         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
7689         Help the compiler a bit with type registration.
7690         Use existing forward cod path instead of duplicating it when 
7691         handling a message.
7692         
7693         * gst/gstbus.c: (gst_bus_get_type):
7694         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
7695         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
7696         * gst/gstclock.c: (gst_clock_get_type):
7697         * gst/gstelement.c: (gst_element_get_type),
7698         * gst/gstelementfactory.c: (gst_element_factory_get_type):
7699         * gst/gstindexfactory.c: (gst_index_factory_get_type):
7700         * gst/gstminiobject.c: (gst_mini_object_get_type):
7701         * gst/gstpad.c: (gst_pad_get_type):
7702         * gst/gstsegment.c: (gst_segment_get_type):
7703         * gst/gststructure.c: (gst_structure_get_type):
7704         * gst/gstsystemclock.c: (gst_system_clock_get_type):
7705         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
7706         * gst/gstvalue.c:
7707         Help compiler with type registration.
7708
7709         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
7710         Small doc update.
7711
7712 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
7713
7714         * plugins/elements/gsttypefindelement.c:
7715         (gst_type_find_element_handle_event):
7716           When we get an EOS event and have not found a type yet
7717           (most likely because we had not yet accumulated
7718           TYPE_FIND_MIN_SIZE of data yet), try to determine the
7719           type given the data we have so far. Fixes typefinding
7720           for very short streams again, most notably quicktime
7721           redirections as used on Apple's trailer site (#331701).
7722
7723 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
7724
7725         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
7726         (gst_type_find_helper):
7727           Try typefinding factories with the highest rank first.
7728
7729 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
7730
7731         * docs/libs/gstreamer-libs-docs.sgml:
7732         * docs/libs/gstreamer-libs-sections.txt:
7733         * libs/gst/base/gsttypefindhelper.c:
7734           Add section for typefind helper and add documentation
7735           for the old and the new function.
7736
7737 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
7738
7739         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
7740         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
7741         (gst_type_find_helper_for_buffer):
7742         * libs/gst/base/gsttypefindhelper.h:
7743           New API: gst_type_find_helper_for_buffer() (#332723).
7744           
7745 2006-02-27  Michael Smith  <msmith@fluendo.com>
7746
7747         Patch by: Loïc Minier
7748
7749         * configure.ac:
7750         * docs/Makefile.am:
7751         * docs/slides/Makefile.am:
7752           prevent CVS directories getting disted.
7753
7754 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
7755
7756         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
7757           Use the REFCOUNTING category for caps refcounting.
7758           
7759 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
7760
7761         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
7762           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
7763
7764 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
7765
7766         * plugins/elements/gsttypefindelement.c:
7767         (gst_type_find_element_activate):
7768           Use gst_pad_check_pull_range() before _activate_pull()
7769           to avoid unnecessary open/close (see #331690).
7770
7771 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
7772
7773         * gst/gstutils.c:
7774           Docs enhancement: make it crystal clear what the
7775           gst_pad_add_*_probe() callbacks should look like.
7776
7777 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
7778
7779         * libs/gst/base/gstbasesrc.c:
7780           Document how applications can stop recording from
7781           live sources (see #330996).
7782
7783 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
7784
7785         * tests/check/Makefile.am:
7786         * tests/check/libs/basesrc.c: (eos_event_counter),
7787         (basesrc_eos_events_pull), (basesrc_eos_events_push),
7788         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
7789         (gst_basesrc_suite), (main):
7790           ... and add some tests for the base source EOS stuff.
7791
7792 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
7793
7794         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
7795           Test case originally showed the problem fixed below,
7796           but was then amended. Add checks back at the place
7797           where they used to be.
7798
7799 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
7800
7801         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
7802         (gst_base_src_init), (gst_base_src_loop),
7803         (gst_base_src_activate_push), (gst_base_src_activate_pull),
7804         (gst_base_src_change_state):
7805         * libs/gst/base/gstbasesrc.h:
7806           Don't unconditionally send EOS when going from PAUSED to
7807           READY state, esp. make sure we don't send two EOS events
7808           in some cases (e.g. one when reaching EOS and one when
7809           going from PAUSED to READY). Also, we don't want to send
7810           EOS events when operating in pull mode. However, we do
7811           want to send an EOS event when shutting down a live
7812           source explicitly, for example (fixes #330996).
7813           
7814 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
7815
7816         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
7817           Update src->read_position after a seek when not using mmap.
7818           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
7819
7820 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
7821
7822         * gst/Makefile.am:
7823         * gst/gstparse.h:
7824         * gst/gstutils.c:
7825         * gst/gstutils.h:
7826         Make things work with --disable-parse as they do with 
7827         --disable-load-save - the symbols involved disappear, but the
7828         header is still installed and GST_DISABLE_PARSE is included via
7829         gstconfig.h
7830
7831 2006-02-20  Julien MOUTTE  <julien@moutte.net>
7832
7833         * libs/gst/base/gstbasetransform.c:
7834         (gst_base_transform_change_state): Fix a stupid bug. I was 
7835         sure I compiled that.
7836
7837 2006-02-20  Julien MOUTTE  <julien@moutte.net>
7838
7839         * gst/gstpad.c: (gst_pad_set_blocked_async):
7840         * gst/gstutils.c: (gst_pad_add_data_probe),
7841         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
7842         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
7843         (gst_pad_remove_buffer_probe): Make those function act on the
7844         ghostpad target when it's a ghostpad. (Closes #331727)
7845
7846 2006-02-20  Julien MOUTTE  <julien@moutte.net>
7847
7848         * libs/gst/base/gstbasetransform.c:
7849         (gst_base_transform_change_state): Make basetransform reusable.
7850         (Closes #331898)
7851
7852 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
7853
7854         * docs/random/release:
7855         Move the current documentation of how to do a release to the top
7856         of the file.
7857
7858         * gst/gstbin.c: (gst_bin_class_init),
7859         (gst_bin_handle_message_func):
7860         Allow multiple state-recalculation threads. (Closes #328873)
7861
7862 2006-02-19  Julien MOUTTE  <julien@moutte.net>
7863
7864         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
7865         * gst/gstpad.c: (gst_pad_set_event_function),
7866         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
7867         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
7868         2 strings. You can't use the STR_NULL macro on that.
7869
7870 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
7871
7872         * gst/gstpad.c: (gst_pad_set_event_function),
7873         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
7874         (gst_pad_set_getcaps_function)
7875         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
7876           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
7877           So now, we can use --gst-debug-level=5 on Windows
7878         * win32/common/libgstcontroller.def:
7879           Added export of gst_controller_init
7880         * win32/vs6/libgstcontroller.dsp:
7881           Fixed Release post build configuration
7882
7883 2006-02-17  Wim Taymans  <wim@fluendo.com>
7884
7885         * tests/check/gst/gstquery.c: (GST_START_TEST):
7886         Added another check.
7887
7888 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
7889
7890         * plugins/elements/gsttypefindelement.c: (find_peek):
7891           We can do peeks at non-zero offsets, as long as they
7892           fall within the buffer we have.
7893
7894 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
7895
7896         * tests/check/Makefile.am:
7897         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
7898         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
7899         (parse_suite), (main):
7900           Add testsuite for parse launch syntax
7901
7902 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
7903
7904         * plugins/elements/gsttypefindelement.c:
7905         (gst_type_find_element_chain):
7906           When typefinding is unsuccessful in the chain function, don't
7907           error out immediately. Only error out with NO_CAPS_FOUND if
7908           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
7909           otherwise simply wait for more data so we can try typefinding
7910           again with more data later. Also, don't attempt to typefind
7911           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
7912           this should improve typefinding from network sources where the
7913           size of the first buffer can be somewhat random.
7914
7915 2006-02-14  Wim Taymans  <wim@fluendo.com>
7916
7917         * docs/gst/gstreamer-sections.txt:
7918         * gst/gstpadtemplate.c:
7919         * gst/gstpadtemplate.h:
7920         Fix padtemplate docs, fixes #328805.
7921
7922 2006-02-14  Wim Taymans  <wim@fluendo.com>
7923
7924         * tools/gst-launch.c: (main):
7925         NO_PREROLL is not an ERROR so don't send confusing messages
7926         to the user.
7927
7928 2006-02-14  Wim Taymans  <wim@fluendo.com>
7929
7930         Patch by: Torsten Schoenfeld
7931
7932         * gst/gstregistry.c: (gst_registry_get_default),
7933         (_gst_registry_cleanup):
7934         Protect default registry with lock and ref/sink it.
7935         Fixes #324818
7936
7937 2006-02-14  Wim Taymans  <wim@fluendo.com>
7938
7939         * gst/gstbuffer.c:
7940         * gst/gstquery.c: (gst_query_list_add_format),
7941         (gst_query_set_formatsv), (gst_query_parse_formats_length),
7942         (gst_query_parse_formats_nth):
7943         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
7944         Docs fixes.
7945
7946 2006-02-14  Wim Taymans  <wim@fluendo.com>
7947
7948         * docs/gst/gstreamer-sections.txt:
7949         Reworked query docs.
7950
7951         * gst/gstquery.c: (gst_query_new_formats),
7952         (gst_query_list_add_format), (gst_query_set_formats),
7953         (gst_query_set_formatsv), (gst_query_parse_formats_length),
7954         (gst_query_parse_formats_nth):
7955         * gst/gstquery.h:
7956         Flesh out formats query, added some new methods.
7957         Fix part of #324398.
7958
7959         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
7960         Added query creation tests.
7961
7962 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
7963
7964         * gst/gstpad.c: (fixate_value):
7965         Add a default fixation for fraction lists.
7966
7967 2006-02-13  Wim Taymans  <wim@fluendo.com>
7968
7969         * gst/gsttask.c: (gst_task_init), (gst_task_func),
7970         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
7971         (gst_task_join):
7972         * gst/gsttask.h:
7973         Detect and warn for obvious deadlocks. fixes #320340
7974         Fix error case where lock was not released.
7975
7976         * tests/check/Makefile.am:
7977         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
7978         (task_func), (gst_element_suite), (main):
7979         Add task check.
7980
7981 2006-02-13  Wim Taymans  <wim@fluendo.com>
7982
7983         * docs/gst/gstreamer-sections.txt:
7984         * gst/gstbus.c:
7985         Add new functions to docs.
7986
7987 2006-02-13  Wim Taymans  <wim@fluendo.com>
7988
7989         * docs/design/part-TODO.txt:
7990         Updated TODO list, basesrc supports seeking to non-bytes
7991         formats.
7992
7993         * docs/design/part-element-sink.txt:
7994         Update docs.
7995
7996         * gst/gstbin.c: (bin_replace_message),
7997         (gst_bin_handle_message_func):
7998         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
7999         * gst/gstevent.c: (gst_event_finalize):
8000         * gst/gstpad.c: (gst_pad_event_default_dispatch),
8001         (gst_pad_send_event):
8002         Use shiny new _TYPE_NAME macros.
8003
8004         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
8005         Move debug statement up.
8006
8007         * gst/gstelement.c: (gst_element_set_locked_state):
8008         Add some debugging.
8009
8010 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
8011
8012         * docs/gst/gstreamer-sections.txt:
8013         * gst/gstmessage.h:
8014         * gst/gstquery.h:
8015           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
8016           macros (#330906). Also, document the already existing
8017           GST_QUERY_TYPE macro.
8018
8019 2006-02-13  Wim Taymans  <wim@fluendo.com>
8020
8021         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
8022         (event_probe), (GST_START_TEST):
8023         Only events up to the pipeline EOS are counted, there are
8024         some more when going to NULL currently which we don't care
8025         about for now.
8026
8027 2006-02-13  Wim Taymans  <wim@fluendo.com>
8028
8029         * gst/gstpad.c: (gst_pad_send_event):
8030         Correctly check flushing and emit probes. fixes #330125
8031
8032 2006-02-10  Andy Wingo  <wingo@pobox.com>
8033
8034         * gst/gstbus.c (gst_bus_class_init): Declare our private data
8035         structure.
8036         (gst_bus_init): Cache the location of the private data in the
8037         instance structure.
8038         (gst_bus_enable_sync_message_emission) 
8039         (gst_bus_disable_sync_message_emission): Implement new public
8040         functions.
8041         (gst_bus_post): Emit the sync-message signal if the user asked for
8042         it. Fixes #330684.
8043
8044         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
8045         location of the bus-private structure.
8046         (gst_bus_enable_sync_message_emission)
8047         (gst_bus_disable_sync_message_emission): API addition
8048
8049 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
8050
8051         Patch by: Vincent Torri
8052
8053         * docs/pwg/building-boiler.xml:
8054         PWG patch from #326800
8055
8056 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
8057
8058         * configure.ac:
8059         * docs/Makefile.am:
8060         * docs/design/Makefile.am:
8061           Dist design docs.
8062
8063 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
8064
8065         * configure.ac:
8066           back to CVS
8067
8068 === release 0.10.3 ===
8069
8070 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
8071
8072         * configure.ac:
8073           releasing 0.10.3, "Like a virgin"
8074
8075 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
8076
8077         * configure.ac:
8078           2nd prerelease of 0.10.3
8079           Bump libtool versioning.
8080
8081 2006-02-07  Andy Wingo  <wingo@pobox.com>
8082
8083         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
8084         update last_stop if we're in TIME format and the timestamp is
8085         valid.
8086
8087         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
8088         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
8089         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
8090         If we get a new newsegment with a different format, adapt
8091         accordingly.
8092
8093         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
8094         of 0. Not a problem, really.
8095
8096         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
8097         warn if sync=true.
8098
8099 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
8100
8101         * configure.ac:
8102           Prelease of 0.10.3
8103
8104 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
8105
8106         * win32/vs7:
8107           project files updated to the default vs7 configuration
8108         * win32/common/libgstbase.def:
8109         * win32/common/libgstreamer.def:
8110           added new symbols,
8111           removed empty lines,
8112           sorted all exported symbols alphabetically
8113         * win32/common/dirent.c:
8114         * win32/common/dirent.h:
8115         * win32/common/gchar.h:
8116           use windows line end.
8117           
8118 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
8119
8120         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
8121           Send EOS event when stopping.
8122
8123 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
8124
8125         * docs/README:
8126           Tell folks what to do if the plugin-foobar.xml file
8127           hasn't been generated for a newly-added plugin.
8128
8129 2006-02-05  Julien MOUTTE  <julien@moutte.net>
8130
8131         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
8132         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
8133         (gst_collect_pads_start), (gst_collect_pads_stop),
8134         (gst_collect_pads_event): Collectpads now holds a reference
8135         to the GstPad that was added. Indeed we don't want to look
8136         at pads that might just go away with no warning...
8137
8138 2006-02-05  Julien MOUTTE  <julien@moutte.net>
8139
8140         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
8141         (gst_collect_pads_start), (gst_collect_pads_stop),
8142         (gst_collect_pads_event), (gst_collect_pads_chain):
8143         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
8144         Mark Nauwelaerts's patch on bug #328491.
8145
8146 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
8147
8148         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
8149         (gst_utils_suite):
8150           Add some simple tests for gst_parse_bin_from_description() and
8151           gst_bin_find_unconnected_pad() (#329069).
8152
8153 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
8154
8155         * tools/gst-launch.c: (event_loop), (main):
8156           Catch errors during preroll (#320084).
8157
8158 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
8159
8160         * plugins/elements/gsttypefindelement.c:
8161         (gst_type_find_element_activate):
8162           Post TYPE_NOT_FOUND error message when typefinding
8163           is unsuccessful in the activate function as well.
8164
8165 2006-02-02  Wim Taymans  <wim@fluendo.com>
8166
8167         * docs/design/part-element-sink.txt:
8168         Updated doc.
8169
8170 2006-02-02  Wim Taymans  <wim@fluendo.com>
8171
8172         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
8173         (gst_base_sink_render_object),
8174         (gst_base_sink_queue_object_unlocked):
8175         Only keep track of prerollable items when we are 
8176         prerolling.
8177         Before rendering after preroll, always check if we
8178         have queued items.
8179         Added some more debugging.
8180
8181 2006-02-02  Wim Taymans  <wim@fluendo.com>
8182
8183         * gst/gstelement.c: (gst_element_continue_state),
8184         (gst_element_set_state_func), (gst_element_change_state):
8185         Fixed #326576, been running this for quite some time with
8186         no regressions at all.
8187
8188 2006-02-02  Wim Taymans  <wim@fluendo.com>
8189
8190         * common/gst.supp:
8191         Added more suppressions
8192
8193 2006-02-02  Wim Taymans  <wim@fluendo.com>
8194
8195         * docs/design/part-element-sink.txt:
8196         Updated document.
8197
8198         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
8199         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
8200         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
8201         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
8202         (gst_base_sink_do_sync), (gst_base_sink_render_object),
8203         (gst_base_sink_preroll_object),
8204         (gst_base_sink_queue_object_unlocked),
8205         (gst_base_sink_queue_object), (gst_base_sink_event),
8206         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
8207         (gst_base_sink_loop), (gst_base_sink_activate_pull),
8208         (gst_base_sink_get_position), (gst_base_sink_change_state):
8209         * libs/gst/base/gstbasesink.h:
8210         Totally refactored matching the design doc.
8211         Use two segments, one to clip incomming buffers and another to
8212         perform sync.
8213         Handle queueing correctly, bypass the queue when playing.
8214         Make EOS cancelable.
8215         Handle errors correctly when operating in pull based mode.
8216
8217         * tests/check/elements/fakesink.c: (GST_START_TEST),
8218         (fakesink_suite):
8219         Added new check for sinks.
8220
8221 2006-02-02  Wim Taymans  <wim@fluendo.com>
8222
8223         * gst/gstsegment.c: (gst_segment_clip):
8224         No reason to refuse to clip when start == -1
8225
8226 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
8227
8228         * docs/README:
8229         * docs/manual/intro-basics.xml:
8230         * docs/manual/intro-preface.xml:
8231         * docs/manual/manual.xml:
8232         * docs/pwg/advanced-dparams.xml:
8233         * docs/pwg/intro-basics.xml:
8234         * docs/pwg/intro-preface.xml:
8235         * docs/pwg/pwg.xml:
8236           describe dparams (controller) for plugins
8237           unify docs a little more
8238
8239 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
8240
8241         * docs/gst/gstreamer-sections.txt:
8242         * gst/gstutils.c: (element_find_unconnected_pad),
8243         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
8244         * gst/gstutils.h:
8245           Add new API: gst_parse_bin_from_description() and
8246           gst_bin_find_unconnected_pad() (#329069).
8247
8248 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
8249
8250         * docs/manual/README:
8251           uncover a nasty detail of the docs build
8252
8253 2006-01-31  Wim Taymans  <wim@fluendo.com>
8254
8255         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
8256         Don't cache duration messages if we're not going to use or
8257         free them.
8258
8259 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
8260
8261         * docs/manual/advanced-dparams.xml:
8262         * docs/pwg/advanced-dparams.xml:
8263           more dparam docs
8264         * gst/gstindex.c:
8265           fix docs
8266         * libs/gst/controller/lib.c: (gst_controller_init):
8267           init just once
8268
8269 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
8270
8271         * gst/gstelement.c: (gst_element_message_full):
8272           also show file/line/func if no additional debug was given
8273
8274 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
8275         
8276         * win32/vs7/grammar.vcproj:
8277           activate copy of autogenerated files for Release mode
8278
8279 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
8280         
8281         * win32/common/libgstreamer.def:
8282           export gst_value_compare
8283
8284 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
8285
8286         * plugins/elements/Makefile.am:
8287         * plugins/elements/gstelements.c:
8288         * plugins/elements/gstfdsink.c: (_do_init),
8289         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
8290         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
8291         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
8292         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
8293         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
8294         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
8295         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
8296         * plugins/elements/gstfdsink.h:
8297         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
8298
8299 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
8300
8301         * docs/manual/advanced-dparams.xml:
8302           describe controller
8303         * docs/manual/advanced-position.xml:
8304         * docs/manual/basics-init.xml:
8305         * docs/manual/manual.xml:
8306         * docs/manual/titlepage.xml:
8307         * docs/pwg/pwg.xml:
8308         * docs/pwg/titlepage.xml:
8309           cleanup xml (more to come)
8310         * libs/gst/controller/gstcontroller.c:
8311           fix typo
8312
8313 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
8314         
8315         * win32/vs6/grammar.dsp:
8316           add autogen of gstmarshal.c,h for Release mode
8317                 
8318 2006-01-30  Wim Taymans  <wim@fluendo.com>
8319
8320         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
8321         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
8322         (gst_base_sink_handle_object), (gst_base_sink_event),
8323         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
8324         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
8325         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
8326         (gst_base_sink_deactivate), (gst_base_sink_activate),
8327         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
8328         (gst_base_sink_query), (gst_base_sink_change_state):
8329         Basesink cleanups, remove some old code.
8330         Handle the case where a subclass can preroll in the render
8331         method (mostly audiosinks).
8332         Handle more events.
8333         Remove some locks around variables that are now protected
8334         with the PREROLL_LOCK (clock_id, flushing, ..).
8335         Optimize position query some more, do correct locking.
8336         Remove old code to push queue in state change, this is not
8337         needed anymore since preroll blocks on all prerollable items 
8338         now.
8339         Almost implemented as described in design doc.
8340
8341 2006-01-30  Wim Taymans  <wim@fluendo.com>
8342
8343         * tests/check/gst/gstbin.c: (GST_START_TEST):
8344         Wait for refcount to settle down before checking.
8345
8346 2006-01-30  Wim Taymans  <wim@fluendo.com>
8347
8348         * docs/design/part-element-sink.txt:
8349         Pseudo code overview of desired sink behaviour regarding
8350         preroll.
8351
8352 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
8353         * win32/vs6/grammar.dsp:
8354           fix some bugs in Release mode for autogenerated files
8355                 
8356 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
8357         * win32/common/libgstbase.def:
8358         * win32/common/libgstreamer.def:
8359           export some new symbols: gst_base_src_set_format,
8360           gst_iterator_next, gst_structure_set_valist
8361
8362 2006-01-29  Julien MOUTTE  <julien@moutte.net>
8363
8364         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
8365         Set pad functions unconditionally. Fixes #329105.
8366
8367 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
8368         * win32/vs8:
8369           add vs8 project files created by Sergey Scobich
8370
8371 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
8372
8373         * gst/gstutils.c: (gst_element_unlink_pads):
8374         Don't leak pad references.
8375
8376         * tests/check/elements/fakesink.c: (GST_START_TEST):
8377         * tests/check/generic/sinks.c: (GST_START_TEST):
8378         * tests/check/generic/states.c: (GST_START_TEST):
8379         * tests/check/gst/gstbin.c: (GST_START_TEST):
8380         * tests/check/gst/gstcaps.c: (GST_START_TEST):
8381         * tests/check/gst/gstelement.c: (GST_START_TEST):
8382         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
8383         * tests/check/gst/gstiterator.c: (GST_START_TEST):
8384         * tests/check/gst/gstvalue.c: (GST_START_TEST):
8385         Fix a bunch of leaks. Make generic/sinks.c
8386         use a bit less cpu by slowing the buffer rate
8387         between fakesrc and fakesink.
8388         
8389 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
8390         * gst/gstcaps.c:
8391         * gst/gstelement.c: (gst_element_send_event):
8392         * gst/gstevent.c:
8393         * gst/gstinfo.c:
8394         * gst/gstiterator.c:
8395         * gst/gstiterator.h:
8396         * gst/gstpad.c: (gst_pad_send_event):
8397         * gst/gststructure.c:
8398         * gst/gsturi.c:
8399         * gst/gstutils.c:
8400         * gst/gstvalue.c:
8401         * libs/gst/base/gstadapter.c:
8402           doc fixes, to link to function, just write gst_cool_function(), don't
8403           prefix with '#'
8404
8405 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
8406
8407         * plugins/elements/gsttee.c: (gst_tee_do_push),
8408         (gst_tee_handle_buffer):
8409         Always prefer an actual return value from a src
8410         pad in place of NOT_LINKED. This means we return
8411         WRONG_STATE when all src pads are WRONG_STATE
8412         instead of NOT_LINKED.
8413
8414         Lock when replacing the last message to prevent
8415         racing with the get_property method.
8416
8417         Add debug output
8418
8419 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
8420
8421         * tests/check/Makefile.am:
8422         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
8423         (main):
8424         Add a very simple check that should have caught the memleak I fixed
8425         last night (if not for the slice allocator hiding it)
8426
8427 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
8428
8429         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
8430         (gst_bin_remove_func), (gst_bin_handle_message_func),
8431         (bin_query_duration_fold), (bin_query_generic_fold):
8432         Clean up references to the clock provider when disposed or when
8433         handling a clock-lost message from it.
8434
8435         Unref sinks when performing a query via gst_iterator_fold, as the
8436         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
8437
8438         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
8439         (gst_clock_set_master):
8440         Drop our reference to the master clock, if any, when we are disposed.
8441
8442         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
8443         Chain up in dispose. 
8444
8445 2006-01-26  Wim Taymans  <wim@fluendo.com>
8446
8447         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
8448         Add some debugging.
8449
8450 2006-01-26  Julien MOUTTE  <julien@moutte.net>
8451
8452         * plugins/elements/gsttee.c: (gst_tee_do_push),
8453         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
8454         handles pad being NOT_LINKED or in WRONG_STATE.
8455
8456 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
8457
8458         * win32/MANIFEST:
8459           more updating
8460
8461 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
8462
8463         * win32/MANIFEST:
8464           remove obsolete entry
8465
8466 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
8467
8468         * docs/gst/gstreamer-sections.txt:
8469         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
8470         (gst_bin_iterate_sources), (gst_bin_send_event):
8471         * gst/gstbin.h:
8472         * gst/gstelement.c: (gst_element_send_event):
8473         * gst/gstevent.c:
8474         * gst/gstpad.c: (gst_pad_send_event):
8475           added code for downstream events, reviewed docs in gstevent.c
8476
8477 2006-01-25  Julien MOUTTE  <julien@moutte.net>
8478
8479         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
8480         We only query position using the clock in the playing state.
8481         Query peer in the other cases.
8482         * win32/common/config.h: Updates.
8483
8484 2006-01-24  Wim Taymans  <wim@fluendo.com>
8485
8486         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
8487         A clock entry that is scheduled for the exact time of the
8488         clock is still in time.
8489
8490         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8491         (gst_base_sink_do_sync):
8492         Add some more debug info.
8493
8494 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
8495
8496         * win32/vs7:
8497           Add new vs7 project files and solution.
8498
8499 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
8500
8501         * win32/vs7:
8502           all files removed as they were out-dated.
8503
8504 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8505
8506         * docs/random/release:
8507           update notes
8508         * gst/gstbin.c: (gst_bin_init):
8509         * gst/gstbus.c: (gst_bus_new):
8510         * gst/gstbus.h:
8511         * gst/gstpipeline.c: (gst_pipeline_init):
8512           use gst_bus_new(), improve logging, fix docs
8513         * win32/common/config.h:
8514           update for cvs build
8515
8516 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8517
8518         * autogen.sh:
8519           up required version of automake to 1.7
8520
8521 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
8522
8523         * win32/common/libgstreamer.def:
8524           export gst_buffer_is_metadata_writable
8525
8526 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
8527
8528         * docs/gst/gstreamer-sections.txt:
8529         * gst/gstevent.h:
8530           Add gst_event_replace() (#327001)
8531
8532 2006-01-20  Wim Taymans  <wim@fluendo.com>
8533
8534         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
8535         Make it actually compile too..
8536
8537 2006-01-20  Wim Taymans  <wim@fluendo.com>
8538
8539         * gst/gstcaps.c:
8540         Clarify behaviour of _is_equal() when passing NULL parameters.
8541
8542         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
8543         (gst_pad_set_caps):
8544         Cleanups. Don't unref NULL caps.
8545         When setting the same caps, protect caps of the pad with
8546         proper lock.
8547         Use full functionality of _is_equal() when comparing caps.
8548
8549 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
8550
8551         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
8552         Don't loop infinitely if there are no buffers to present. Partially
8553         fixes #327197, but collectpads is just broken for reusing elements
8554         to do multiple encodes atm.
8555
8556 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
8557
8558         * tools/gst-inspect.c: (print_element_features):
8559         * tools/gst-xmlinspect.c: (main):
8560         URL_HANDLER is not a plugin feature we can search for in
8561         the registry.
8562
8563 2006-01-19  Edward Hervey  <edward@fluendo.com>
8564
8565         * gst/gstelement.c: (gst_element_pads_activate): 
8566         When activating, do src pads first, then sink pads.
8567         When de-activating, do sink pads first, then src pads.
8568
8569 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
8570
8571         * docs/gst/gstreamer-sections.txt:
8572         Add gst_index_add_associationv to the docs
8573
8574 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
8575
8576         * gst/gstevent.c:
8577           Fix docs typo
8578
8579         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
8580         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
8581           Do some refactoring. Doesn't actually change functionality,
8582           but makes landing the DRAIN event easier later.
8583
8584 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
8585
8586         * docs/pwg/advanced-scheduling.xml:
8587           Update from 0.9.x to 0.10 API and make example a bit
8588           clearer.
8589
8590 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
8591
8592         * docs/gst/gstreamer-sections.txt:
8593         Add gst_buffer_(is|make)_metadata_writable methods.
8594
8595 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
8596
8597         * docs/design/part-sparsestreams.txt:
8598         Update sparse streams doc, hopefully for greater clarity
8599
8600 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
8601
8602         * docs/design/part-events.txt:
8603         Remove mention of FILLER events.
8604         Add DRAIN event.
8605
8606         * docs/design/part-sparsestreams.txt:
8607         Write some things about using NEWSEGMENT to keep sparse streams
8608         flowing.
8609
8610 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
8611
8612         * gst/gstbin.c: (gst_bin_dispose):
8613           Guard gst_object_unref call against a NULL object (dispose
8614           can theoretically be called multiple times).
8615           
8616 2006-01-18  Wim Taymans  <wim@fluendo.com>
8617
8618         * gst/gstbin.c: (gst_bin_element_set_state):
8619         * gst/gstclock.c: (gst_clock_id_wait):
8620         Added some more debug info.
8621
8622         * libs/gst/base/gstadapter.c:
8623         Added more docs.
8624
8625         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8626         (gst_base_sink_do_sync), (gst_base_sink_chain):
8627         Added some comments.
8628
8629 2006-01-18  Wim Taymans  <wim@fluendo.com>
8630
8631         * tests/check/Makefile.am:
8632         * tests/check/elements/fakesink.c: (chain_async_buffer),
8633         (chain_async), (chain_async_return), (GST_START_TEST),
8634         (fakesink_suite), (main):
8635         Added fakesink test that checks prerolling and clipping
8636         behaviour.
8637
8638         * tests/check/gst/gstutils.c: (GST_START_TEST):
8639         Make check run faster so that buildbots don't timeout.
8640
8641 2006-01-18  Wim Taymans  <wim@fluendo.com>
8642
8643         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8644         (gst_base_sink_do_sync):
8645         Some cleanups.
8646         When the sink finishes blocking on the preroll buffer, it can
8647         immediatly render it instead of rendering when the next buffer
8648         arrives.
8649
8650 2006-01-18  Wim Taymans  <wim@fluendo.com>
8651
8652         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
8653         (gst_base_sink_get_property), (gst_base_sink_do_sync),
8654         (gst_base_sink_chain):
8655         Small cleanups.
8656         GST_ELEMENT_CLOCK and sync are protected with LOCK.
8657         Don't store _last_stop if the buffer is dropped.
8658
8659 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
8660
8661         * plugins/elements/gsttypefindelement.c:
8662         (gst_type_find_element_class_init):
8663           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
8664           object method handler that sets the caps on the pad and we want
8665           that to happen before we emit the signal (fixes e.g. feeding a
8666           plain text file to decodebin).
8667
8668 2006-01-18  Christian Schaller  <Christian@fluendo.com>
8669
8670         * gst/gstplugin.c: Add MPL and Proprietary as license options
8671
8672 2006-01-18  Andy Wingo  <wingo@pobox.com>
8673
8674         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
8675         symbol was exported before, it appears this was just an oversight.
8676         Fixes #168703.
8677         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
8678
8679         * gst/gstindex.c (gst_index_add_associationv): Changed int in
8680         prototype to gint. OK since this prototype was not in the header.
8681
8682 2006-01-17  Andy Wingo  <wingo@pobox.com>
8683
8684         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
8685         registry while we remove plugins.
8686
8687         * tools/gst-inspect.c (print_element_info): Don't unref the
8688         factory arg, that should be the responsibility of whatever code
8689         received the ref. Fixes a double-free when called from
8690         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
8691         (main): Unref the factory if we have one.
8692         (print_element_list): No change -- relies on the
8693         plugin_feature_list_free to free the list of features.
8694
8695 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
8696
8697         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
8698         (gst_buffer_make_metadata_writable):
8699         * gst/gstbuffer.h:
8700         * libs/gst/base/gstbasetransform.c:
8701         (gst_base_transform_prepare_output_buf):
8702         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
8703         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8704           Replace gst_buffer_(make|is)_metadata_writable patch now
8705           that the release is out.
8706
8707 2006-01-17  Andy Wingo  <wingo@pobox.com>
8708
8709         * gst/gstregistry.c: Reflow design comment. Update so as to speak
8710         in the present tense without reference to versions.
8711
8712         * gst/gstregistry.c (gst_registry_add_plugin)
8713         (gst_registry_remove_plugin, gst_registry_remove_feature)
8714         (gst_registry_find_feature, gst_registry_get_feature_list)
8715         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
8716         (gst_registry_lookup, gst_registry_scan_path)
8717         (_gst_registry_remove_cache_plugins)
8718         (gst_registry_get_feature_list_by_plugin): Add argument
8719         validation.
8720
8721 === release 0.10.2 ===
8722
8723 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
8724
8725         * configure.ac:
8726           releasing 0.10.2, "If man is five"
8727
8728 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
8729
8730         * gst/gstbuffer.c:
8731         * gst/gstbuffer.h:
8732         * libs/gst/base/gstbasetransform.c:
8733         (gst_base_transform_prepare_output_buf):
8734         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
8735         * tests/check/gst/gstbuffer.c: (gst_test_suite):
8736           Back out patch until after the release.
8737
8738 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
8739
8740         * gst/gstminiobject.c:
8741           Spelling fix in docs.
8742         * ChangeLog - remove conflict indicator
8743
8744 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
8745
8746         Reviewed By: Andy Wingo
8747
8748         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
8749         (gst_buffer_make_metadata_writable):
8750         * gst/gstbuffer.h:
8751           Add gst_buffer_(is|make)_metadata_writable as analogues of
8752           gst_buffer_(is|make)_writable.
8753
8754         * libs/gst/base/gstbasetransform.c:
8755         (gst_base_transform_prepare_output_buf):
8756         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
8757           Use name gst_buffer_(is|make)_metadata_writable functions.
8758
8759         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8760           Test gst_buffer_(is|make)_metadata_writable
8761         
8762           (Closes: #324162)
8763
8764 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8765
8766         * docs/manual/Makefile.am:
8767           don't do parallel make
8768         * configure.ac:
8769           AC_SUBST HOST_CPU
8770         * win32/common/config.h.in:
8771           add generations for HOST_CPU and GST_MAJORMINOR
8772         * win32/common/config.h:
8773           commit generated result
8774
8775 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
8776
8777         * docs/manual/appendix-integration.xml:
8778           Update GNOME integration section to use gst_init_get_option_group()
8779           instead of the old popt stuff (#322911). Also, GNOME applications
8780           should  now use gconf*sink and gconf*src instead of the old gconf
8781           helper lib we had.
8782
8783 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
8784
8785
8786         * docs/gst/gstreamer-docs.sgml:
8787         * docs/gst/gstreamer-sections.txt:
8788         * docs/libs/gstreamer-libs-sections.txt:
8789           add new API entries to the docs
8790         * libs/gst/controller/Makefile.am:
8791         * libs/gst/controller/gstcontroller.c:
8792         * libs/gst/controller/gstcontroller.h:
8793         * libs/gst/controller/gstcontrollerprivate.h:
8794         * libs/gst/controller/gsthelper.c:
8795         * libs/gst/controller/gstinterpolation.c:
8796           move private structs to private header
8797         * po/README:
8798           gstreamer-0.7 -> gstreamer-0.10
8799         * tests/check/libs/struct_i386.h:
8800           remove private structs
8801
8802 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8803
8804         * plugins/indexers/Makefile.am:
8805           Fixes as part of #317048
8806
8807 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8808
8809         * plugins/indexers/Makefile.am:
8810           fix #316086 - compilation when mmap is missing
8811
8812 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
8813
8814         * libs/gst/base/gstbasesink.c:
8815           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
8816           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
8817         * win32/common/config.h:
8818           added some defines GST_MAJORMINOR and HOST_CPU
8819         * win32/common/libgstbase.def:
8820         * win32/common/libgstreamer.def:
8821           added some exported functions.
8822
8823 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
8824
8825         * libs/gst/controller/gstcontroller.c:
8826         (gst_controlled_property_set_interpolation_mode),
8827         (gst_controlled_property_new):
8828         * libs/gst/controller/gstcontroller.h:
8829         * libs/gst/controller/gstinterpolation.c:
8830         (interpolate_none_get_string_value_array):
8831           make G_TYPE_STRING controlable
8832
8833 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
8834
8835         * tools/README:
8836         * tools/gst-feedback.1.in:
8837         * tools/gst-inspect.1.in:
8838         * tools/gst-launch.1.in:
8839         * tools/gst-md5sum.1.in:
8840         * tools/gst-typefind.1.in:
8841         * tools/gst-xmlinspect.1.in:
8842         * tools/gst-xmllaunch.1.in:
8843           cleanup man-pages, remove reference to gst-register, document env-vars
8844
8845 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
8846
8847         * gst/gstbuffer.c: (gst_buffer_span):
8848           gst_buffer_span should copy the timestamp of the first buffer
8849           if they were both originally overlapping subbuffers of the 
8850           same parent, using the same logic as the 'slow copy' case.
8851
8852 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
8853
8854         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
8855           Need to awaken ALL the pads when we pop a buffer, otherwise
8856           collectpads only works when there is 2 input streams.
8857
8858 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
8859
8860         * docs/random/ensonic/media-device-daemon.txt:
8861           more ideas (dbus)
8862         * gst/gstbuffer.c:
8863           fix doc example, add clarification
8864         * tools/gst-launch.1.in:
8865           add initial info about GST_PLUGIN_PATH, needs more work
8866
8867 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
8868
8869         * docs/manual/basics-bins.xml:
8870         * docs/manual/basics-elements.xml:
8871         * docs/manual/intro-basics.xml:
8872           Some more minor docs additions and updates.
8873
8874 2006-01-11  Wim Taymans  <wim@fluendo.com>
8875
8876         * docs/manual/basics-bins.xml:
8877         * docs/manual/basics-elements.xml:
8878         Some small fixes as pointed out by Ser-ver on IRC.
8879
8880 2006-01-10  Edward Hervey  <edward@fluendo.com>
8881
8882         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
8883         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
8884         the single-segment mode.
8885
8886 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
8887
8888         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
8889
8890         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
8891         (gst_base_src_perform_seek), (gst_base_src_send_event),
8892         (gst_base_src_set_property), (gst_base_src_get_property),
8893         (gst_base_src_loop), (gst_base_src_start),
8894         (gst_base_src_activate_push):
8895         * libs/gst/base/gstbasesrc.h:
8896           Name (private) union; makes Sun's Forte compiler happy (#324900).
8897
8898 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
8899
8900         * README:
8901           gst-register is gone.
8902
8903 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8904
8905         * gst/gstvalue.c: (_gst_value_initialize):
8906           make the G_TYPE_DATE instantiation work if debug is disabled
8907
8908 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
8909
8910         * gst/gstmessage.c: (gst_message_parse_tag),
8911         (gst_message_parse_error), (gst_message_parse_warning):
8912           Don't crash when return location for error/warning debug
8913           string is NULL; add fact that return locations can be
8914           NULL to docs where appropriate.
8915
8916 2006-01-05  Wim Taymans  <wim@fluendo.com>
8917
8918         * gst/gstplugin.c: (gst_plugin_load_file):
8919         Replace strdup by g_strdup.
8920
8921 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8922
8923         * docs/pwg/advanced-types.xml:
8924           fix doc borkage
8925
8926 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8927
8928         submitted by: Abel Cheung
8929
8930         * po/LINGUAS:
8931         * po/zh_TW.po:
8932           Added Chinese (traditional) translation
8933
8934 2006-01-04  Wim Taymans  <wim@fluendo.com>
8935
8936         * docs/manual/basics-pads.xml:
8937         * docs/plugins/Makefile.am:
8938         * docs/plugins/gstreamer-plugins-docs.sgml:
8939         * docs/plugins/gstreamer-plugins-sections.txt:
8940         * docs/pwg/advanced-clock.xml:
8941         * docs/pwg/advanced-scheduling.xml:
8942         * docs/pwg/advanced-types.xml:
8943         * plugins/elements/gstfdsink.c:
8944         * plugins/elements/gstfdsrc.c:
8945         * plugins/elements/gstfdsrc.h:
8946         * plugins/elements/gstidentity.c: (gst_identity_class_init):
8947         * plugins/elements/gstidentity.h:
8948         * plugins/elements/gstqueue.h:
8949         * plugins/elements/gsttee.c:
8950         * plugins/elements/gsttee.h:
8951         * plugins/elements/gsttypefindelement.c:
8952         (gst_type_find_element_class_init):
8953         * plugins/elements/gsttypefindelement.h:
8954         Small updates to various docs.
8955         Added core plugins to docs.
8956
8957 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8958
8959         * common/gst.supp:
8960           add a suppression for liboil's uninitialized variable
8961
8962 2006-01-02  James Livingston  <jrl at ids dot org dot au>
8963
8964         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
8965
8966         * gst/gstutils.h:
8967           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
8968           macro, so that gcc doesn't complain if the -Wmissing-prototypes
8969           compiler switch is being used (#325429).
8970
8971 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
8972
8973         * gst/gstbin.c: (gst_bin_query):
8974           Disable duration query caching in bins until it gets
8975           fixed (see #324807).
8976
8977 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
8978
8979         * tools/gst-inspect.c: (print_element_properties_info):
8980           Handle properties of POINTER and BOXED type.
8981
8982 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
8983
8984         * gst/gst.c: (init_post):
8985           Init tags stuff and some other things before loading
8986           any static plugins (there may be other static plugins
8987           than just the GStreamer ones, and they may want to
8988           register their own tags or formats or whatever, and
8989           preferably without segfaulting).
8990
8991         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
8992           Print at least a warning in the debug logs if we drop a
8993           query just because we don't know how to adjust the value
8994           in the particular format.
8995
8996 2005-12-24  David Schleef  <ds@schleef.org>
8997
8998         * tools/gstreamer-completion:
8999           Replacement for gst-complete written in sh and sed.  Only
9000           completes names of features, but that's 90% of what I want
9001           it for.  Properties are not available in registry.xml.  (Maybe
9002           they should be...)
9003
9004 === release 0.10.1 ===
9005
9006 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
9007
9008         * configure.ac:
9009           releasing 0.10.1, "Nollaig chridheil"
9010
9011 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
9012
9013         * docs/faq/cvs.xml:
9014           Add missing quote, should be make ERROR_CFLAGS="".
9015
9016 2005-12-20  Wim Taymans  <wim@fluendo.com>
9017
9018         * docs/design/part-trickmodes.txt:
9019         More documentation on trickmodes.
9020
9021 2005-12-20  Edward Hervey  <edward@fluendo.com>
9022
9023         * gst/gstcaps.c: (gst_static_caps_get_type):
9024         * gst/gstcaps.h:
9025           API addition: GST_TYPE_STATIC_CAPS
9026         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
9027         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
9028         * gst/gstpadtemplate.h:
9029           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
9030         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
9031         bindings.
9032
9033 2005-12-18  Wim Taymans  <wim@fluendo.com>
9034
9035         * libs/gst/base/gstadapter.c:
9036         * libs/gst/base/gstadapter.h:
9037         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
9038         (gst_base_sink_get_position):
9039         * libs/gst/base/gstbasesink.h:
9040         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9041         (gst_base_src_default_query), (gst_base_src_default_do_seek),
9042         (gst_base_src_do_seek), (gst_base_src_perform_seek),
9043         (gst_base_src_send_event), (gst_base_src_update_length),
9044         (gst_base_src_get_range), (gst_base_src_loop),
9045         (gst_base_src_start):
9046         * libs/gst/base/gstbasesrc.h:
9047         * libs/gst/base/gstbasetransform.h:
9048         * libs/gst/base/gstcollectpads.h:
9049         * libs/gst/base/gstpushsrc.c:
9050         * libs/gst/base/gstpushsrc.h:
9051         * libs/gst/dataprotocol/dataprotocol.c:
9052         * libs/gst/dataprotocol/dataprotocol.h:
9053         * libs/gst/net/gstnetclientclock.h:
9054         * libs/gst/net/gstnettimeprovider.h:
9055         Documentation updates.
9056
9057 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
9058
9059         * docs/manual/basics-helloworld.xml:
9060           Remove superfluous closing bracket in helloworld example.
9061
9062 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
9063
9064         * tools/gst-launch.1.in:
9065           Update gst-launch man page; add a section with useful
9066           environment variables. Fixes #323882.
9067
9068 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
9069
9070         * gst/gst.c:
9071         * gst/gst_private.h:
9072           change some char* into char[]
9073
9074 2005-12-16  Wim Taymans  <wim@fluendo.com>
9075
9076         * gst/gstregistryxml.c: (load_feature):
9077         Cleanups.
9078         Don't use g_object_unref on GstObjects so that we avoid
9079         leaks on unsafe glibs.
9080
9081 2005-12-16  Wim Taymans  <wim@fluendo.com>
9082
9083         * gst/gstbin.c: (gst_bin_recalc_state):
9084         Small doc updates.
9085
9086 2005-12-16  Wim Taymans  <wim@fluendo.com>
9087
9088         * common/check.mak:
9089         Added make forever target for check.
9090
9091 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9092
9093         * gst/gst.c: (init_post):
9094           make the registry cache file HOST_CPU-dependent
9095
9096 2005-12-16  Andy Wingo  <wingo@pobox.com>
9097
9098         * plugins/elements/gstbufferstore.c
9099         (gst_buffer_store_cleared_func): Pay attention to g_list_append
9100         return value.
9101
9102         * tests/check/gst/gstobject.c
9103         (test_fake_object_name_threaded_unique): Pay attention to
9104         g_list_sort return value.
9105
9106 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
9107
9108         * tools/gst-feedback-m.m:
9109           Update for 0.9/0.10 (fixes #323870).
9110
9111 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
9112
9113         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
9114           Fix lcopy for mini objects, the mini object needs to be ref'ed.
9115           
9116         * tests/check/gst/gstminiobject.c: (my_foo_init),
9117         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
9118         (test_value_collection), (gst_mini_object_suite):
9119           Add test to ensure refcounts end up as expected when passing
9120           GstMiniObjects through g_object_get() and g_object_set().
9121
9122 2005-12-14  Julien MOUTTE  <julien@moutte.net>
9123
9124         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
9125         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
9126         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
9127         of collectpads. This version removes a lot of races without
9128         touching API/ABI. Yay !
9129
9130 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
9131
9132         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
9133           Don't allow activation of a srcpad in pull_range if it has no
9134           getrange function.
9135           Change some debug statements to be a little clearer
9136
9137         * plugins/elements/gsttypefindelement.c:
9138         (gst_type_find_handle_src_query):
9139           Check that we have a peer before executing queries thereupon.
9140
9141         * tests/examples/metadata/read-metadata.c: (message_loop):
9142           Use gst_bus_pop instead of gst_bus_poll when we just want it to
9143           immediately return us any available message with 0 timeout.
9144
9145 2005-12-12  Michael Smith  <msmith@fluendo.com>
9146
9147         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
9148           Don't unref factories after calling them.
9149         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
9150         * plugins/elements/gsttypefindelement.c:
9151         (gst_type_find_element_chain):
9152           Free lists of factories after using them. Fixing typefinding memory
9153           leaks.
9154
9155 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9156
9157         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
9158         (gst_plugin_feature_load):
9159           more meaningful debug output
9160         * configure.ac:
9161         * tests/Makefile.am:
9162         * tests/old/examples/Makefile.am:
9163           make make distcheck happy again
9164
9165 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
9166
9167         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
9168           Catch the special case where we are operating chain-based,
9169           but the downstream peer pad has no chain function. Emit a
9170           custom error message in this case instead of letting the
9171           core generate one implying that this is some sort of core
9172           bug. It's not, it just means that whatever got plugged
9173           into the pipeline downstream when we announced the type
9174           can only operate pull-based, while our source can only
9175           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
9176           Error string has not been marked for translation yet, as
9177           it probably needs some more work first.
9178
9179         (gst_type_find_element_get_best_possibility):
9180           Add helper function to find the best of all available
9181           found possibilities that qualify given the min. threshold.
9182
9183         (gst_type_find_element_handle_event):
9184           Fix the case where we get an EOS while still in TYPEFIND
9185           mode (we want to chose the best of all possible types,
9186           not just the first type that happens to be in our unsorted
9187           list of possible types).
9188
9189         (gst_type_find_element_chain):
9190           Make sure we return GST_FLOW_ERROR when we errored out
9191           in stop_typefinding(); also, don't just find the best of
9192           all found type entries and then use the last examined
9193           type entry, but actually use the best entry.
9194
9195 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
9196
9197         * tests/examples/typefind/typefind.c: (type_found):
9198         * tests/examples/xml/runxml.c: (xml_loaded):
9199           More gcc4 fixes and a mem leak fix.
9200
9201 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9202
9203         * tests/examples/xml/createxml.c: (object_saved):
9204           gcc 4 fixes
9205
9206 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9207
9208         * tests/Makefile.am:
9209           enable the examples even more
9210
9211 2005-12-12  Andy Wingo  <wingo@pobox.com>
9212
9213         * libs/gst/net/gstnettimeprovider.c
9214         (gst_net_time_provider_class_init, gst_net_time_provider_init)
9215         (gst_net_time_provider_set_property)
9216         (gst_net_time_provider_get_property):
9217         API addition: Export "active" as a GObject property.
9218         (gst_net_time_provider_thread): Only respond to time queries if
9219         the time provider is active.
9220
9221         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
9222         NetTimeProvider, preserving binary compat.
9223
9224 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9225
9226         * tests/examples/controller/audio-example.c: (main):
9227         * tests/examples/launch/Makefile.am:
9228           convert comments again
9229
9230 2005-12-12  Wim Taymans  <wim@fluendo.com>
9231
9232         * libs/gst/base/gstpushsrc.c:
9233         Fix typo.
9234
9235 2005-12-12  Wim Taymans  <wim@fluendo.com>
9236
9237         * docs/libs/gstreamer-libs-sections.txt:
9238         Added new symbol to docs.
9239
9240         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9241         (gst_base_src_init), (gst_base_src_set_format),
9242         (gst_base_src_default_query), (gst_base_src_query),
9243         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
9244         (gst_base_src_perform_seek), (gst_base_src_send_event),
9245         (gst_base_src_default_event), (gst_base_src_event_handler),
9246         (gst_base_src_set_property), (gst_base_src_get_property),
9247         (gst_base_src_wait), (gst_base_src_do_sync),
9248         (gst_base_src_update_length), (gst_base_src_get_range),
9249         (gst_base_src_check_get_range), (gst_base_src_loop),
9250         (gst_base_src_default_negotiate), (gst_base_src_start),
9251         (gst_base_src_activate_push), (gst_base_src_activate_pull),
9252         (gst_base_src_change_state):
9253         * libs/gst/base/gstbasesrc.h:
9254         Implement seeking to other formats than _BYTES.
9255         Implement more seeking methods correctly.
9256         Doc updates.
9257         Added query vmethod.
9258         Added do_seek vmethod to make life easier for subclasses
9259         when seeking.
9260         API addition: gst_base_src_set_format()
9261
9262 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9263
9264         * tests/examples/Makefile.am:
9265           added that too
9266
9267 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9268
9269         * configure.ac:
9270         * docs/random/ensonic/media-device-daemon.txt:
9271         * tests/examples/controller/.cvsignore:
9272         * tests/examples/controller/Makefile.am:
9273         * tests/examples/controller/audio-example.c: (main):
9274         * tests/examples/helloworld/.cvsignore:
9275         * tests/examples/helloworld/Makefile.am:
9276         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
9277         * tests/examples/launch/.cvsignore:
9278         * tests/examples/launch/Makefile.am:
9279         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
9280         * tests/examples/metadata/.cvsignore:
9281         * tests/examples/metadata/Makefile.am:
9282         * tests/examples/metadata/read-metadata.c: (message_loop),
9283         (make_pipeline), (print_tag), (main):
9284         * tests/examples/queue/.cvsignore:
9285         * tests/examples/queue/Makefile.am:
9286         * tests/examples/queue/queue.c: (event_loop), (main):
9287         * tests/examples/typefind/.cvsignore:
9288         * tests/examples/typefind/Makefile.am:
9289         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
9290         (main):
9291         * tests/examples/xml/.cvsignore:
9292         * tests/examples/xml/Makefile.am:
9293         * tests/examples/xml/createxml.c: (object_saved), (main):
9294         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
9295         * tests/old/examples/Makefile.am:
9296         * tests/old/examples/TODO:
9297         * tests/old/examples/controller/.cvsignore:
9298         * tests/old/examples/controller/Makefile.am:
9299         * tests/old/examples/controller/audio-example.c:
9300         * tests/old/examples/helloworld/.cvsignore:
9301         * tests/old/examples/helloworld/Makefile.am:
9302         * tests/old/examples/helloworld/helloworld.c:
9303         * tests/old/examples/launch/.cvsignore:
9304         * tests/old/examples/launch/Makefile.am:
9305         * tests/old/examples/launch/mp3parselaunch.c:
9306         * tests/old/examples/launch/mp3play:
9307         * tests/old/examples/manual/Makefile.am:
9308         * tests/old/examples/metadata/Makefile.am:
9309         * tests/old/examples/metadata/read-metadata.c:
9310         * tests/old/examples/queue/.cvsignore:
9311         * tests/old/examples/queue/Makefile.am:
9312         * tests/old/examples/queue/queue.c:
9313         * tests/old/examples/typefind/.cvsignore:
9314         * tests/old/examples/typefind/Makefile.am:
9315         * tests/old/examples/typefind/typefind.c:
9316         * tests/old/examples/xml/.cvsignore:
9317         * tests/old/examples/xml/Makefile.am:
9318         * tests/old/examples/xml/createxml.c:
9319         * tests/old/examples/xml/runxml.c:
9320           applied some simple fixing to some examples
9321           re-enabled the working examples
9322
9323 2005-12-12  Wim Taymans  <wim@fluendo.com>
9324
9325         * gst/gstsegment.c: (gst_segment_init),
9326         (gst_segment_set_last_stop), (gst_segment_set_seek),
9327         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
9328         (gst_segment_to_running_time):
9329         Added more documentation.
9330         Make sure the last_pos value is updated properly.
9331         Make sure to_stream_time and to_running_time don't
9332         operate on wrong values.
9333
9334         * tests/check/gst/gstsegment.c: (GST_START_TEST):
9335         Update check.
9336
9337 2005-12-12  Michael Smith  <msmith@fluendo.com>
9338
9339         * plugins/elements/gsttypefindelement.c: (free_entry),
9340         (gst_type_find_element_chain):
9341           Now that we're not leaking factories, make sure we keep references
9342           to them while we need them.
9343
9344 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9345
9346         * tests/check/gst/struct_i386.h:
9347           ifdef out the XML structs
9348
9349 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9350
9351         * gst/gstvalue.c: (gst_value_transform_double_fraction):
9352           floor is not needed, F is always positive; this obviates the
9353           need for adding -lm when building without libxml
9354
9355 2005-12-12  Wim Taymans  <wim@fluendo.com>
9356
9357         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
9358         Take current playback rate into account when reporting
9359         the position.
9360
9361 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9362
9363         * docs/manual/mime-world.fig:
9364           Let's try this again, this time with a file that is
9365           actually in XFig format.
9366
9367 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9368
9369         * docs/manual/mime-world.fig:
9370           Add audioconvert element to diagram so that it
9371           matches the text and the code (fixes #319526).
9372
9373 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9374
9375         * docs/pwg/building-chainfn.xml:
9376         * docs/pwg/building-pads.xml:
9377         * docs/pwg/building-state.xml:
9378         * docs/pwg/other-source.xml:
9379           Update state change stuff for 0.10 (fixes #322969).
9380
9381 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9382
9383         * docs/manual/advanced-dataaccess.xml:
9384         * docs/manual/appendix-checklist.xml:
9385         * docs/manual/appendix-programs.xml:
9386         * docs/manual/basics-pads.xml:
9387         * docs/manual/highlevel-components.xml:
9388         * docs/manual/manual.xml:
9389           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
9390           add converters in front of pipelines; remove curly
9391           brackets for threads stuff, they no longer exist; use
9392           GST_TYPE_FRACTION for framerates; update some pieces of
9393           code to 0.10, but there's plenty more to do.
9394
9395         * docs/manual/appendix-porting.xml:
9396           Expand on asynchroneous state changes; s/0.9/0.10/;
9397           mention disappearance of gst_init_get_popt_table()
9398           (fixes #322916).
9399
9400 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9401
9402         * docs/faq/using.xml:
9403           Spider no longer exists, and neither does gst-launch-ext.
9404           Update examples to use decodebin and playbin and put
9405           converters in front of sinks (fixes #323726).
9406
9407 2005-12-09  Michael Smith  <msmith@fluendo.com>
9408
9409         * plugins/elements/gsttypefindelement.c: (find_peek),
9410         (gst_type_find_element_chain):
9411           Fix leaking element factories in typefinding.
9412           Fix problem where we forgot about a probable type on non-seekable
9413           files, and thus later mis-typefound it.
9414
9415 2005-12-09  Michael Smith  <msmith@fluendo.com>
9416
9417         * common/m4/gst-makecontext.m4:
9418         * common/m4/gst-mcsc.m4:
9419         * configure.ac:
9420         * win32/common/config.h:
9421         * win32/common/config.h.in:
9422           Remove makecontext stuff; not used in 0.10 and causes problems on
9423           HPUX according to bug #322441
9424
9425 2005-12-07  Wim Taymans  <wim@fluendo.com>
9426
9427         * tests/check/Makefile.am:
9428         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
9429         (main):
9430         * tests/check/libs/struct_i386.h:
9431         Added ABI check for libs
9432
9433 2005-12-07  Wim Taymans  <wim@fluendo.com>
9434
9435         * tests/check/Makefile.am:
9436         And add the struct_i386.h to dist.
9437
9438 2005-12-07  Wim Taymans  <wim@fluendo.com>
9439
9440         * tests/check/Makefile.am:
9441         * tests/check/gst/.cvsignore:
9442         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
9443         (main):
9444         * tests/check/gst/struct_i386.h:
9445         Added check for ABI compatibility.
9446
9447 2005-12-07  Wim Taymans  <wim@fluendo.com>
9448
9449         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
9450         (gst_fake_src_get_times), (gst_fake_src_create):
9451         Fix broken sync option, fixes #323259
9452
9453 2005-12-07  Wim Taymans  <wim@fluendo.com>
9454
9455         * gst/gstbuffer.c:
9456         Small docs update.
9457
9458         * gst/gstcaps.c: (gst_caps_is_equal):
9459         Don't assert on NULL <--> X. Fixes #323260
9460
9461         * gst/gstminiobject.c: (gst_mini_object_replace):
9462         If we're doing atomic operations, we might just as well use
9463         the proper way to get an atomic pointer.
9464
9465         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
9466         Clean up debugging.
9467
9468 2005-12-07  Michael Smith  <msmith@fluendo.com>
9469
9470         * gst/parse/grammar.y:
9471           Remove handling of { } for threads.
9472
9473 2005-12-06  David Schleef  <ds@schleef.org>
9474
9475         * libs/gst/base/gstbasetransform.c: speling fix.
9476
9477 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9478
9479         * docs/libs/tmpl/gstdataprotocol.sgml:
9480         * docs/random/omega/testing/gstobject.c:
9481         * gst/gst.c:
9482         * gst/gstclock.c:
9483         * gst/gstelement.c:
9484         * gst/gstelementfactory.c:
9485         * gst/gsterror.c:
9486         * gst/gstevent.c:
9487         * gst/gstghostpad.c:
9488         * gst/gstinfo.c:
9489         * gst/gstpadtemplate.c:
9490         * gst/gstregistryxml.c:
9491         * gst/gsttaglist.c:
9492         * gst/gsttagsetter.c:
9493         * gst/gsttypefind.c:
9494         * gst/gstvalue.c:
9495         * libs/gst/base/gstbasesrc.c:
9496         * libs/gst/net/gstnetclientclock.c:
9497         * libs/gst/net/gstnettimeprovider.c:
9498         * plugins/elements/gstfakesrc.c:
9499         * plugins/elements/gstfdsrc.c:
9500         * plugins/elements/gstfilesrc.c:
9501         * plugins/elements/gstidentity.c:
9502         * plugins/elements/gstqueue.c:
9503         * plugins/elements/gsttypefindelement.c:
9504         * plugins/indexers/gstfileindex.c:
9505         * plugins/indexers/gstmemindex.c:
9506         * tests/check/gst/gsttag.c:
9507         * tests/old/examples/cutter/cutter.c:
9508         * tests/old/examples/mixer/mixer.c:
9509         * tests/old/examples/xml/runxml.c: (main):
9510         * tests/old/testsuite/caps/normalisation.c:
9511         * tests/old/testsuite/debug/global.c:
9512         * tests/old/testsuite/parse/parse1.c:
9513         * tools/gst-xmlinspect.c:
9514         * win32/common/dirent.c:
9515           expand tabs
9516
9517 === release 0.10.0 ===
9518
9519 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9520
9521         * configure.ac:
9522           releasing 0.10.0, "Maroilles"
9523
9524 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9525
9526         submitted by: Funda Wang <fundawang@linux.net.cn>
9527
9528         * po/LINGUAS:
9529         * po/zh_CN.po:
9530           added Chinese (Traditional) translation
9531
9532 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9533
9534         * docs/gst/gstreamer-sections.txt:
9535         * docs/libs/tmpl/gstdataprotocol.sgml:
9536         * docs/random/thomasvs/TODO:
9537         * gst/gstutils.c:
9538         * gst/gstutils.h:
9539           fix docs
9540
9541 2005-12-05  Andy Wingo  <wingo@pobox.com>
9542
9543         patch by: Wim Taymans <wim@fluendo.com>
9544
9545         * libs/gst/base/gstbasetransform.c
9546         (gst_base_transform_prepare_output_buf)
9547         (gst_base_transform_buffer_alloc):
9548         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
9549         alloc_buffer_and_set_caps.
9550
9551         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
9552         set_caps on the source pad.
9553         (gst_pad_alloc_buffer_and_set_caps): New function, does what
9554         alloc_buffer used to do. Fixes #322874.
9555
9556         * docs/gst/gstreamer-sections.txt: 
9557         * docs/design/part-negotiation.txt: 
9558         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
9559         changes.
9560
9561 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9562
9563         patch by: Sebastien Moutte
9564
9565         * win32/MANIFEST:
9566         * win32/common/config.h.in:
9567         * win32/vs6/libgstcontroller.dsp:
9568           win32 build fixes
9569
9570 2005-12-05  Wim Taymans  <wim@fluendo.com>
9571
9572         * gst/gstcaps.c: (gst_caps_is_equal):
9573         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
9574         (gst_fake_src_create):
9575         Back out previous code changes, leave doc updates, file bugs 
9576         instead. 
9577
9578 2005-12-05  Wim Taymans  <wim@fluendo.com>
9579
9580         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
9581         (gst_fake_src_get_times), (gst_fake_src_create):
9582         * plugins/elements/gstfakesrc.h:
9583         Fix broken sync code.
9584
9585 2005-12-05  Wim Taymans  <wim@fluendo.com>
9586
9587         * gst/gstcaps.c: (gst_caps_is_equal):
9588         Comparing NULL against !NULL yields different caps, not a
9589         failure.
9590
9591 2005-12-05  Wim Taymans  <wim@fluendo.com>
9592
9593         * gst/gstpipeline.c:
9594         Fix small typo in docs.
9595
9596 2005-12-05  Andy Wingo  <wingo@pobox.com>
9597
9598         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
9599
9600         * gst/gst.c (init_post): remove hard-coded 0.9 location for
9601         registries/plugins with a MAJORMINOR one.
9602         (plugin_desc): Rename library from gstcoreleements to
9603         staticelements. Fixes #323222.
9604
9605 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
9606
9607         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
9608           Change debug category to 'collectpads' from 'collect_pads'
9609           (fixes #323250).
9610
9611 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9612
9613         patch by: Sebastien Moutte
9614
9615         * libs/gst/controller/gstinterpolation.c:
9616           use convert function for uint64/double
9617         * win32/vs6/libgstcontroller.dsp:
9618           link to GLib
9619
9620 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9621
9622         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
9623         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
9624         * gst/gstutils.h:
9625         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
9626           add tests that seem to show that the guint64/gdouble conversions
9627           are correct.
9628
9629 2005-12-02  Wim Taymans  <wim@fluendo.com>
9630
9631         * gst/gstregistry.c: (gst_registry_add_path):
9632         * gst/gstregistry.h:
9633         * gst/gstregistryxml.c:
9634         Fix docs again.
9635
9636 2005-12-02  Wim Taymans  <wim@fluendo.com>
9637
9638         * gst/gstutils.c: (gst_util_uint64_scale_int64),
9639         (gst_util_uint64_scale_int):
9640         Small cleanup.
9641
9642         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9643         Add debug log line.
9644
9645         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
9646         Add FIXME.
9647
9648 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9649
9650         * win32/MANIFEST:
9651         * win32/common/config.h:
9652         * win32/vs6/gstreamer.dsw:
9653         * win32/vs6/libgstcoreelements.dsp:
9654         * win32/vs6/libgstelements.dsp:
9655           renamed core elements plugin
9656
9657 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9658
9659         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
9660         (get_candidates):
9661           do piece-wise major/minor comparison so 0.9 < 0.10
9662           also allow .exe extensions for tools
9663
9664 2005-12-02  Michael Smith  <msmith@fluendo.com>
9665
9666         * gst/gst.c:
9667           Escape a % to make gtkdoc happier; bug 322958.
9668
9669 === release 0.9.7 ===
9670
9671 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
9672
9673         * configure.ac:
9674           releasing 0.9.7, "My Dog Has No Nose"
9675
9676 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9677
9678         * common/gst-xmlinspect.py:
9679         * configure.ac:
9680         * docs/libs/tmpl/gstdataprotocol.sgml:
9681         * docs/random/release:
9682         * po/af.po:
9683         * po/az.po:
9684         * po/bg.po:
9685         * po/ca.po:
9686         * po/cs.po:
9687         * po/de.po:
9688         * po/en_GB.po:
9689         * po/fr.po:
9690         * po/it.po:
9691         * po/nb.po:
9692         * po/nl.po:
9693         * po/ru.po:
9694         * po/sq.po:
9695         * po/sr.po:
9696         * po/sv.po:
9697         * po/tr.po:
9698         * po/uk.po:
9699         * po/vi.po:
9700         * win32/common/config.h:
9701         * win32/common/config.h.in:
9702         * win32/vs6/gst_inspect.dsp:
9703         * win32/vs6/gst_launch.dsp:
9704         * win32/vs6/libgstbase.dsp:
9705         * win32/vs6/libgstelements.dsp:
9706         * win32/vs6/libgstreamer.dsp:
9707         * win32/vs7/GStreamer.vcproj:
9708         * win32/vs7/gst-inspect.vcproj:
9709         * win32/vs7/gst-launch.vcproj:
9710         * win32/vs7/libgstbase.vcproj:
9711           bump GST_MAJORMINOR to 0.10
9712           reset libtool version
9713
9714 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9715
9716         * po/LINGUAS:
9717         * po/bg.po:
9718           Added Bulgarian translation by (Alexander Shopov)
9719
9720 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9721
9722         * tests/check/gst/gstplugin.c:
9723           fix test
9724
9725 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9726
9727         * common/gst-xmlinspect.py:
9728         * common/gtk-doc-plugins.mak:
9729         * configure.ac:
9730         * docs/Makefile.am:
9731         * docs/gst/Makefile.am:
9732         * docs/gst/gstreamer-docs.sgml:
9733         * docs/gst/gstreamer-sections.txt:
9734         * docs/gst/gstreamer.types:
9735         * docs/gst/gstreamer.types.in:
9736         * docs/plugins/Makefile.am:
9737         * docs/plugins/gstreamer-plugins-docs.sgml:
9738         * docs/plugins/gstreamer-plugins-sections.txt:
9739         * docs/plugins/gstreamer-plugins.types:
9740         * docs/plugins/inspect.stamp:
9741         * docs/plugins/inspect/plugin-coreelements.xml:
9742         * docs/plugins/inspect/plugin-coreindexers.xml:
9743         * docs/plugins/scanobj-build.stamp:
9744         * gstreamer.spec.in:
9745         * plugins/elements/Makefile.am:
9746         * plugins/elements/gstelements.c:
9747         * plugins/elements/gstfakesink.c:
9748         * plugins/elements/gstfakesrc.c:
9749         * plugins/elements/gstfilesink.c:
9750         * plugins/elements/gstfilesrc.c:
9751         * plugins/elements/gstqueue.c:
9752         * plugins/indexers/Makefile.am:
9753         * plugins/indexers/gstindexers.c:
9754           document core plugins in a separate document just like all the
9755           others
9756           rename these plugins to something starting with core
9757
9758 2005-12-01  Andy Wingo  <wingo@pobox.com>
9759
9760         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
9761         padding here before, but it missed the commit.
9762
9763 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
9764
9765         * libs/gst/controller/gstinterpolation.c:
9766           whitespace prices have crashed, we should feel free to use some now
9767           use gst_guint64_to_gdouble
9768
9769 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
9770
9771         * libs/gst/controller/gstcontroller.c:
9772         * libs/gst/controller/gsthelper.c:
9773         * libs/gst/controller/gstinterpolation.c:
9774         * libs/gst/controller/lib.c:
9775           wrap config.h include
9776
9777 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
9778
9779         * docs/gst/gstreamer-sections.txt:
9780           update docs
9781
9782 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
9783
9784         * plugins/elements/gstelements.c:
9785         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
9786         (gst_fd_sink__class_init), (gst_fd_sink__init),
9787         (gst_fd_sink__chain), (gst_fd_sink__set_property),
9788         (gst_fd_sink__get_property):
9789         * plugins/elements/gstfdsink.h:
9790         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
9791         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
9792         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
9793         (gst_fd_src_unlock), (gst_fd_src_set_property),
9794         (gst_fd_src_get_property), (gst_fd_src_create),
9795         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
9796         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
9797         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
9798         (gst_fd_src_uri_handler_init):
9799         * plugins/elements/gstfdsrc.h:
9800         * plugins/elements/gstqueue.c: (gst_queue_get_type):
9801           more anal cleanup
9802
9803 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9804
9805         * docs/gst/Makefile.am:
9806         * docs/gst/gstreamer.types.in:
9807         * gst/Makefile.am:
9808           fix the docs build
9809
9810 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9811
9812         * configure.ac:
9813         * gst/Makefile.am:
9814         * gst/gst.c:
9815         * gst/gstplugin.h:
9816         * gst/gstregistry.h:
9817         * tests/benchmarks/complexity.c:
9818         * tests/benchmarks/mass-elements.c:
9819         * tests/check/Makefile.am:
9820         * tools/Makefile.am:
9821         * tools/gst-inspect.c:
9822         * tools/gst-xmlinspect.c:
9823           various fixes to make
9824           --disable-nls --disable-registry --disable-loadsave
9825           --disable-parse --disable-gst-debug
9826           work and get the core .so down to 360444 bytes after stripping
9827
9828 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9829
9830         * Makefile.am:
9831         * configure.ac:
9832           descend into tests
9833         * docs/random/thomasvs/TODO:
9834         * tests/Makefile.am:
9835         * tests/README:
9836           add a README
9837
9838 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9839
9840         * win32/GStreamer.vcproj:
9841         * win32/MANIFEST:
9842         * win32/Makefile:
9843         * win32/Makefile.inspect:
9844         * win32/Makefile.launch:
9845         * win32/Makefile.register:
9846         * win32/README.txt:
9847         * win32/gst-inspect.vcproj:
9848         * win32/gst-launch.vcproj:
9849         * win32/gst-register.vcproj:
9850         * win32/gstelements.vcproj:
9851         * win32/gstgetbits.def:
9852         * win32/gstgetbits.vcproj:
9853         * win32/gstreamer-dbg.def:
9854         * win32/gstreamer.def:
9855         * win32/libgstbase.def:
9856         * win32/libgstbase.vcproj:
9857         * win32/link_oldruntime.c:
9858         * win32/mman.c:
9859         * win32/mman.h:
9860         * win32/mman.inl:
9861         * win32/msvc71.sln:
9862           move even more stuff, win32/ is nice and clean now
9863
9864 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9865
9866         * libs/gst/control/.cvsignore:
9867         * win32/MANIFEST:
9868         * win32/config.h:
9869         * win32/dirent.c:
9870         * win32/dirent.h:
9871         * win32/gstbytestream.def:
9872         * win32/gstbytestream.vcproj:
9873         * win32/gstconfig.h:
9874         * win32/gstenumtypes.c:
9875         * win32/gstenumtypes.h:
9876         * win32/gstoptimalscheduler.vcproj:
9877         * win32/gstversion.h:
9878         * win32/gtchar.h:
9879         * win32/testsuite/bins.vcproj:
9880         * win32/testsuite/bytestream.vcproj:
9881         * win32/testsuite/caps.vcproj:
9882         * win32/testsuite/cleanup.vcproj:
9883         * win32/testsuite/clock.vcproj:
9884         * win32/testsuite/debug.vcproj:
9885         * win32/testsuite/dlopen.vcproj:
9886         * win32/testsuite/dynparams.vcproj:
9887         * win32/testsuite/elements.vcproj:
9888         * win32/testsuite/ghostpads.vcproj:
9889         * win32/testsuite/indexers.vcproj:
9890         * win32/testsuite/negotiation.vcproj:
9891         * win32/testsuite/parse.vcproj:
9892         * win32/testsuite/plugin.vcproj:
9893         * win32/testsuite/refcounting.vcproj:
9894         * win32/testsuite/schedulers.vcproj:
9895         * win32/testsuite/states.vcproj:
9896         * win32/testsuite/tags.vcproj:
9897         * win32/testsuite/threads.vcproj:
9898           remove old win32 stuff that isn't maintained and should be
9899           reorganized
9900
9901 2005-11-30  Andy Wingo  <wingo@pobox.com>
9902
9903         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
9904         loading the gst.interfaces python module bork.
9905
9906         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
9907         available since GLib 2.2. Fixes #318031.
9908
9909 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9910
9911         * Makefile.am:
9912         * check/.cvsignore:
9913         * check/Makefile.am:
9914         * check/elements/.cvsignore:
9915         * check/elements/fakesrc.c:
9916         * check/elements/fdsrc.c:
9917         * check/elements/identity.c:
9918         * check/generic/.cvsignore:
9919         * check/generic/states.c:
9920         * check/gst-libs/.cvsignore:
9921         * check/gst-libs/controller.c:
9922         * check/gst-libs/gdp.c:
9923         * check/gst/.cvsignore:
9924         * check/gst/capslist.h:
9925         * check/gst/gst.c:
9926         * check/gst/gstbin.c:
9927         * check/gst/gstbuffer.c:
9928         * check/gst/gstbus.c:
9929         * check/gst/gstcaps.c:
9930         * check/gst/gstelement.c:
9931         * check/gst/gstevent.c:
9932         * check/gst/gstghostpad.c:
9933         * check/gst/gstiterator.c:
9934         * check/gst/gstmessage.c:
9935         * check/gst/gstminiobject.c:
9936         * check/gst/gstobject.c:
9937         * check/gst/gstpad.c:
9938         * check/gst/gstpipeline.c:
9939         * check/gst/gstplugin.c:
9940         * check/gst/gstsegment.c:
9941         * check/gst/gststructure.c:
9942         * check/gst/gstsystemclock.c:
9943         * check/gst/gsttag.c:
9944         * check/gst/gstutils.c:
9945         * check/gst/gstvalue.c:
9946         * check/net/.cvsignore:
9947         * check/net/gstnetclientclock.c:
9948         * check/net/gstnettimeprovider.c:
9949         * check/pipelines/.cvsignore:
9950         * check/pipelines/cleanup.c:
9951         * check/pipelines/simple_launch_lines.c:
9952         * check/pipelines/stress.c:
9953         * check/states/.cvsignore:
9954         * check/states/sinks.c:
9955         * configure.ac:
9956         * examples/Makefile.am:
9957         * examples/appreader/.cvsignore:
9958         * examples/appreader/Makefile.am:
9959         * examples/appreader/appreader.c:
9960         * examples/controller/.cvsignore:
9961         * examples/controller/Makefile.am:
9962         * examples/controller/audio-example.c:
9963         * examples/cutter/.cvsignore:
9964         * examples/cutter/Makefile.am:
9965         * examples/cutter/cutter.c:
9966         * examples/cutter/cutter.h:
9967         * examples/events/Makefile.am:
9968         * examples/events/seek.c:
9969         * examples/helloworld/.cvsignore:
9970         * examples/helloworld/Makefile.am:
9971         * examples/helloworld/helloworld.c:
9972         * examples/helloworld2/.cvsignore:
9973         * examples/helloworld2/Makefile.am:
9974         * examples/helloworld2/helloworld2.c:
9975         * examples/launch/.cvsignore:
9976         * examples/launch/Makefile.am:
9977         * examples/launch/mp3parselaunch.c:
9978         * examples/launch/mp3play:
9979         * examples/manual/.cvsignore:
9980         * examples/manual/Makefile.am:
9981         * examples/manual/extract.pl:
9982         * examples/metadata/Makefile.am:
9983         * examples/metadata/read-metadata.c:
9984         * examples/mixer/.cvsignore:
9985         * examples/mixer/Makefile.am:
9986         * examples/mixer/mixer.c:
9987         * examples/mixer/mixer.h:
9988         * examples/pingpong/.cvsignore:
9989         * examples/pingpong/Makefile.am:
9990         * examples/pingpong/pingpong.c:
9991         * examples/plugins/.cvsignore:
9992         * examples/plugins/Makefile.am:
9993         * examples/plugins/example.c:
9994         * examples/plugins/example.h:
9995         * examples/pwg/.cvsignore:
9996         * examples/pwg/Makefile.am:
9997         * examples/pwg/extract.pl:
9998         * examples/queue/.cvsignore:
9999         * examples/queue/Makefile.am:
10000         * examples/queue/queue.c:
10001         * examples/queue2/.cvsignore:
10002         * examples/queue2/Makefile.am:
10003         * examples/queue2/queue2.c:
10004         * examples/queue3/.cvsignore:
10005         * examples/queue3/Makefile.am:
10006         * examples/queue3/queue3.c:
10007         * examples/queue4/.cvsignore:
10008         * examples/queue4/Makefile.am:
10009         * examples/queue4/queue4.c:
10010         * examples/retag/.cvsignore:
10011         * examples/retag/Makefile.am:
10012         * examples/retag/retag.c:
10013         * examples/retag/transcode.c:
10014         * examples/thread/.cvsignore:
10015         * examples/thread/Makefile.am:
10016         * examples/thread/thread.c:
10017         * examples/typefind/.cvsignore:
10018         * examples/typefind/Makefile.am:
10019         * examples/typefind/typefind.c:
10020         * examples/xml/.cvsignore:
10021         * examples/xml/Makefile.am:
10022         * examples/xml/createxml.c:
10023         * examples/xml/runxml.c:
10024         * tests/Makefile.am:
10025         * tests/check/Makefile.am:
10026         * testsuite/.cvsignore:
10027         * testsuite/Makefile.am:
10028         * testsuite/Rules:
10029         * testsuite/caps/.cvsignore:
10030         * testsuite/caps/Makefile.am:
10031         * testsuite/caps/app_fixate.c:
10032         * testsuite/caps/audioscale.c:
10033         * testsuite/caps/caps.c:
10034         * testsuite/caps/caps.h:
10035         * testsuite/caps/caps_strings:
10036         * testsuite/caps/compatibility.c:
10037         * testsuite/caps/deserialize.c:
10038         * testsuite/caps/enumcaps.c:
10039         * testsuite/caps/eratosthenes.c:
10040         * testsuite/caps/filtercaps.c:
10041         * testsuite/caps/fixed.c:
10042         * testsuite/caps/fraction-convert.c:
10043         * testsuite/caps/fraction-multiply-and-zero.c:
10044         * testsuite/caps/intersect2.c:
10045         * testsuite/caps/intersection.c:
10046         * testsuite/caps/normalisation.c:
10047         * testsuite/caps/random.c:
10048         * testsuite/caps/renegotiate.c:
10049         * testsuite/caps/sets.c:
10050         * testsuite/caps/simplify.c:
10051         * testsuite/caps/string-conversions.c:
10052         * testsuite/caps/structure.c:
10053         * testsuite/caps/subtract.c:
10054         * testsuite/caps/union.c:
10055         * testsuite/debug/.cvsignore:
10056         * testsuite/debug/Makefile.am:
10057         * testsuite/debug/category.c:
10058         * testsuite/debug/commandline.c:
10059         * testsuite/debug/global.c:
10060         * testsuite/debug/output.c:
10061         * testsuite/debug/printf_extension.c:
10062         * testsuite/dlopen/.cvsignore:
10063         * testsuite/dlopen/Makefile.am:
10064         * testsuite/dlopen/dlopen_gst.c:
10065         * testsuite/dlopen/loadgst.c:
10066         * testsuite/elements/.cvsignore:
10067         * testsuite/elements/Makefile.am:
10068         * testsuite/elements/gst-inspect-check.in:
10069         * testsuite/elements/struct_i386.h:
10070         * testsuite/elements/struct_size.c:
10071         * testsuite/indexers/.cvsignore:
10072         * testsuite/indexers/Makefile.am:
10073         * testsuite/indexers/cache1.c:
10074         * testsuite/indexers/indexdump.c:
10075         * testsuite/parse/.cvsignore:
10076         * testsuite/parse/Makefile.am:
10077         * testsuite/parse/parse1.c:
10078         * testsuite/parse/parse2.c:
10079         * testsuite/plugin/.cvsignore:
10080         * testsuite/plugin/Makefile.am:
10081         * testsuite/plugin/README:
10082         * testsuite/plugin/dynamic.c:
10083         * testsuite/plugin/linked.c:
10084         * testsuite/plugin/loading.c:
10085         * testsuite/plugin/registry.c:
10086         * testsuite/plugin/static.c:
10087         * testsuite/plugin/static2.c:
10088         * testsuite/plugin/testplugin.c:
10089         * testsuite/plugin/testplugin2.c:
10090         * testsuite/plugin/testplugin2_s.c:
10091         * testsuite/plugin/testplugin_s.c:
10092         * testsuite/refcounting/.cvsignore:
10093         * testsuite/refcounting/Makefile.am:
10094         * testsuite/refcounting/bin.c:
10095         * testsuite/refcounting/element.c:
10096         * testsuite/refcounting/element_pad.c:
10097         * testsuite/refcounting/mainloop.c:
10098         * testsuite/refcounting/mem.c:
10099         * testsuite/refcounting/mem.h:
10100         * testsuite/refcounting/object.c:
10101         * testsuite/refcounting/pad.c:
10102         * testsuite/refcounting/sched.c:
10103         * testsuite/refcounting/thread.c:
10104         * testsuite/states/.cvsignore:
10105         * testsuite/states/Makefile.am:
10106         * testsuite/states/bin.c:
10107         * testsuite/states/locked.c:
10108         * testsuite/states/parent.c:
10109         * testsuite/threads/.cvsignore:
10110         * testsuite/threads/159566.c:
10111         * testsuite/threads/159852.c:
10112         * testsuite/threads/Makefile.am:
10113         * testsuite/threads/queue.c:
10114         * testsuite/threads/signals.c:
10115         * testsuite/threads/staticrec.c:
10116         * testsuite/threads/thread.c:
10117         * testsuite/threads/threadb.c:
10118         * testsuite/threads/threadc.c:
10119         * testsuite/threads/threadd.c:
10120         * testsuite/threads/threade.c:
10121         * testsuite/threads/threadf.c:
10122         * testsuite/threads/threadg.c:
10123         * testsuite/threads/threadh.c:
10124         * testsuite/threads/threadi.c:
10125           move all of these under tests
10126
10127 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10128
10129         * configure.ac:
10130         * tests/Makefile.am:
10131           fix distcheck
10132
10133 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10134
10135         * docs/gst/gstreamer-sections.txt:
10136         * tests/sched/.cvsignore:
10137         * tests/sched/Makefile.am:
10138         * tests/sched/cases/(fs-fs).xml:
10139         * tests/sched/cases/(fs-i-fs).xml:
10140         * tests/sched/cases/(fs-i-i-fs).xml:
10141         * tests/sched/cases/(fs-i-q[i-fs]).xml:
10142         * tests/sched/dynamic-pipeline.c:
10143         * tests/sched/interrupt1.c:
10144         * tests/sched/interrupt2.c:
10145         * tests/sched/interrupt3.c:
10146         * tests/sched/runtestcases:
10147         * tests/sched/runxml.c:
10148         * tests/sched/sched-stress.c:
10149         * tests/sched/sort.c:
10150         * tests/sched/testcases:
10151         * tests/sched/testcases1.tc:
10152         * tests/seeking/.cvsignore:
10153         * tests/seeking/Makefile.am:
10154         * tests/seeking/seeking1.c:
10155         * tests/threadstate/.cvsignore:
10156         * tests/threadstate/Makefile.am:
10157         * tests/threadstate/test1.c:
10158         * tests/threadstate/test2.c:
10159         * tests/threadstate/threadstate1.c:
10160         * tests/threadstate/threadstate2.c:
10161         * tests/threadstate/threadstate3.c:
10162         * tests/threadstate/threadstate4.c:
10163         * tests/threadstate/threadstate5.c:
10164           remove obsolete tests
10165         * configure.ac:
10166         * tests/bench-complexity.scm:
10167         * tests/bench-mass_elements.scm:
10168         * tests/complexity.c:
10169         * tests/complexity.gnuplot:
10170         * tests/instantiate/.cvsignore:
10171         * tests/instantiate/Makefile.am:
10172         * tests/instantiate/caps.c:
10173         * tests/mass_elements.c:
10174         * tests/network-clock-utils.scm:
10175         * tests/network-clock.scm:
10176         * tests/plot-data:
10177         First pass at cleaning up tests/ dir before moving the rest
10178         Combined with CVS surgery
10179
10180 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10181
10182         * po/POTFILES.in:
10183           queue has moved, update
10184
10185 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10186
10187         * docs/gst/gstreamer-sections.txt:
10188           remove double entries from the docs
10189         * gst/gst_private.h:
10190         * gst/gstinfo.c: (_gst_debug_init):
10191           remove the THREAD debug category
10192         * gst/Makefile.am:
10193         * gst/gstqueue.c:
10194         * gst/gstqueue.h:
10195         * docs/gst/gstreamer.types:
10196         * plugins/elements/gstqueue.c: (gst_queue_get_type),
10197         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
10198           completely move queue and fix up debugging categories
10199
10200 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10201
10202         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
10203           make initialization portable, using LL is not
10204
10205 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10206
10207         * win32/common/gstconfig.h:
10208           add large padding
10209
10210 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10211
10212         * win32/common/libgstreamer.def:
10213           rename symbols; sort base section
10214
10215 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10216
10217         * gst/gstclock.c: (do_linear_regression):
10218           remove crack non-portable handrolled DEBUG macro
10219
10220 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10221
10222         * docs/random/release:
10223           update notes
10224         * win32/common/gstenumtypes.c: (register_gst_object_flags),
10225         (gst_object_flags_get_type), (register_gst_bin_flags),
10226         (gst_bin_flags_get_type), (register_gst_buffer_flag),
10227         (gst_buffer_flag_get_type), (register_gst_bus_flags),
10228         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
10229         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
10230         (gst_caps_flags_get_type), (register_gst_clock_return),
10231         (gst_clock_return_get_type), (register_gst_clock_entry_type),
10232         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
10233         (gst_clock_flags_get_type), (register_gst_state),
10234         (gst_state_get_type), (register_gst_state_change_return),
10235         (gst_state_change_return_get_type), (register_gst_state_change),
10236         (gst_state_change_get_type), (register_gst_element_flags),
10237         (gst_element_flags_get_type), (register_gst_core_error),
10238         (gst_core_error_get_type), (register_gst_library_error),
10239         (gst_library_error_get_type), (register_gst_resource_error),
10240         (gst_resource_error_get_type), (register_gst_stream_error),
10241         (gst_stream_error_get_type), (register_gst_event_type_flags),
10242         (gst_event_type_flags_get_type), (register_gst_event_type),
10243         (gst_event_type_get_type), (register_gst_seek_type),
10244         (gst_seek_type_get_type), (register_gst_seek_flags),
10245         (gst_seek_flags_get_type), (register_gst_format),
10246         (gst_format_get_type), (register_gst_index_certainty),
10247         (gst_index_certainty_get_type), (register_gst_index_entry_type),
10248         (gst_index_entry_type_get_type),
10249         (register_gst_index_lookup_method),
10250         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
10251         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
10252         (gst_index_resolver_method_get_type), (register_gst_index_flags),
10253         (gst_index_flags_get_type), (register_gst_debug_level),
10254         (gst_debug_level_get_type), (register_gst_debug_color_flags),
10255         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
10256         (gst_iterator_result_get_type), (register_gst_iterator_item),
10257         (gst_iterator_item_get_type), (register_gst_message_type),
10258         (gst_message_type_get_type), (register_gst_mini_object_flags),
10259         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
10260         (gst_pad_link_return_get_type), (register_gst_flow_return),
10261         (gst_flow_return_get_type), (register_gst_activate_mode),
10262         (gst_activate_mode_get_type), (register_gst_pad_direction),
10263         (gst_pad_direction_get_type), (register_gst_pad_flags),
10264         (gst_pad_flags_get_type), (register_gst_pad_presence),
10265         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
10266         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
10267         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
10268         (gst_plugin_error_get_type), (register_gst_plugin_flags),
10269         (gst_plugin_flags_get_type), (register_gst_rank),
10270         (gst_rank_get_type), (register_gst_query_type),
10271         (gst_query_type_get_type), (register_gst_tag_merge_mode),
10272         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
10273         (gst_tag_flag_get_type), (register_gst_task_state),
10274         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
10275         (gst_alloc_trace_flags_get_type),
10276         (register_gst_type_find_probability),
10277         (gst_type_find_probability_get_type), (register_gst_uri_type),
10278         (gst_uri_type_get_type), (register_gst_parse_error),
10279         (gst_parse_error_get_type):
10280         * win32/common/gstenumtypes.h:
10281         * win32/common/gstversion.h:
10282           update visual studio generated files
10283
10284 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10285
10286         * win32/vs6/libgstbase.dsp:
10287         * win32/vs6/libgstelements.dsp:
10288           update project files for new locations
10289
10290 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10291
10292         * Makefile.am:
10293           remove some files
10294         * README:
10295           reinstate and update
10296         * DEVEL:
10297         * REQUIREMENTS:
10298           removed
10299         * LICENSE:
10300         * docs/random/LICENSE:
10301           moved to random
10302
10303 2005-11-30  Edward Hervey  <edward@fluendo.com>
10304
10305         * gst/gsttypefind.c: (gst_type_find_register):
10306         * gst/gsttypefind.h:
10307         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
10308         (gst_type_find_factory_dispose):
10309         * gst/gsttypefindfactory.h:
10310         Fix memory leak in GstTypeFindFactory.
10311
10312 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10313
10314         * gst/gst.c:
10315         * plugins/elements/Makefile.am:
10316         * plugins/elements/gstelements.c:
10317         * plugins/elements/gstqueue.c:
10318           move queue from core to the elements plugin
10319
10320 2005-11-29  Andy Wingo  <wingo@pobox.com>
10321
10322         * libs/gst/base/gstbasetransform.h: 
10323         * libs/gst/base/gstbasesrc.h: 
10324         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
10325
10326         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
10327         of pointers by which to pad very extensible base classes (like the
10328         ones in libs/gst/base).
10329
10330 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10331
10332         * docs/gst/gstreamer-docs.sgml:
10333         * docs/gst/gstreamer-sections.txt:
10334         * docs/libs/gstreamer-libs-docs.sgml:
10335         * docs/libs/gstreamer-libs-sections.txt:
10336           moving documentation from core to lib
10337
10338 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10339
10340         * check/Makefile.am:
10341         * configure.ac:
10342         * docs/gst/Makefile.am:
10343         * gst/Makefile.am:
10344         * gst/base/.cvsignore:
10345         * gst/base/Makefile.am:
10346         * gst/base/README:
10347         * gst/base/gstadapter.c:
10348         * gst/base/gstadapter.h:
10349         * gst/base/gstbasesink.c:
10350         * gst/base/gstbasesink.h:
10351         * gst/base/gstbasesrc.c:
10352         * gst/base/gstbasesrc.h:
10353         * gst/base/gstbasetransform.c:
10354         * gst/base/gstbasetransform.h:
10355         * gst/base/gstcollectpads.c:
10356         * gst/base/gstcollectpads.h:
10357         * gst/base/gstpushsrc.c:
10358         * gst/base/gstpushsrc.h:
10359         * gst/base/gsttypefindhelper.c:
10360         * gst/base/gsttypefindhelper.h:
10361         * gst/check/Makefile.am:
10362         * gst/check/gstcheck.c:
10363         * gst/check/gstcheck.h:
10364         * gst/net/Makefile.am:
10365         * gst/net/gstnet.h:
10366         * gst/net/gstnetclientclock.c:
10367         * gst/net/gstnetclientclock.h:
10368         * gst/net/gstnettimepacket.c:
10369         * gst/net/gstnettimepacket.h:
10370         * gst/net/gstnettimeprovider.c:
10371         * gst/net/gstnettimeprovider.h:
10372         * libs/gst/Makefile.am:
10373         * libs/gst/base/Makefile.am:
10374         * libs/gst/base/gstbasetransform.c:
10375         * libs/gst/check/Makefile.am:
10376         * plugins/elements/Makefile.am:
10377         * po/POTFILES.in:
10378           CVS surgery + support to move base, check, and net out of gst
10379           and into libs/gst
10380
10381 2005-11-29  Andy Wingo  <wingo@pobox.com>
10382
10383         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
10384
10385         * gst/gststructure.h (struct _GstStructure): Only one pointer of
10386         padding.
10387
10388         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
10389
10390         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
10391
10392         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
10393
10394         * gst/gstobject.h: (struct _GstObject): Only one pointer of
10395         padding; reduces object size by about 30%. We don't expect
10396         anything else to go into gstobject.
10397
10398         * gst/gstminiobject.h (struct _GstMiniObject)
10399         (struct _GstMiniObjectClass): Only one pointer of padding; the
10400         payload is only a pointer and two ints anyway. For the class there
10401         are only two methods as well.
10402         
10403         * gst/gstelement.h (struct _GstElementClass): Removed
10404         the state_changed signal callback, it is not used.
10405
10406 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10407
10408         * docs/gst/gstreamer.types:
10409           fix includes, though they are a little dinky
10410
10411 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10412
10413         * check/Makefile.am:
10414           look in the right place for elements, a lot more chance of
10415           success
10416         * gst/Makefile.am:
10417           remove indexers and elements subdirs
10418         * plugins/Makefile.am:
10419           make indexers conditional
10420
10421 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10422
10423         * Makefile.am:
10424         * configure.ac:
10425         * plugins/elements/Makefile.am:
10426         * plugins/elements/gstcapsfilter.c:
10427         * plugins/elements/gstfilesink.c:
10428         * plugins/elements/gstfilesrc.c:
10429         * plugins/elements/gstidentity.c:
10430         * plugins/indexers/Makefile.am:
10431           do CVS surgery and related build fixery to move elements
10432           and indexers in a new gstreamer/plugins directory, out of the
10433           gst/ directory
10434
10435 2005-11-29  Andy Wingo  <wingo@pobox.com>
10436
10437         * check/Makefile.am:
10438         * pkgconfig/gstreamer-net-uninstalled.pc.in:
10439         * pkgconfig/gstreamer-net.pc.in:
10440         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
10441         #322257.
10442
10443 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10444
10445         * tools/Makefile.am:
10446         * tools/gst-complete.1.in:
10447         * tools/gst-complete.c:
10448         * tools/gst-compprep.1.in:
10449         * tools/gst-compprep.c:
10450           removing -compprep and -complete
10451
10452 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10453
10454         * gst/gstevent.c: (gst_event_new_new_segment),
10455         (gst_event_parse_new_segment):
10456         * gst/gstevent.h:
10457           fix #320529 - clean up new_segment API and structure.
10458           Let's hope everyone was using the methods, and not the structure.
10459
10460 2005-11-29  Edward Hervey  <edward@fluendo.com>
10461
10462         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10463         (gst_base_sink_event), (gst_base_sink_do_sync),
10464         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
10465         Properly handle non GST_FORMAT_TIME segment
10466         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
10467         Properly handle non GST_FORMAT_TIME segment
10468         * gst/gstsegment.c:
10469         This function is valid if the accumulator is 0 and the format
10470         is different from the requested format.
10471         
10472 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
10473
10474         * docs/gst/gstreamer-sections.txt:
10475         Add gst_query_new_seeking and gst_query_parse_seeking to the
10476         docs.
10477
10478 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
10479
10480         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
10481           Treat a pad alloc with new caps the same as if we were not
10482           negotiated, in order to allow a changing upstream output
10483           to produce a new format of data.
10484
10485 2005-11-29  Edward Hervey  <edward@fluendo.com>
10486
10487         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
10488         (gst_base_transform_event), (gst_base_transform_eventfunc):
10489         The event virtual method is now properly implemented, with a default
10490         handler
10491         Sub classes should call the parent_class event method. They should
10492         return FALSE if they had a problem handling the given event, or don't
10493         want GstBaseTransform to send that even downstream
10494         * gst/elements/gstidentity.c: (gst_identity_class_init),
10495         (gst_identity_init), (gst_identity_event),
10496         (gst_identity_transform_ip), (gst_identity_set_property),
10497         (gst_identity_get_property):
10498         * gst/elements/gstidentity.h:
10499         Added the single-segment boolean property.
10500         If set to TRUE, it will output a single segment of data, starting from
10501         0, will eat up all incoming newsegment, and modify the timestamp of the
10502         buffers accordingly
10503
10504 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
10505
10506         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
10507           Don't ref NULL target pad (#322751). Improve docs.
10508
10509 2005-11-29  Michael Smith  <msmith@fluendo.com>
10510
10511         * gst/gstregistryxml.c: (load_plugin):
10512           Don't crash if we failed to load a feature from a plugin. 
10513
10514 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10515
10516         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
10517         (GST_START_TEST):
10518           use more check API and less GLib API
10519
10520 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10521
10522         * Makefile.am:
10523           don't run checks if we don't have check
10524         * common/check.mak:
10525           remove the registry when running make torture
10526         * docs/gst/gstreamer-sections.txt:
10527           remove second multiply
10528         * gst/gstqueue.c: (gst_queue_loop):
10529           fix a compile warning when disabling debug
10530
10531 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
10532
10533         * gst/gstinfo.h:
10534         Hey! Let's print the pad name if the pointer != NULL instead
10535         of when it == NULL :-)
10536
10537 2005-11-28  Wim Taymans  <wim@fluendo.com>
10538
10539         * check/gst/gstutils.c: (GST_START_TEST):
10540         Updated check, add some scaling accuracy checking code.
10541
10542         * gst/gstutils.c: (gst_util_div128_64),
10543         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
10544         (gst_util_uint64_scale_int):
10545         Fix 6 times faster division code. Optimize for common 
10546         1/1 and less common X/1 cases.
10547
10548 2005-11-28  Wim Taymans  <wim@fluendo.com>
10549
10550         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
10551         More checks.
10552
10553         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
10554         (do_linear_regression), (gst_clock_add_observation):
10555         Cleanups.
10556         Release lock when the clock cannot be slaved.
10557         Catch the case where the regression returned an invalid denominator.
10558
10559         * gst/gstutils.c: (gst_util_div128_64_iterate),
10560         (gst_util_div128_64), (gst_util_uint64_scale_int64),
10561         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
10562         Add protentially more performant non-iterative 128/64 divide function
10563         that unfortunatly does not work yet.
10564         Shortcut the trivial 0/X = 0 case.
10565         Remove the warnings on overflow.
10566
10567 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10568
10569         * gst/gstplugin.c: (gst_plugin_register_func):
10570           everything causing a plugin not to load should be at least a WARNING
10571
10572 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
10573
10574         * docs/random/ensonic/dparams.txt:
10575           some TODOs for the next dev cycle
10576         * libs/gst/controller/gstcontroller.c:
10577         (gst_controlled_property_set_interpolation_mode),
10578         (gst_controlled_property_new):
10579         * libs/gst/controller/gstcontroller.h:
10580           use base type to assign acccessor functions
10581
10582 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
10583
10584         * check/Makefile.am:
10585         Oops, that should have been top_srcdir
10586
10587 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
10588
10589         * check/Makefile.am:
10590         * check/elements/fdsrc.c: (GST_START_TEST):
10591         Use a cmdline define to specify the location of a file to use for
10592         testing, to avoid breaking distcheck.
10593
10594 2005-11-28  Andy Wingo  <wingo@pobox.com>
10595
10596         * gst/gstpad.c (fixate_value): Use array functions for arrays.
10597
10598 2005-11-28  Edward Hervey  <edward@fluendo.com>
10599
10600         * tools/gst-launch.c: (main):
10601         Clarify the output strings, makes it easier to translate.
10602         Fixes #322626
10603
10604 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10605
10606         * gst/Makefile.am:
10607           don't try and build net if we don't even have <sys/socket.h>
10608
10609 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
10610
10611         * check/Makefile.am:
10612         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
10613         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
10614           Add tests for fdsrc seekability
10615
10616         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
10617         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
10618         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
10619         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
10620         * gst/elements/gstfdsrc.h:
10621           fdsrc should not be a 'live' source.
10622           Implement seeking on seekable fd's.
10623
10624         * gst/gstquery.c: (gst_query_new_seeking),
10625         (gst_query_parse_seeking):
10626         * gst/gstquery.h:
10627           Implement SEEKING query functions: 
10628             *_new_seeking and *_parse_seeking
10629
10630 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
10631
10632         * gst/gstelement.c: (gst_element_dispose):
10633           don't loop forever
10634
10635         * gst/gstiterator.c:
10636         * gst/gststructure.c:
10637           doc fixes
10638
10639         * libs/gst/controller/gstcontroller.c:
10640         (gst_controlled_property_set_interpolation_mode):
10641         * libs/gst/controller/gstcontroller.h:
10642         * libs/gst/controller/gstinterpolation.c:
10643         (interpolate_none_get_enum_value_array):
10644           support controlling enums
10645
10646 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
10647
10648         * gst/gstvalue.c:
10649           Improve documentation for gst_value_union().
10650
10651         * gst/gstvalue.h:
10652           Change return value for union, intersect and subtract functions
10653           from gint to gboolean.
10654
10655 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
10656
10657         * gst/gstvalue.c: (gst_value_serialize_any_list),
10658         (gst_value_transform_any_list_string),
10659         (gst_value_deserialize_list), (gst_value_deserialize_array),
10660         (gst_value_set_int_range), (gst_value_deserialize_int_range),
10661         (gst_value_set_double_range), (gst_value_deserialize_double_range),
10662         (gst_value_set_fraction_range_full),
10663         (gst_value_deserialize_fraction_range),
10664         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
10665         (gst_value_deserialize_boolean),
10666         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
10667         (gst_value_serialize_float), (gst_value_deserialize_float),
10668         (gst_string_wrap), (gst_value_deserialize_string),
10669         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
10670         (gst_value_union_int_range_int_range),
10671         (gst_value_intersect_int_range_int_range),
10672         (gst_value_intersect_double_range_double_range),
10673         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
10674         (gst_value_subtract_int_range_int_range),
10675         (gst_value_subtract_double_double_range),
10676         (gst_value_subtract_double_range_double_range),
10677         (gst_value_deserialize_fraction):
10678         * gst/gstvalue.h:
10679           Use gint, gdouble and gchar in our API instead of int, double and
10680           char (and make usage in gstvalue.c more consistent).
10681
10682 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10683
10684         * check/Makefile.am:
10685         * libs/gst/controller/Makefile.am:
10686         * libs/gst/dataprotocol/Makefile.am:
10687           fix up Makefile.am and remove GST_ENABLE_NEW
10688
10689 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10690
10691         * configure.ac:
10692         * gst/Makefile.am:
10693         * gst/base/Makefile.am:
10694         * gst/check/Makefile.am:
10695         * gst/elements/Makefile.am:
10696         * gst/net/Makefile.am:
10697           update LDFLAGS use some more
10698
10699 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10700
10701         * common/m4/gst-doc.m4:
10702           Fixes #312589
10703
10704 2005-11-26  Edward Hervey  <edward@fluendo.com>
10705
10706         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
10707         This shouldn't issue a g_warning since it returns NULL if it
10708         couldn't find the plugin, and all functions using this behave
10709         properly on a NULL return. Switching to a GST_WARNING.
10710
10711 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
10712
10713         * gst/gstbin.c: (gst_bin_handle_message_func):
10714         Don't leak clock messages.
10715
10716 2005-11-25  Wim Taymans  <wim@fluendo.com>
10717
10718         * gst/gstutils.c: (gst_util_uint64_scale_int64),
10719         (gst_util_uint64_scale_int):
10720         Optimisations, remove unneeded vars.
10721
10722 2005-11-25  Wim Taymans  <wim@fluendo.com>
10723
10724         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
10725         Added more checks for the high precision uint64 cases.
10726
10727         * gst/gstutils.c: (gst_util_uint64_scale_int64),
10728         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
10729         Implement high precision (guint64 * guint64) / guint64.
10730
10731 2005-11-24  Wim Taymans  <wim@fluendo.com>
10732
10733         * gst/base/gstbasesrc.c: (gst_base_src_query):
10734         Fix wrong percentage query.
10735
10736         * gst/gstutils.c: (gst_util_uint64_scale),
10737         (gst_util_uint64_scale_int):
10738         Add some more common cases that can be handled 
10739         efficiently to _scale.
10740
10741 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10742
10743         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
10744         (gst_mini_object_suite):
10745           don't use check calls from threads; check probably isn't
10746           threadsafe and using a lock to make it threadsafe would
10747           defeat the purpose of this check
10748         * gst/check/gstcheck.c:
10749         * gst/check/gstcheck.h:
10750           use GST_DEBUG some more
10751
10752 2005-11-24  Wim Taymans  <wim@fluendo.com>
10753
10754         * gst/gstutils.c: (gst_util_uint64_scale),
10755         (gst_util_uint64_scale_int):
10756         Chain trivial case to _scale_int.
10757
10758 2005-11-24  Wim Taymans  <wim@fluendo.com>
10759
10760         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
10761         Added test for scaling.
10762
10763         * gst/gstclock.h:
10764         Small doc fix.
10765
10766         * gst/gstutils.c: (gst_util_uint64_scale_int):
10767         Implemented high precision scaling code.
10768
10769 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
10770
10771         * gst/gstinfo.h:
10772           do not crash on pad==NULL
10773
10774 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10775
10776         Patch by: Stefan Kost
10777
10778         * common/gtk-doc.mak:
10779         * docs/gst/Makefile.am:
10780         * docs/libs/Makefile.am:
10781           Fix distcheck issues for the libraries docs build
10782           Closes #319599.
10783
10784 2005-11-24  Michael Smith <msmith@fluendo.com>
10785
10786         * docs/manual/basics-helloworld.xml:
10787           Fix bug #315027: memory leak in example code in docs.
10788
10789 2005-11-24  Michael Smith <msmith@fluendo.com>
10790
10791         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10792           Unlock the PREROLL_LOCK in a failure case.
10793
10794 2005-11-24  Wim Taymans  <wim@fluendo.com>
10795
10796         * docs/gst/gstreamer-sections.txt:
10797         * gst/base/gstadapter.h:
10798         * gst/base/gstbasesink.h:
10799         * gst/base/gstbasesrc.h:
10800         * gst/base/gstbasetransform.h:
10801         * gst/base/gstpushsrc.h:
10802         * gst/elements/gstfakesink.h:
10803         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
10804         * gst/elements/gstfakesrc.h:
10805         * gst/elements/gstfilesink.h:
10806         * gst/elements/gstfilesrc.h:
10807         * gst/gst.c:
10808         * gst/gstbin.c:
10809         * gst/gstbuffer.c: (_gst_buffer_copy):
10810         * gst/gstbus.h:
10811         * gst/gstcaps.c:
10812         * gst/gstchildproxy.c:
10813         * gst/gstclock.c:
10814         * gst/gstelement.c:
10815         * gst/gstelementfactory.c:
10816         * gst/gstelementfactory.h:
10817         * gst/gstevent.c:
10818         * gst/gstghostpad.h:
10819         * gst/gstindex.h:
10820         * gst/gstinterface.h:
10821         * gst/gstminiobject.c:
10822         * gst/gstminiobject.h:
10823         * gst/gstpad.c:
10824         * gst/gstpad.h:
10825         * gst/gstpadtemplate.h:
10826         * gst/gstpipeline.h:
10827         * gst/gstpluginfeature.h:
10828         * gst/gstquery.h:
10829         * gst/gstqueue.h:
10830         * gst/gsttaglist.c:
10831         * gst/gsttaglist.h:
10832         * gst/gsttagsetter.c:
10833         * gst/gsttagsetter.h:
10834         * gst/gsttrace.c:
10835         * gst/gsttrace.h:
10836         * gst/gsttypefind.h:
10837         * gst/gsturi.h:
10838         * gst/gstvalue.c:
10839         * gst/net/gstnetclientclock.c:
10840         * gst/net/gstnetclientclock.h:
10841         * gst/net/gstnettimepacket.c:
10842         * gst/net/gstnettimeprovider.c:
10843         * gst/net/gstnettimeprovider.h:
10844         Doc fixes.
10845
10846 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10847
10848         * configure.ac: back to HEAD
10849
10850 === release 0.9.6 ===
10851
10852 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
10853
10854         * configure.ac:
10855           releasing 0.9.6, "Always On Time"
10856
10857 2005-11-23  Wim Taymans  <wim@fluendo.com>
10858
10859         * docs/gst/gstreamer-sections.txt:
10860         * gst/glib-compat.c:
10861         * gst/gsttagsetter.c:
10862         * gst/gstvalue.c:
10863         * gst/net/gstnetclientclock.c:
10864         * gst/net/gstnettimepacket.h:
10865         Doc updates.
10866
10867 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10868
10869         * docs/faq/using.xml:
10870         * docs/libs/tmpl/gstcontrol.sgml:
10871         * docs/manual/advanced-dparams.xml:
10872         * docs/manual/appendix-checklist.xml:
10873         * docs/manual/basics-elements.xml:
10874         * docs/pwg/other-source.xml:
10875         * docs/random/moving-plugins:
10876         * gst/gstpad.c:
10877         * tools/gst-launch.1.in:
10878           remove mentions of sinesrc
10879
10880 2005-11-23  Michael Smith <msmith@fluendo.com>
10881
10882         * docs/gst/gstreamer-sections.txt:
10883           Update for new API and API changes.
10884         * gst/gstobject.h:
10885           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
10886         * gst/gstvalue.c:
10887           Documentation typo fix.
10888         * gst/net/gstnettimepacket.c:
10889           Documentation fixes for arguments.
10890
10891 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
10892
10893         * gst/gststructure.c: (gst_structure_get_fraction),
10894         (gst_structure_parse_value),
10895         (gst_structure_fixate_field_nearest_fraction):
10896         * gst/gststructure.h:
10897         * gst/gstutils.c: (gst_util_uint64_scale_int):
10898         * gst/gstutils.h:
10899         * scripts/update-funcnames:
10900         API Changes. 
10901         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
10902         Make gst_structure_fixate_field_nearest_fraction take a numerator
10903         and denominator argument instead of a GValue
10904         add gst_structure_get_fraction helper function.
10905
10906 2005-11-23  Wim Taymans  <wim@fluendo.com>
10907
10908         * docs/design/part-TODO.txt:
10909         Update TODO.
10910
10911         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
10912         * gst/net/gstnetclientclock.h:
10913         Use parent fields for timeout and window_size.
10914
10915 2005-11-23  Andy Wingo  <wingo@pobox.com>
10916
10917         * check/net/gstnetclientclock.c (test_functioning): Adjust to
10918         rate_num/rate_denom change.
10919
10920         * gst/net/gstnetclientclock.c
10921         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
10922         OBJECT_LOCK. Don't call add_observation with the lock.
10923
10924         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
10925         fraction.
10926         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
10927         rate fraction.
10928         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
10929         deal with rate as a fraction whose numerator and denominator are
10930         GstClockTime values.
10931         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
10932         master; the other fields are protected by the SLAVE_LOCK.
10933         (do_linear_regression): Note that this must be called with the
10934         SLAVE_LOCK.
10935         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
10936         OBJECT_LOCK. Call set_calibration instead of touching the
10937         variables directly.
10938         (gst_clock_set_property, gst_clock_get_property): Protect
10939         master/slave parameters with the SLAVE_LOCK.
10940
10941         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
10942         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
10943         note that all of the instance variables that add_observation and
10944         the set_master functions use are protected by that lock and not
10945         the OBJECT_LOCK.
10946         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
10947
10948         * gst/gstclock.c (gst_clock_add_observation): No longer requires
10949         the caller to take the object lock.
10950
10951 2005-11-23  Wim Taymans  <wim@fluendo.com>
10952
10953         * gst/gsterror.c: (_gst_core_errors_init):
10954         * gst/gsterror.h:
10955         Add error for clock stuff.
10956
10957         * gst/gstpipeline.c: (gst_pipeline_change_state),
10958         (gst_pipeline_set_clock):
10959         Post clock error when clock cannot be used in a pipeline.
10960
10961 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
10962
10963         * docs/gst/gstreamer-sections.txt:
10964           make two symbols from gstinfo private for the docs
10965         * gst/base/gstcollectpads.h:
10966         * gst/gstutils.c:
10967           fix doc typos, update docs
10968
10969 2005-11-22  Wim Taymans  <wim@fluendo.com>
10970
10971         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10972         (gst_base_sink_wait), (gst_base_sink_do_sync),
10973         (gst_base_sink_handle_event):
10974         * gst/base/gstbasesink.h:
10975         No need to store the clock, the parent element class already
10976         has it.
10977
10978         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
10979         Updates for clock_set returning a gboolean
10980
10981         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
10982         (gst_clock_id_wait_async), (gst_clock_class_init),
10983         (gst_clock_init), (gst_clock_finalize),
10984         (gst_clock_get_internal_time), (gst_clock_get_time),
10985         (gst_clock_slave_callback), (gst_clock_set_master),
10986         (gst_clock_get_master), (do_linear_regression),
10987         (gst_clock_add_observation), (gst_clock_set_property),
10988         (gst_clock_get_property):
10989         * gst/gstclock.h:
10990         Implement master/slave. When setting a clock as a slave, a
10991         periodic timeout is scheduled to sample master and slave times.
10992         Then the slave clock is recalibrated to match offset and rate
10993         of the master clock.
10994         Update logging a bit.
10995         Add flag so that a clock can state that is cannot be slaved to
10996         another clock.
10997
10998         * gst/gstelement.c: (gst_element_set_clock):
10999         * gst/gstelement.h:
11000         The set clock returns a gboolean for when an element cannot
11001         deal with the selected clock in the pipeline. 
11002
11003         * gst/gstpipeline.c: (gst_pipeline_change_state),
11004         (gst_pipeline_set_clock):
11005         * gst/gstpipeline.h:
11006         Handle the case where the selected clock cannot be set on
11007         the pipeline.
11008
11009         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
11010         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
11011         (gst_net_client_clock_set_property),
11012         (gst_net_client_clock_get_property),
11013         (gst_net_client_clock_observe_times):
11014         * gst/net/gstnetclientclock.h:
11015         Use regression code in GstClock parent, remove duplicated
11016         functionality.
11017
11018 2005-11-22  Michael Smith <msmith@fluendo.com>
11019
11020         * gst/gstutils.c: (gst_util_clock_time_scale):
11021         * gst/gstutils.h:
11022         * docs/gst/gstreamer-sections.txt:
11023           Rename method to have extra underscore.
11024
11025 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11026
11027         * gst/elements/Makefile.am:
11028         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
11029         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
11030         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
11031         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
11032         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
11033         * gst/elements/gstfakesrc.h:
11034         * gst/gstqueue.c: (queue_leaky_get_type):
11035           correctly fix GEnumValues so that nick is the short lowercase
11036           dashed tag
11037         * tools/gst-inspect.c: (print_element_properties_info):
11038           also show the nick, since it's useful to use from parse_launch
11039           syntax
11040           Fixes #322139
11041
11042 2005-11-22  Michael Smith <msmith@fluendo.com>
11043
11044         * gst/gstutils.c: (gst_util_clocktime_scale):
11045         * gst/gstutils.h:
11046         * docs/gst/gstreamer-sections.txt:
11047           Add util method for scaling a clocktime by a fraction. Useful 
11048           implementation is left as an exercise for the reader.
11049
11050 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11051
11052         * gst/gstvalue.c: (gst_value_collect_fraction_range):
11053         If needed, allocate storage in the destination value during
11054         collection.
11055
11056 2005-11-22  Edward Hervey  <edward@fluendo.com>
11057
11058         * docs/gst/gstreamer-sections.txt:
11059         * gst/Makefile.am:
11060         * gst/gst.h:
11061         * gst/gsturitype.c:
11062         * gst/gsturitype.h:
11063         * gst/gstutils.c: (gst_util_set_object_arg):
11064         * tools/gst-compprep.c: (main):
11065         * tools/gst-inspect.c: (print_element_properties_info):
11066         Removed GstURI, closes bug #321061
11067
11068 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11069
11070         * check/gst/gststructure.c: (GST_START_TEST):
11071         * gst/gststructure.c: (gst_structure_parse_value):
11072           Oops, broke automatic string type parsing.
11073           Add a test to catch it in future.
11074
11075 2005-11-22  Andy Wingo  <wingo@pobox.com>
11076
11077         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
11078         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
11079         Actually rename the function implementations. Grr.
11080
11081 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11082
11083         * check/gst/capslist.h:
11084           Comment test cases
11085         * check/gst/gststructure.c: (GST_START_TEST),
11086         (gst_structure_suite):
11087           Test automatic value type detection in gst_structure_from_string.
11088         * gst/gststructure.c: (gst_structure_parse_value):
11089           Add fraction as a type we try and guess automatically in
11090           caps/structure strings.
11091
11092 2005-11-22  Andy Wingo  <wingo@pobox.com>
11093
11094         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
11095
11096         * gst/gsttagsetter.h:
11097         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
11098         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
11099         (gst_tag_setter_add_tag_valist)
11100         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
11101         _add_values, _add_valist, and _add_valist_values. Since this is an
11102         interface the function suffixes should be more explicit so
11103         language binding don't end up with element.add_valist ->
11104         gst_tag_setter_add_valist, for example. Fixes #322069.
11105
11106 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11107
11108         * check/gst/gstcaps.c: (GST_START_TEST):
11109           Extend caps string tests to check that a caps to string
11110           conversion is reversible and produces the same caps.
11111
11112         * gst/gststructure.c: (gst_structure_value_get_generic_type):
11113           Output "fraction" as the generic type fraction range, so caps
11114           serialisation and deserialisation works.
11115         * check/gst/capslist.h:
11116         * gst/gstvalue.c: (gst_value_deserialize_fraction):
11117           Support 'MIN' and 'MAX' for deserialising fractions.
11118
11119 2005-11-22  Andy Wingo  <wingo@pobox.com>
11120
11121         * gst/gstevent.h (gst_event_new_new_segment)
11122         (gst_event_parse_new_segment, gst_event_new_buffer_size)
11123         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
11124         Renamed from *_newsegment, *_buffersize, *_notarget.
11125
11126         * scripts/update-funcnames: New script, performs the changes
11127         listed above.
11128
11129 2005-11-22  Wim Taymans  <wim@fluendo.com>
11130
11131         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11132         Make sure the GstFlowReturn is returned.
11133
11134         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
11135         (gst_bus_add_signal_watch):
11136         * gst/gstbus.h:
11137         add gst_bus_add_signal_watch_full.
11138
11139         * gst/gstplugin.c: (gst_plugin_load_file):
11140         Small style cleanup.
11141
11142 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11143
11144         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
11145           Block the fakesrc srcpad when we send an event, to avoid
11146           contention on the stream_lock causing random test failures.
11147
11148 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11149
11150         * check/gst/gstvalue.c: (GST_START_TEST):
11151         * gst/gstvalue.c: (gst_value_fraction_subtract):
11152           Fix subtraction.
11153
11154 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
11155
11156         * gst/gst.h:
11157           include "gstchildproxy.h"
11158         * gst/gstchildproxy.h:
11159         * libs/gst/controller/gstcontroller.h:
11160           use G_GNUC_NULL_TERMINATED
11161
11162 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11163
11164         * check/gst/capslist.h:
11165         * check/gst/gstcaps.c: (GST_START_TEST):
11166         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11167         * gst/gststructure.c: (gst_structure_parse_range),
11168         (gst_structure_fixate_field_nearest_fraction):
11169         * gst/gststructure.h:
11170         * gst/gstvalue.c: (gst_value_init_fraction_range),
11171         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
11172         (gst_value_collect_fraction_range),
11173         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
11174         (gst_value_set_fraction_range_full),
11175         (gst_value_get_fraction_range_min),
11176         (gst_value_get_fraction_range_max),
11177         (gst_value_serialize_fraction_range),
11178         (gst_value_transform_fraction_range_string),
11179         (gst_value_compare_fraction_range),
11180         (gst_value_deserialize_fraction_range),
11181         (gst_value_intersect_fraction_fraction_range),
11182         (gst_value_intersect_fraction_range_fraction_range),
11183         (gst_value_subtract_fraction_fraction_range),
11184         (gst_value_subtract_fraction_range_fraction),
11185         (gst_value_subtract_fraction_range_fraction_range),
11186         (gst_value_collect_fraction), (gst_value_fraction_multiply),
11187         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
11188         (gst_value_transform_string_fraction), (_gst_value_initialize):
11189         * gst/gstvalue.h:
11190           Implement fraction ranges and extend GstFraction to support
11191           arithmetic subtraction, as well as deserialization from integer
11192           strings such as "100"
11193           Add a testsuite as for int and double range set operations
11194
11195 2005-11-21  Andy Wingo  <wingo@pobox.com>
11196
11197         * gst/gsttaglist.h: 
11198         * gst/gstcaps.h: 
11199         * gst/gststructure.h: Add glib-compat.h.
11200
11201 2005-11-21  Wim Taymans  <wim@fluendo.com>
11202
11203         * gst/gstbin.c: (gst_bin_change_state_func):
11204         Fix for #321595
11205
11206 2005-11-21  Wim Taymans  <wim@fluendo.com>
11207
11208         * gst/gstsegment.h:
11209         And add a nice define too.
11210
11211 2005-11-21  Wim Taymans  <wim@fluendo.com>
11212
11213         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
11214         (gst_segment_new), (gst_segment_free), (gst_segment_init),
11215         (gst_segment_set_duration), (gst_segment_set_last_stop),
11216         (gst_segment_set_seek), (gst_segment_set_newsegment),
11217         (gst_segment_to_stream_time), (gst_segment_to_running_time),
11218         (gst_segment_clip):
11219         * gst/gstsegment.h:
11220         Make binding friendly.
11221
11222 2005-11-21  Andy Wingo  <wingo@pobox.com>
11223
11224         * gst/gsttagsetter.h: 
11225         * gst/gsttaglist.h: 
11226         * gst/gststructure.h: 
11227         * gst/gstcaps.h: 
11228         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
11229         #319940.
11230
11231         * gst/gsterror.c (_gst_core_errors_init):
11232         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
11233         category.
11234
11235         * gst/Makefile.am (gst_headers): Add glib-compat.h.
11236         (noinst_HEADERS): noinst the -private.
11237
11238 2005-11-21  Michael Smith <msmith@fluendo.com>
11239
11240         * gst/gstplugin.h:
11241         * gst/gstregistry.h:
11242           Remove unimplemented declarations for which we can see no sensible
11243           use.
11244
11245 2005-11-21  Andy Wingo  <wingo@pobox.com>
11246
11247         * gst/gst.h: Include glib-compat.h.
11248
11249         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
11250
11251         * gst/glib-compat.c: Include the public and the private header.
11252
11253         * gst/glib-compat-private.h: Copied here from glib-compat.h.
11254
11255         * gst/gstvalue.c: 
11256         * gst/gstpad.c: 
11257         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
11258
11259         * check/gst/gstevent.c (create_custom_events): Check that
11260         FLUSH_STOP is serialized.
11261
11262         * check/elements/identity.c (event_func): 
11263         * check/elements/fakesrc.c (event_func): No stream lock, the core
11264         takes it.
11265
11266         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
11267         stream lock taking, yay.
11268
11269         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
11270         ensure that core takes the stream lock.
11271
11272         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
11273         lock name change.
11274
11275         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
11276         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
11277         it already. For the flush start we do take it though so we get the
11278         right preroll state change messages.
11279
11280         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
11281         the stream lock here, the core does it for us.
11282
11283         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
11284         GST_STREAM_GET_LOCK.
11285         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
11286         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
11287         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
11288         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
11289         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
11290         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
11291
11292         * gst/gstpad.c: Update for stream lock name change.
11293
11294         * gst/base/gstbasesink.c: Update for preroll lock name change.
11295
11296 2005-11-21  Wim Taymans  <wim@fluendo.com>
11297
11298         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
11299         (gst_clock_get_master):
11300         * gst/gstclock.h:
11301         * gst/gstsystemclock.c: (gst_system_clock_init):
11302         Convert Clock flags to object flags.
11303         Added methods to manage master/slave clocks.
11304
11305 2005-11-21  Wim Taymans  <wim@fluendo.com>
11306
11307         * check/gst/gstsegment.c: (GST_START_TEST):
11308         * docs/design/part-TODO.txt:
11309         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11310         (gst_base_sink_event), (gst_base_sink_do_sync),
11311         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
11312         (gst_base_sink_query), (gst_base_sink_change_state):
11313         * gst/base/gstbasesink.h:
11314         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
11315         (gst_base_src_default_newsegment),
11316         (gst_base_src_configure_segment), (gst_base_src_do_seek),
11317         (gst_base_src_get_range), (gst_base_src_loop),
11318         (gst_base_src_change_state):
11319         * gst/base/gstbasesrc.h:
11320         * gst/base/gstbasetransform.c:
11321         (gst_base_transform_prepare_output_buf),
11322         (gst_base_transform_event), (gst_base_transform_change_state):
11323         * gst/base/gstbasetransform.h:
11324         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
11325         (gst_collect_pads_event):
11326         * gst/base/gstcollectpads.h:
11327         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
11328         (gst_fake_src_create):
11329         * gst/elements/gstfakesrc.h:
11330         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
11331         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
11332         (gst_segment_set_last_stop), (gst_segment_set_seek),
11333         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
11334         (gst_segment_to_running_time), (gst_segment_clip):
11335         * gst/gstsegment.h:
11336         More segment updates, replace code in plugins with segment
11337         helper functions.
11338
11339 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
11340
11341         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
11342         Don't ignore sscanf results
11343
11344 2005-11-21  Andy Wingo  <wingo@pobox.com>
11345
11346         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
11347
11348         * *.h:
11349         * *.c: Ran scripts/update-macros. Oh yes.
11350
11351         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
11352         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
11353         GST_GET_LOCK, etc.
11354
11355         * scripts/update-macros: New script. Run it on your files to
11356         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
11357         well.
11358
11359 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
11360
11361         * docs/gst/Makefile.am:
11362         * docs/gst/gstreamer-docs.sgml:
11363         * docs/gst/gstreamer-sections.txt:
11364         * docs/gst/gstreamer.types:
11365         * gst/gstinfo.h:
11366           more docs fixes, add new api to the docs
11367
11368 2005-11-21  Andy Wingo  <wingo@pobox.com>
11369
11370         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
11371         state_broadcast call.
11372
11373         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
11374
11375 2005-11-21  Julien MOUTTE  <julien@moutte.net>
11376
11377         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
11378         function calls for arrays.
11379
11380 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
11381
11382         * docs/random/ensonic/media-device-daemon.txt:
11383           wild idea, can this be done?
11384         * docs/gst/gstreamer-sections.txt:
11385         * gst/gsterror.h:
11386         * gst/gstfilter.c:
11387         * gst/gstfilter.h:
11388         * gst/gstplugin.h:
11389         * gst/gstpluginfeature.c:
11390         * gst/gsttrace.c:
11391         * gst/gstvalue.c:
11392         * gst/gstvalue.h:
11393           doc fixes and additions
11394
11395 2005-11-21  Andy Wingo  <wingo@pobox.com>
11396
11397         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
11398         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
11399         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
11400         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
11401         private to the basesrc implementation.
11402
11403         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
11404         behalf of event function if necessary. It should no longer be
11405         necessary to take the stream lock in pad's event functions. Fixes
11406         #320299.
11407
11408 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
11409         * docs/gst/gstreamer-sections.txt:
11410         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
11411         (gst_structure_fixate_field_nearest_double),
11412         (gst_structure_fixate_field_boolean):
11413         * gst/gststructure.h:
11414         * win32/common/libgstreamer.def:
11415         * win32/gstreamer.def:
11416
11417         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
11418         (#322027)
11419
11420 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
11421
11422         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
11423         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
11424         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
11425         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
11426         (gst_fdsrc_uri_handler_init):
11427         * gst/elements/gstfdsrc.h:
11428           Port fd:// URI handler from 0.8 to fdsrc
11429
11430 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11431
11432         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
11433         (gst_value_serialize_fourcc):
11434         * gst/gstvalue.h:
11435           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
11436           consistent with our other format defines (#320324).
11437
11438 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11439
11440         * gst/gstvalue.c: (gst_value_is_fixed):
11441           Revert previous commit. Value lists are by definition
11442           not fixed, as they are a list of possible values.
11443
11444 2005-11-21  Andy Wingo  <wingo@pobox.com>
11445
11446         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
11447         during the stable series if we need it. Fixes #319178.
11448
11449         * gst/gstevent.c (gst_event_new_filler): Removed.
11450
11451         * check/gst/gstevent.c: Update comment about filler events.
11452
11453 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11454
11455         * gst/gstvalue.c: (gst_value_is_fixed):
11456           Should handle both value arrays and value lists.
11457
11458 2005-11-21  Andy Wingo  <wingo@pobox.com>
11459
11460         patch by: Alessandro Dessina <alessandro nnva org>
11461
11462         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
11463         functions to access arrays. Fixes #321962.
11464
11465 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11466
11467         * docs/gst/gstreamer.types:
11468           gst_collectpads_get_type => gst_collect_pads_get_type.
11469           
11470         * gst/base/gstbasetransform.c:
11471           Remove unused SIGNAL_HANDOFF enum.
11472
11473 2005-11-21  Andy Wingo  <wingo@pobox.com>
11474
11475         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
11476         the event type (upstream, downstream, serialized). Renamed
11477         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
11478         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
11479         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
11480
11481         * gst/gstevent.c: Update for new CUSTOM event names.
11482
11483         * check/gst/gstevent.c: Update check for new CUSTOM event names.
11484
11485         * gst/gstevent.h:
11486         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
11487         bug #319392.
11488
11489 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11490
11491         * docs/gst/gstreamer-sections.txt:
11492         * win32/common/libgstbase.def:
11493         * win32/libgstbase.def:
11494         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
11495         (gst_collect_pads_class_init), (gst_collect_pads_init),
11496         (gst_collect_pads_finalize), (gst_collect_pads_new),
11497         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
11498         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
11499         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
11500         (gst_collect_pads_start), (gst_collect_pads_stop),
11501         (gst_collect_pads_peek), (gst_collect_pads_pop),
11502         (gst_collect_pads_available), (gst_collect_pads_read),
11503         (gst_collect_pads_flush), (gst_collect_pads_event),
11504         (gst_collect_pads_chain):
11505         * gst/base/gstcollectpads.h:
11506           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
11507           unimplemented functions as unimplemented. Add padding to
11508           GstCollectData. (#320766, #320423)
11509
11510 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11511
11512         * gst/gstmessage.c:
11513           Improve docs for DURATION message (usage of duration parameter)
11514           (#320113)
11515
11516 2005-11-20  Wim Taymans  <wim@fluendo.com>
11517
11518         * check/Makefile.am:
11519         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
11520         (main):
11521         * gst/Makefile.am:
11522         * gst/gst.h:
11523         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
11524         (gst_segment_set_seek), (gst_segment_set_newsegment),
11525         (gst_segment_to_stream_time), (gst_segment_to_running_time),
11526         (gst_segment_clip):
11527         * gst/gstsegment.h:
11528         Added segment helper structure and methods. Not fully implemented
11529         yet.
11530         Added segment check.
11531
11532 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
11533
11534         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11535           Add a deserialisation test for fractions
11536         * examples/metadata/read-metadata.c: (message_loop),
11537         (make_pipeline), (main):
11538           Fix up metadata reading sample.
11539         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
11540           Debug format fix
11541         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
11542           Don't try and fixate empty caps
11543         * gst/gst_private.h:
11544           Wrap in G_BEGIN_DECLS/G_END_DECLS
11545         * gst/gstvalue.c: (gst_value_collect_fraction),
11546         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
11547         (gst_value_transform_string_fraction),
11548         (gst_value_compare_fraction):
11549           Add some extra guards to ensure that we don't end up 
11550           with an invalid denominator of 0 in a gstfraction and
11551           that fractions always get reduced.
11552
11553 2005-11-20  Wim Taymans  <wim@fluendo.com>
11554
11555         * docs/gst/gstreamer-sections.txt:
11556         * gst/gstbuffer.h:
11557         * gst/gstelement.c:
11558         * gst/gstformat.c:
11559         * gst/gstformat.h:
11560         * gst/gstindex.h:
11561         * gst/gstquery.c:
11562         * gst/gstquery.h:
11563         * gst/gstvalue.c:
11564         Doc fixes.
11565
11566 2005-11-20  Wim Taymans  <wim@fluendo.com>
11567
11568         * docs/design/part-TODO.txt:
11569         * gst/gstcaps.h:
11570         Make a proper enum of the flag.
11571
11572 2005-11-19  Wim Taymans  <wim@fluendo.com>
11573
11574         * docs/design/part-TODO.txt:
11575         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
11576         (gst_format_to_quark), (gst_format_register):
11577         * gst/gstformat.h:
11578         * gst/gstquery.c: (_gst_query_initialize),
11579         (gst_query_type_get_name), (gst_query_type_to_quark),
11580         (gst_query_type_register):
11581         * gst/gstquery.h:
11582         Add type to quark and type to string conversions.
11583
11584 2005-11-19  Andy Wingo  <wingo@pobox.com>
11585
11586         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
11587         #320097.
11588
11589 2005-11-19  Wim Taymans  <wim@fluendo.com>
11590
11591         * docs/design/part-TODO.txt:
11592         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
11593         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
11594         (gst_bin_handle_message_func):
11595         * gst/gstbin.h:
11596         Make message handling overridable.
11597
11598 2005-11-19  Andy Wingo  <wingo@pobox.com>
11599
11600         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
11601
11602         * gst/gstclock.h:
11603         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
11604         be a GstClockTime.
11605         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
11606         is a GstClockTime. Fixes #321710.
11607
11608         * gst/gstclock.h (GstClock): Remove offset property. Add
11609         internal_calibration and external_calibration. Fix padding. Pad
11610         also by GstClockTime so we don't run into problems.
11611
11612         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
11613         (gst_clock_get_rate_offset): Remove.
11614         (gst_clock_set_time_adjust): Remove. Fixes #321712.
11615
11616         * gst/gstutils.h:
11617         * gst/gstutils.c (g_static_rec_cond_wait)
11618         (g_static_rec_cond_timed_wait): Removed, no longer needed.
11619
11620         * gst/gstbin.c: Remove terrible continue_state prototype.
11621
11622         * gst/gstelement.h (gst_element_continue_state): Make public.
11623
11624         * gst/gstelement.h:
11625         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
11626         by continue_state. Fixes #319389.
11627
11628         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
11629         Really fixes #168438. However I don't see anywhere where the
11630         filter function is called... stupid GStreamer...
11631         
11632         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
11633         don't have a dispose function, so it won't get called when the
11634         object is unreffed, but oh well!
11635
11636         * gst/gstindex.c (gst_index_set_filter_full): New API function,
11637         allows a destroy function to be set so user_data can be freed.
11638         Fixes #168438.
11639         (gst_index_set_filter): Call gst_index_set_filter_full.
11640
11641         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
11642
11643         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
11644         string should produce an error, given the lack of a way to
11645         represent NULL strings. Fixes #165650.
11646         
11647         * gst/gstvalue.h: 
11648         * gst/gstvalue.c (gst_value_array_append_value) 
11649         (gst_value_array_prepend_value, gst_value_array_get_size) 
11650         (gst_value_array_get_value): New API, copied from
11651         gst_value_list_*, only operates on arrays.
11652         (gst_value_list_append_value, gst_value_list_prepend_value) 
11653         (gst_value_list_concat, gst_value_list_get_size) 
11654         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
11655
11656         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
11657         init_list, because it works on both.
11658         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
11659         (gst_value_copy_list_or_array): Renamed from copy_list.
11660         (gst_value_free_list_or_array): Renamed from free_list.
11661         (gst_value_collect_list_or_array): Renamed from collect_list.
11662         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
11663         (gst_value_list_or_array_peek_pointer): Renamed from
11664         list_peek_pointer.
11665         (_gst_value_array_value_table, _gst_value_list_value_table):
11666         Update value table functions.
11667         (gst_value_compare_list_or_array): Renamed from compare_list.
11668
11669         * gsttaglist.h: Whoops, foreach function returns void. Also fix
11670         some constness.
11671
11672         * gst/gsttaglist.c:
11673         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
11674         GstTagList*. Fixes #143472.
11675
11676         * gst/gststructure.h: Clarify what the foreach/map functions can
11677         or can't do to their arguments.
11678
11679 2005-11-18  Wim Taymans  <wim@fluendo.com>
11680
11681         * gst/gstclock.c: (gst_clock_set_calibration),
11682         (gst_clock_get_calibration):
11683         Doc and API fixes.
11684         Calibration can be set with internal time equal to current
11685         internal time too.
11686
11687 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11688
11689         * gst/gsterror.c:
11690         * gst/gsterror.h:
11691           document
11692
11693 2005-11-18  Andy Wingo  <wingo@pobox.com>
11694
11695         * configure.ac: 
11696         * pkgconfig/gstreamer-net.pc.in:
11697         * pkgconfig/gstreamer-net-uninstalled.pc.in:
11698         * pkgconfig/Makefile.am: Add net pkgconfig files.
11699
11700 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
11701
11702         * gst/gstcaps.c:
11703         * gst/gstghostpad.c:
11704         * gst/gsttrace.c:
11705         * gst/gstvalue.c:
11706         * gst/gstvalue.h:
11707           docs fixes
11708
11709 2005-11-18  Andy Wingo  <wingo@pobox.com>
11710
11711         * gst/net/gstnetclientclock.c: Turn off debugging.
11712
11713         * check/net/gstnetclientclock.c (test_functioning): Assert that the
11714         times connverge somewhat. Can't make a real test.
11715
11716         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
11717         integer arithmetic. Return the minimum of the domain, which can be
11718         set as "internal" for gst_clock_set_calibration.
11719         (gst_net_client_clock_observe_times): Call _set_calibration.
11720         (gst_net_client_clock_new): Call _set_calibration instead of
11721         rate_offset.
11722
11723         * check/net/gstnetclientclock.c (test_functioning): Use the right
11724         adjustment api.
11725
11726         * gst/gstclock.h:
11727         * gst/gstclock.c (gst_clock_get_calibration) 
11728         (gst_clock_set_calibration): New functions, obsolete the ones I
11729         added yesterday. Doh. Precision issues mean we have to extrapolate
11730         from a point in the more recent past than 1970.
11731         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
11732         obsolete.
11733         (gst_clock_adjust_unlocked): Use the right calibration data.
11734
11735 2005-11-18  Edward Hervey  <edward@fluendo.com>
11736
11737         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
11738         Also reset the ->current_* values in READY->PAUSED
11739
11740 2005-11-18  Andy Wingo  <wingo@pobox.com>
11741
11742         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
11743         Whoops, check the right fd. Also add some debugging.
11744         (gst_net_client_clock_observe_times): Adjust for int64 offset.
11745         (do_linear_regression): Add a crapload of debugging. Subtract off
11746         the minimum values from the input series to discard unneeded bits.
11747         Use only int arithmetic. There is still double arithmetic when
11748         calculating the intercept that needs fixing. Return boolean to
11749         indicate success; FALSE would mean the domain or range is too
11750         great. Still needs fixes.
11751
11752 2005-11-18  Wim Taymans  <wim@fluendo.com>
11753
11754         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
11755         For the current position in stream time, we need to subtract
11756         accumulated time.
11757         
11758         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
11759         Release lock before calling the callback function of async
11760         entries.
11761
11762 2005-11-18  Andy Wingo  <wingo@pobox.com>
11763
11764         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
11765         Port goes all the way to MAXUINT16.
11766
11767         * gst/net/gstnettimeprovider.c: Make the port range the same as
11768         for the kernel: 0 assigns, otherwise ports are less than
11769         MAXUINT16.
11770
11771         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
11772         port change.
11773
11774         * check/net/gstnetclientclock.c (test_functioning): Add the start
11775         of another test. 
11776
11777 2005-11-18  Wim Taymans  <wim@fluendo.com>
11778
11779         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
11780         (gst_bin_remove_func), (bin_bus_handler):
11781         * gst/gstbin.h:
11782         Removing a clock provider from a bin, triggers a clock lost message
11783         so that a new clock will be selected.
11784         Adding a clock to a bin triggers a clock provider message.
11785         Make sure we reselect a clock when we received a clock lost message.
11786         Keep a reference to the element that provided the clock.
11787
11788 2005-11-18  Andy Wingo  <wingo@pobox.com>
11789
11790         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
11791         the clock initially so it produces values around the base time.
11792         (gst_net_client_clock_class_init): Typo fix.
11793         (gst_net_client_clock_thread): Add note on when the socket gets
11794         closed.
11795
11796 2005-11-17  Wim Taymans  <wim@fluendo.com>
11797
11798         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
11799         Free remote and local time arrays.
11800
11801 2005-11-17  Wim Taymans  <wim@fluendo.com>
11802
11803         * gst/net/gstnetclientclock.c: (do_linear_regression),
11804         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
11805         Fix compilation, uninitialized vars and a forgotten continue.
11806
11807 2005-11-17  Andy Wingo  <wingo@pobox.com>
11808
11809         * check/Makefile.am (check_PROGRAMS): 
11810         * check/net/gstnetclientclock.c: Add a most minimal test for the
11811         net client clock. More to come later.
11812
11813         * gst/net/gstnet.h: 
11814         * gst/net/Makefile.am: Add netclientclock.
11815
11816         * gst/net/gstnetclientclock.h:
11817         * gst/net/gstnetclientclock.c: New files, implement an untested
11818         GstClock that takes its time from a network time provider.
11819         Implements the algorithm in network-clock.scm.
11820
11821         * tests/network-clock.scm (*window-size*): Rename from
11822         *queue-length*.
11823         * tests/network-clock.scm (network-time): 
11824         * tests/network-clock-utils.scm (q-push): Update callers.
11825
11826 2005-11-17  Wim Taymans  <wim@fluendo.com>
11827
11828         * gst/gstbin.c: (gst_bin_provide_clock_func),
11829         (gst_bin_sort_iterator_new):
11830         And unref the child too..
11831
11832 2005-11-17  Wim Taymans  <wim@fluendo.com>
11833
11834         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
11835         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
11836         Refactor the sort iterator so it can be used while holding the
11837         LOCK too.
11838         Make clock selection select a clock closest to the source.
11839
11840 2005-11-17  Michael Smith <msmith@fluendo.com>
11841
11842         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
11843         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
11844         * gst/gstclock.h:
11845           Anonymous structs are a gcc (and some other compilers) extension, so
11846           don't use them. Since this is only for ABI-compatibility, and our
11847           API/ABI freeze is over in a few days, this whole thing will only
11848           last a few days, so don't bother trying to think up a meaningful
11849           name for the struct.
11850
11851 2005-11-17  Andy Wingo  <wingo@pobox.com>
11852
11853         * gst/gstclock.h (GstClock): Add rate and offset properties,
11854         preserving ABI stability. Add rate/offset accessors. Will file bug
11855         for the freeze break.
11856
11857         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
11858         and offset, trying to keep precision and avoiding
11859         underflow/overflow.
11860         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
11861         functions. Make gst_clock_set_time_adjust obsolete.
11862         (gst_clock_set_time_adjust): Note that this function is obsolete.
11863         Will file bug soon.
11864
11865         * gst/base/gstbasetransform.h: Make the ABI-stability hack
11866         greppable by using GST_PADDING-1+1.
11867
11868 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
11869
11870         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
11871
11872         * gst/gstmessage.c: (gst_message_parse_clock_lost):
11873           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
11874
11875         * gst/gstpadtemplate.h:
11876         * gst/gstpluginfeature.h:
11877           Don't use c++ style comments in headers (#321638).
11878
11879 2005-11-16  Andy Wingo  <wingo@pobox.com>
11880
11881         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
11882         buffer.
11883
11884         * check/net/gstnettimeprovider.c: Check to see that the time
11885         provider actually provides times. Works, yo!
11886
11887 2005-11-16  Wim Taymans  <wim@fluendo.com>
11888
11889         * check/Makefile.am:
11890         Enable more tests.
11891
11892         * check/elements/fakesrc.c: (GST_START_TEST):
11893         Set element to NULL before disposing it.
11894
11895 2005-11-16  Andy Wingo  <wingo@pobox.com>
11896
11897         * gst/net/Makefile.am:
11898         * gst/net/gstnet.h:
11899         * gst/net/gstnettimeprovider.c: 
11900         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
11901         provider, include it from gstnet.h, and add it to the build.
11902
11903         * gst/net/gstnettimepacket.h: 
11904         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
11905         sending and receiving.
11906
11907 2005-11-16  Wim Taymans  <wim@fluendo.com>
11908
11909         * check/Makefile.am:
11910         Enable valgrind check.
11911
11912         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
11913         (gst_fake_src_alloc_buffer):
11914         Fix memleak.
11915
11916 2005-11-16  Wim Taymans  <wim@fluendo.com>
11917
11918         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
11919         Call parent finalize too.
11920
11921 2005-11-16  Wim Taymans  <wim@fluendo.com>
11922
11923         * check/Makefile.am:
11924         Enable valgrind check that should work fine now.
11925
11926         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
11927         * gst/gstqueue.c: (gst_queue_init):
11928         Fix memleaks in pad allocation.
11929
11930 2005-11-16  Andy Wingo  <wingo@pobox.com>
11931
11932         * gst/net/Makefile.am:
11933         * gst/net/gstnet.h: New part of core to hold network elements and
11934         objects. Put in core because it exposes API that applications want
11935         to use. The library is named libgstnet-tempname right now because
11936         of the existing libgstnet in gst-plugins-base. Solution is
11937         probably to rename the one in plugins-base; will file a bug for
11938         the freeze break.
11939
11940         * gst/net/gstnettimeprovider.c: 
11941         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
11942         get_time call over the network.
11943
11944         * configure.ac: 
11945         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
11946
11947         * check/Makefile.am:
11948         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
11949         get additions shortly.
11950
11951 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11952
11953         * gst/gstpad.c: (gst_pad_new_from_static_template):
11954         * gst/gstpad.h:
11955           add gst_pad_new_from_static_template functions
11956         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
11957         (gst_check_setup_sink_pad):
11958         * gst/elements/gsttee.c: (gst_tee_init):
11959           and use them
11960
11961 2005-11-16  Wim Taymans  <wim@fluendo.com>
11962
11963         * gst/gstpad.c: (gst_pad_pause_task):
11964         Removed warning, it's not really an error either.
11965
11966 2005-11-16  Wim Taymans  <wim@fluendo.com>
11967
11968         * gst/base/gstbasetransform.c:
11969         (gst_base_transform_prepare_output_buf),
11970         (gst_base_transform_event):
11971         Check if the caps are NULL, this can happen if the element
11972         is shutting down and the pad caps are set to NULL.
11973
11974 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11975
11976         * gst/elements/gsttee.c: (gst_tee_init):
11977           fix pad template leak in tee
11978
11979 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11980
11981         * gst/glib-compat.c: (g_value_dup_gst_object):
11982         * gst/glib-compat.h:
11983         * gst/gstpad.c: (gst_pad_set_property):
11984           use gst_object_ref when setting the pad template; this will
11985           trigger the pad template leaks on GLib 2.6 and the slaves
11986
11987 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11988
11989         * gst/glib-compat.c: (gst_flags_get_first_value):
11990         * gst/glib-compat.h:
11991         * gst/gstregistryxml.c:
11992           remove functions copied from GLib 2.6
11993
11994 2005-11-16  Michael Smith <msmith@fluendo.com>
11995
11996         * gst/Makefile.am:
11997           Don't link against VALGRIND_LIBS. That was always the wrong thing to
11998           do, but only breaks with newer valgrind versions. We're not a
11999           valgrind tool, we have no link-time dependencies on libcoregrind.
12000
12001 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12002
12003         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
12004           some debug changes
12005         * gst/gstmessage.h:
12006           typo fixes
12007
12008 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12009
12010         * gst/base/gstbasesrc.c: (gst_base_src_init):
12011         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
12012         * gst/gstqueue.c: (gst_queue_init):
12013         * gst/gstregistryxml.c: (load_feature):
12014           Revert all these unrefs, they don't even pass make check !
12015
12016 2005-11-15  Johan Dahlin  <johan@gnome.org>
12017
12018         * gst/base/gstbasesrc.c: (gst_base_src_init):
12019         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
12020         * gst/gstqueue.c: (gst_queue_init): 
12021         Free pad templates, fixes a couple of leaks.
12022
12023 2005-11-15  Daniel Fischer  <dan at f3c dot com>
12024
12025         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
12026
12027         * gst/gstpad.c: (gst_pad_get_property):
12028           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
12029           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
12030           (#321452)
12031
12032 2005-11-15  Wim Taymans  <wim@fluendo.com>
12033
12034         * gst/gstevent.c:
12035         Small doc update.
12036
12037 2005-11-15  Andy Wingo  <wingo@pobox.com>
12038
12039         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
12040
12041         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
12042         using GST_CLOCK_TIME_NONE to disable base time management.
12043         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
12044         time if it was NONE before.
12045         (gst_pipeline_change_state): Only munge the base time if
12046         stream_time != GST_CLOCK_TIME_NONE.
12047
12048         * check/gst/gstpipeline.c (test_base_time): Punt around the
12049         problem of the probe not being called, because that's not the
12050         issue I'm looking at. Add a check that setting stream_time to NONE
12051         disables base time management.
12052         
12053 2005-11-15  Wim Taymans  <wim@fluendo.com>
12054
12055         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
12056         segment_stop == -1 at startup.
12057
12058         * gst/base/gstbasetransform.c: (gst_base_transform_event),
12059         (gst_base_transform_change_state):
12060         Init segment values at start.
12061
12062 2005-11-15  Wim Taymans  <wim@fluendo.com>
12063
12064         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12065         0 segment values are 0 in any format.
12066
12067         * gst/base/gstbasetransform.c: (gst_base_transform_event):
12068         * gst/base/gstbasetransform.h:
12069         Parse newsegment correctly in basetransform
12070
12071         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
12072         Sync to clock using updated segment values.
12073
12074 2005-11-15  Andy Wingo  <wingo@pobox.com>
12075
12076         * check/gst/gstpipeline.c (test_base_time): Add check that the
12077         base time and stream time are reset correctly.
12078
12079 2005-11-15  Wim Taymans  <wim@fluendo.com>
12080
12081         * docs/design/part-TODO.txt:
12082         Some more TODO items.
12083
12084 2005-11-15  Andy Wingo  <wingo@pobox.com>
12085
12086         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
12087         error if the user selected "no clock" as the clocking method.
12088
12089         * check/gst/gstpipeline.c (test_base_time): New test for buffer
12090         timestamps with live capture.
12091
12092         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
12093         is 0 but we are a live source, timestamp the buffers using the
12094         element's clock.
12095
12096 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
12097
12098         * docs/gst/gstreamer-sections.txt:
12099         * gst/gsterror.c:
12100         * gst/gstghostpad.c:
12101         * gst/gstobject.h:
12102         * gst/gstxml.c:
12103           more section docs
12104
12105 2005-11-14  Wim Taymans  <wim@fluendo.com>
12106
12107         * common/gst.supp:
12108           add suppressions from Wim's Debian machine
12109
12110 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12111
12112         * common/gst.supp:
12113           add suppressions from Andy's AMD64 Ubuntu machine
12114
12115 2005-11-14  Andy Wingo  <wingo@pobox.com>
12116
12117         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
12118         STATE_LOCK not necessary. Fixes #311489.
12119
12120         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
12121         #305291.
12122
12123         * gst/gstindex.c (gst_index_add_object): Note in the docs that
12124         this function is not implemented.
12125
12126 2005-11-14  Julien MOUTTE  <julien@moutte.net>
12127
12128         * gst/base/gstbasetransform.c:
12129         (gst_base_transform_prepare_output_buf):
12130         Ref the source pad caps while we need them.
12131         Fixes (#321386)
12132
12133 2005-11-11  Wim Taymans  <wim@fluendo.com>
12134
12135         * docs/gst/gstreamer-sections.txt:
12136         Added some docs for GstCollectData.
12137
12138         * gst/base/gstadapter.c:
12139         Some small code example fix.
12140
12141         * gst/base/gstcollectpads.c:
12142         * gst/base/gstcollectpads.h:
12143         Document some more.
12144
12145 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12146
12147         * configure.ac: back to HEAD
12148
12149 === release 0.9.5 ===
12150
12151 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
12152
12153         * configure.ac:
12154           releasing 0.9.5, "Bike Lunch Day"
12155
12156 2005-11-11  Wim Taymans  <wim@fluendo.com>
12157
12158         * gst/gstbuffer.c: (_gst_buffer_copy):
12159         Copy more flags.
12160
12161         * gst/gstcaps.c: (gst_caps_is_equal):
12162         Fix some docs.
12163         Make _is_equal fast in the trivial cases.
12164
12165         * gst/gstminiobject.c:
12166         * gst/gstminiobject.h:
12167         More docs. Spifify .h file.
12168
12169         * gst/gstutils.c:
12170         Small doc update.
12171
12172 2005-11-11  Wim Taymans  <wim@fluendo.com>
12173
12174         * gst/base/gstbasetransform.c:
12175         (gst_base_transform_prepare_output_buf),
12176         (gst_base_transform_handle_buffer):
12177         Small cleanups.
12178         If we're processing a buffer and need to allocate an output
12179         buffer, we cannot accept a format change. If we did get a 
12180         format change, we have to alloc a buffer ourselves of the 
12181         right size.
12182
12183 2005-11-11  Wim Taymans  <wim@fluendo.com>
12184
12185         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
12186         While checking the flag for reentrancy in the gstcaps function
12187         is nice to detect recursive invocations, it also makes it 
12188         impossible to call getcaps from multiple threads, which must be
12189         possible. So, checking for recursive calls has to go.
12190
12191 2005-11-11  Michael Smith <msmith@fluendo.com>
12192
12193         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
12194           Don't sync on buffers that fall partially outside our current
12195           segment. Prevents an assertion failure/abort playing some files.
12196
12197 2005-11-10  Andy Wingo  <wingo@pobox.com>
12198
12199         * check/gst/gstbin.c (test_message_state_changed_children): Style
12200         fix..
12201
12202         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
12203         gst_bus_poll with the signal watch. Ensures that poll and a signal
12204         watch see the same messages.
12205
12206         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
12207         a poll and a watch at the same time get the same messages.
12208
12209 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12210
12211         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
12212         * gst/gstcaps.c: (gst_caps_intersect):
12213           Don't call gst_caps_do_simplify - it doesn't respect order of caps
12214           and it's not needed.
12215
12216 2005-11-10  Wim Taymans  <wim@fluendo.com>
12217
12218         * docs/design/part-TODO.txt:
12219         Updated todo.
12220
12221 2005-11-10  Wim Taymans  <wim@fluendo.com>
12222
12223         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
12224         * gst/base/gstbasesrc.c: (gst_base_src_wait),
12225         (gst_base_src_do_sync), (gst_base_src_get_range):
12226         Implement clock sync in base class.
12227
12228 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12229
12230         patch by: Tim-Philipp Müller <tim at centricular dot net>
12231
12232         * gst/gststructure.c: (gst_structure_parse_field),
12233         (gst_structure_from_string):
12234           Forward-port a 0.8 patch to handle escaped spaces in structure string,
12235           so that gst_parse_launch() can deal with spaces in filtered link
12236           caps (fixes #164479)
12237         * check/gst/capslist.h:
12238         * check/gst/gststructure.c: (GST_START_TEST):
12239           add unit tests for this change
12240
12241 2005-11-10  Wim Taymans  <wim@fluendo.com>
12242
12243         * docs/gst/gstreamer-sections.txt:
12244         * gst/gstelement.c:
12245         * gst/gstelement.h:
12246         Fix docs, move some STATE macros to private.
12247
12248 2005-11-10  Wim Taymans  <wim@fluendo.com>
12249
12250         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
12251         Added check for bug #317341
12252
12253         * gst/gstbuffer.c:
12254         * gst/gstbuffer.h:
12255         Some more spiffifying.
12256
12257         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
12258         Call peer linkfunction if we are a source pad. Totally fixes
12259         #317341
12260
12261         * gst/gstpad.c:
12262         Update docs, source pads should call the peer linkfunction
12263         so they can atomically perform the pad link.
12264
12265 2005-11-09  Wim Taymans  <wim@fluendo.com>
12266
12267         * gst/gstbuffer.c:
12268         * gst/gstbuffer.h:
12269         Uber-spiffy-spiffify some more.
12270
12271 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
12272
12273         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
12274         * gst/elements/gstfilesink.c: (gst_file_sink_init):
12275         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
12276         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
12277         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
12278         * gst/gstpad.c: (gst_pad_init):
12279           Use GST_DEBUG_FUNCPTR() more extensively.
12280
12281 2005-11-09  Wim Taymans  <wim@fluendo.com>
12282
12283         * gst/gstobject.c: (gst_object_class_init):
12284         * gst/gstobject.h:
12285         Documentation fixes.
12286
12287 2005-11-09  Edward Hervey  <edward@fluendo.com>
12288
12289         * gst/gsttypefindfactory.c:
12290         Fix docs.
12291         
12292 2005-11-09  Edward Hervey  <edward@fluendo.com>
12293
12294         * gst/base/gsttypefindhelper.c:
12295         * gst/gsttypefind.c:
12296         * gst/gsttypefind.h:
12297         Fix docs.
12298
12299 2005-11-09  Wim Taymans  <wim@fluendo.com>
12300
12301         * gst/gstiterator.c:
12302         Fix revision data.
12303
12304         * gst/gsttask.c:
12305         * gst/gsttask.h:
12306         Fix docs.
12307
12308 2005-11-09  Wim Taymans  <wim@fluendo.com>
12309
12310         * gst/gstevent.h:
12311         * gst/gsturi.h:
12312         Fix docs.
12313
12314 2005-11-09  Wim Taymans  <wim@fluendo.com>
12315
12316         * docs/gst/gstreamer-sections.txt:
12317         Moved the message async delivery private lock and cond
12318         to the private section.
12319
12320         * gst/gstmessage.c:
12321         * gst/gstmessage.h:
12322         Fixed docs.
12323
12324 2005-11-09  Edward Hervey  <edward@fluendo.com>
12325
12326         * docs/gst/gstreamer-sections.txt:
12327         * gst/gsturi.c:
12328         * gst/gsturi.h:
12329         Document GstURIHandler
12330
12331 2005-11-09  Wim Taymans  <wim@fluendo.com>
12332
12333         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
12334         (gst_iterator_find_custom):
12335         * gst/gstiterator.h:
12336         Fix iterator docs.
12337
12338 2005-11-09  Wim Taymans  <wim@fluendo.com>
12339
12340         * gst/gstbin.h:
12341         Document another field.
12342
12343         * gst/gststructure.c:
12344         * gst/gststructure.h:
12345         Document.
12346
12347 2005-11-09  Wim Taymans  <wim@fluendo.com>
12348
12349         * gst/gstbin.h:
12350         Documented structs.
12351
12352 2005-11-09  Wim Taymans  <wim@fluendo.com>
12353
12354         * docs/gst/gstreamer-sections.txt:
12355         Added some new macros.
12356
12357         * gst/gstclock.c:
12358         * gst/gstclock.h:
12359         * gst/gstobject.h:
12360         Docs updates.
12361
12362 2005-11-09  Wim Taymans  <wim@fluendo.com>
12363
12364         * docs/design/part-TODO.txt:
12365         Some more items for the TODO
12366
12367         * gst/gstcaps.c:
12368         * gst/gstcaps.h:
12369         Document GstCaps.
12370
12371 2005-11-09  Andy Wingo  <wingo@pobox.com>
12372
12373         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
12374         to work on something else now tho...
12375
12376         * gst/base/gstadapter.c: More adapter docs.
12377
12378         * gst/elements/gstfilesink.c (gst_file_sink_start) 
12379         (gst_file_sink_stop): New functions, replace the state change
12380         handler.
12381         (gst_file_sink_class_init): Hook up the start and stop functions.
12382         (gst_file_sink_base_init): Don't set the state change handler any
12383         more. It was a bit ugly too, being set from here...
12384         (gst_file_sink_get_property, gst_file_sink_set_property):
12385         Cleanups...
12386         (gst_file_sink_set_location): More robust check that doesn't call
12387         GST_STATE. Ugggggg.
12388
12389 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
12390
12391         * gst/base/gstbasetransform.c: (gst_base_transform_event):
12392           Hold STREAM_LOCK while pushing newsegment or tag events as well.
12393
12394 2005-11-08  Wim Taymans  <wim@fluendo.com>
12395
12396         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
12397         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
12398         (gst_base_sink_chain), (gst_base_sink_change_state):
12399         * gst/base/gstbasesink.h:
12400         * gst/base/gstbasesrc.h:
12401         * gst/gstelement.h:
12402         * gst/gstevent.h:
12403         Avoid excessive typechecking in macros.
12404
12405         * gst/gstminiobject.c: (gst_mini_object_get_type),
12406         (gst_mini_object_init), (gst_mini_object_new),
12407         (gst_mini_object_free):
12408         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
12409         (gst_object_finalize):
12410         Remove cruft code, optimize alloc_trace.
12411
12412 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
12413
12414         * docs/faq/gst-uninstalled:
12415           fix up PS1 for systems that try to reset it
12416
12417 2005-11-07  Wim Taymans  <wim@fluendo.com>
12418
12419         * gst/base/gstbasesrc.c: (gst_base_src_init),
12420         (gst_base_src_get_range):
12421         Set the segment_end to -1 initially. Fixed typefind.
12422
12423 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
12424
12425         * gst/base/gstadapter.c:
12426           Debug category should be 'adapter', not 'GstAdapter'.
12427           
12428         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
12429         (gst_collectpads_class_init), (gst_collectpads_init),
12430         (gst_collectpads_peek), (gst_collectpads_pop),
12431         (gst_collectpads_event), (gst_collectpads_chain):
12432           Add debug category and some debugging output. Use boilerplate
12433           macros. Remove some extraneous words from docs.
12434
12435 2005-11-05  Andy Wingo  <wingo@pobox.com>
12436
12437         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
12438         macro.
12439
12440 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
12441
12442         * docs/gst/gstreamer-sections.txt:
12443         * gst/gstcaps.h:
12444         * gst/gstinfo.c:
12445         * gst/gstminiobject.h:
12446         * gst/gstobject.h:
12447         * gst/gstutils.h:
12448           more docs added
12449
12450 2005-11-04  Wim Taymans  <wim@fluendo.com>
12451
12452         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
12453         Small update to stop at the configured segment_end
12454         position.
12455
12456 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
12457
12458         * gst/gstregistry.c:
12459         * gst/gstregistry.h:
12460           added missing docs
12461
12462 2005-11-04  Edward Hervey  <edward@fluendo.com>
12463
12464         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
12465         Check if we are doing a segment seek and have arrived at the
12466         end of that segment.
12467
12468 2005-11-04  Wim Taymans  <wim@fluendo.com>
12469
12470         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
12471         Don't leak a mutex unlock in case of an error.
12472
12473         * gst/gstbus.h:
12474         Doc fixes.
12475
12476 2005-11-04  Wim Taymans  <wim@fluendo.com>
12477
12478         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
12479         (gst_bus_post):
12480         Get the context to wake up only once.
12481
12482 2005-11-03  Wim Taymans  <wim@fluendo.com>
12483
12484         * check/states/sinks.c: (GST_START_TEST):
12485         Uncomment fixed check.
12486
12487         * docs/design/part-TODO.txt:
12488         Updated TODO.
12489
12490         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12491         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
12492         (gst_base_sink_get_position):
12493         If we are going to PLAYING, post the right pending state
12494         when we post the intermediate paused message.
12495
12496         * gst/gstelement.c: (gst_element_continue_state),
12497         (gst_element_set_state_func), (gst_element_change_state):
12498         Don't post state changes that were between the same state
12499         and were not ASYNC.
12500
12501 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
12502
12503         * docs/gst/gstreamer-sections.txt:
12504         * gst/gstcaps.h:
12505         * gst/gstinfo.c:
12506         * gst/gstminiobject.h:
12507         * gst/gstobject.h:
12508         * gst/gstutils.h:
12509           more docs and doc style fixes
12510
12511 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
12512
12513         * docs/gst/gstreamer-sections.txt:
12514         * gst/gstelement.c:
12515         * gst/gstminiobject.c:
12516         doc fixes
12517
12518 2005-11-03  Andy Wingo  <wingo@pobox.com>
12519
12520         * check/states/sinks.c (test_livesrc_sink): Add checks that the
12521         state-changed messages actually have the right order and the right
12522         values.
12523
12524 2005-11-03  Wim Taymans  <wim@fluendo.com>
12525
12526         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
12527         Added some more checks. Specifically the case where NO_PREROLL
12528         elements are in the pipeline.
12529
12530         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12531         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
12532         (gst_base_sink_get_position):
12533         Post READY->PAUSED state change messages too.
12534         Fix bug where VOID was posted as pending state...
12535
12536         * gst/gstbin.c: (gst_bin_recalc_state):
12537         use _element_continue_state() to continue the state change.
12538
12539         * gst/gstelement.c: (gst_element_continue_state),
12540         (gst_element_commit_state), (gst_element_set_state_func),
12541         (gst_element_change_state), (gst_element_change_state_func):
12542         Lots of state change cleanups, assign the STATE_RETURN in
12543         a new continue_state() function that also propagates the
12544         last return value from a state change to the app.
12545         Update some debug statements with proper category.
12546
12547 2005-11-03  Wim Taymans  <wim@fluendo.com>
12548
12549         * docs/design/part-events.txt:
12550         * docs/design/part-gstpipeline.txt:
12551         * docs/design/part-messages.txt:
12552         * docs/design/part-overview.txt:
12553         * docs/design/part-seeking.txt:
12554         * docs/design/part-states.txt:
12555         * docs/design/part-trickmodes.txt:
12556         * docs/manual/advanced-position.xml:
12557         Small docs updates.
12558
12559         * gst/gstobject.h:
12560         People think !! is ugly, this looks better.
12561
12562         * gst/gstpad.c: (gst_pad_set_blocked_async):
12563         Remove !! since it's fixed elsewhere now.
12564
12565 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
12566
12567         * gst/gstminiobject.h:
12568         * gst/gstobject.h:
12569           Add !! to _FLAG_IS_SET macros to make the result boolean.
12570
12571 2005-11-03  Edward Hervey  <edward@fluendo.com>
12572
12573         * gst/gstpad.c: (gst_pad_set_blocked_async):
12574         comparing a flag and a gboolean rarely returns coherent results...
12575         Added two characters (!!) to make that work correctly.
12576         
12577 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
12578
12579         * gst/gstbus.c: (gst_bus_class_init):
12580           Fix some typos.
12581           
12582         * gst/gstqueue.c: (gst_queue_loop):
12583           Don't assume a miniobject that isn't a buffer is an
12584           event (it could be that there is a refcounting
12585           problem somewhere and the pointer is stale and
12586           refers to an already destroyed miniobject).
12587
12588 2005-11-03  Julien MOUTTE  <julien@moutte.net>
12589
12590         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
12591
12592 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
12593
12594         * docs/manual/advanced-position.xml:
12595           Update seek example and explanations to current 0.9 API.
12596
12597         * gst/elements/gsttypefindelement.c:
12598         (gst_type_find_element_activate):
12599           Remove FIXME comment now that the found caps
12600           are unreffed.
12601
12602 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12603
12604         * gst/gstregistryxml.c: (load_feature):
12605           Add another GST_STR_NULL instance
12606
12607 2005-11-02  Edward Hervey  <edward@fluendo.com>
12608
12609         * gst/gstpad.c: (handle_pad_block):
12610         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
12611         
12612 2005-11-02  Wim Taymans  <wim@fluendo.com>
12613
12614         * gst/gstbin.c:
12615         Fix typo in docs.
12616
12617         * gst/gstelement.c: (gst_element_commit_state):
12618         Remove unused value.
12619
12620         * gst/gstiterator.c:
12621         Mention that the returned element is reffed in the docs.
12622
12623 2005-11-02  Wim Taymans  <wim@fluendo.com>
12624
12625         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
12626         (gst_pad_push), (gst_pad_push_event):
12627         Unlock blocked pads when they are flushed.
12628
12629 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12630
12631         * docs/README:
12632         * docs/gst/gstreamer-sections.txt:
12633         * gst/gstbin.c:
12634           doc updates
12635         * gst/gstregistry.c: (gst_registry_scan_path_level):
12636           fix for a nasty little missed situation where an installed plug-in
12637           which was in the cache did not get overridden by an uninstalled one
12638           which was earlier in the plugin path because the newly created plugin
12639           for the uninstalled one (not in the registry) didn't get its
12640           ->registered set to TRUE
12641
12642 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
12643
12644         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
12645         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
12646         (gst_collectpads_is_active), (gst_collectpads_collect),
12647         (gst_collectpads_collect_range), (gst_collectpads_start),
12648         (gst_collectpads_stop), (gst_collectpads_peek),
12649         (gst_collectpads_pop), (gst_collectpads_available),
12650         (gst_collectpads_read), (gst_collectpads_flush):
12651           Guard public API with assertions.
12652         
12653         * gst/gstpad.c:
12654           Fix docs for gst_pad_set_link_function().
12655
12656 2005-11-02  Johan Dahlin  <johan@gnome.org>
12657
12658         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
12659         Unref found_caps after we used it.
12660
12661 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
12662
12663         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
12664           Don't try to ref NULL.
12665
12666 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12667
12668         * win32/common/config.h.in:
12669           provide a GST_FUNCTION that just gives a string for now
12670
12671 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12672
12673         * win32/common/gstenumtypes.c: (register_gst_object_flags),
12674         (gst_object_flags_get_type), (register_gst_bin_flags),
12675         (gst_bin_flags_get_type), (register_gst_buffer_flag),
12676         (gst_buffer_flag_get_type), (register_gst_bus_flags),
12677         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
12678         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
12679         (gst_clock_return_get_type), (register_gst_clock_entry_type),
12680         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
12681         (gst_clock_flags_get_type), (register_gst_state),
12682         (gst_state_get_type), (register_gst_state_change_return),
12683         (gst_state_change_return_get_type), (register_gst_state_change),
12684         (gst_state_change_get_type), (register_gst_element_flags),
12685         (gst_element_flags_get_type), (register_gst_core_error),
12686         (gst_core_error_get_type), (register_gst_library_error),
12687         (gst_library_error_get_type), (register_gst_resource_error),
12688         (gst_resource_error_get_type), (register_gst_stream_error),
12689         (gst_stream_error_get_type), (register_gst_event_type),
12690         (gst_event_type_get_type), (register_gst_seek_type),
12691         (gst_seek_type_get_type), (register_gst_seek_flags),
12692         (gst_seek_flags_get_type), (register_gst_format),
12693         (gst_format_get_type), (register_gst_index_certainty),
12694         (gst_index_certainty_get_type), (register_gst_index_entry_type),
12695         (gst_index_entry_type_get_type),
12696         (register_gst_index_lookup_method),
12697         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
12698         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
12699         (gst_index_resolver_method_get_type), (register_gst_index_flags),
12700         (gst_index_flags_get_type), (register_gst_debug_level),
12701         (gst_debug_level_get_type), (register_gst_debug_color_flags),
12702         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
12703         (gst_iterator_result_get_type), (register_gst_iterator_item),
12704         (gst_iterator_item_get_type), (register_gst_message_type),
12705         (gst_message_type_get_type), (register_gst_mini_object_flags),
12706         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
12707         (gst_pad_link_return_get_type), (register_gst_flow_return),
12708         (gst_flow_return_get_type), (register_gst_activate_mode),
12709         (gst_activate_mode_get_type), (register_gst_pad_direction),
12710         (gst_pad_direction_get_type), (register_gst_pad_flags),
12711         (gst_pad_flags_get_type), (register_gst_pad_presence),
12712         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
12713         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
12714         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
12715         (gst_plugin_error_get_type), (register_gst_plugin_flags),
12716         (gst_plugin_flags_get_type), (register_gst_rank),
12717         (gst_rank_get_type), (register_gst_query_type),
12718         (gst_query_type_get_type), (register_gst_tag_merge_mode),
12719         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
12720         (gst_tag_flag_get_type), (register_gst_task_state),
12721         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
12722         (gst_alloc_trace_flags_get_type),
12723         (register_gst_type_find_probability),
12724         (gst_type_find_probability_get_type), (register_gst_uri_type),
12725         (gst_uri_type_get_type), (register_gst_parse_error),
12726         (gst_parse_error_get_type):
12727         * win32/common/gstversion.h:
12728           update win32 copies
12729
12730 2005-11-01  Luca Ognibene  <luogni@tin.it>
12731
12732         * gst/gst.c:
12733           fix docs. popt is dead, long live GOption.
12734
12735 2005-10-31  Wim Taymans  <wim@fluendo.com>
12736
12737         * gst/gstbuffer.h:
12738         Small doc fix.
12739
12740 2005-10-31  Andy Wingo  <wingo@pobox.com>
12741
12742         * Boo!
12743
12744         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
12745
12746         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
12747         need to serialize property notifications on GLib 2.8. GLib 2.6 has
12748         the possibility of deadlocks here if code calling notify() or
12749         set() has a lock that can be taken in another notify handler (ABBA
12750         with class lock and e.g. python GIL state lock).
12751
12752 2005-10-28  Julien MOUTTE  <julien@moutte.net>
12753
12754         * gst/gstbus.c: Doc updates.
12755
12756 2005-10-28  Wim Taymans  <wim@fluendo.com>
12757
12758         * docs/design/part-TODO.txt:
12759         * gst/gstiterator.c:
12760         * gst/gstsystemclock.c:
12761         * gst/gstsystemclock.h:
12762         Doc updates.
12763
12764 2005-10-28  Edward Hervey  <edward@fluendo.com>
12765
12766         * docs/gst/gstreamer-docs.sgml:
12767         * docs/gst/gstreamer-sections.txt:
12768         the GstURIType documentation page is private, it only defines GstURIType
12769         which should be defined in the GstURIHandler page
12770         
12771 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12772
12773         * gst/gstbin.c: (gst_bin_class_init):
12774         * gst/gstbin.h:
12775         * gst/gstutils.c:
12776         Documentation updates.
12777
12778 2005-10-28  Wim Taymans  <wim@fluendo.com>
12779
12780         * docs/gst/gstreamer-sections.txt:
12781         * gst/gstclock.c:
12782         * gst/gstclock.h:
12783         Documented the clocks.
12784
12785 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
12786
12787         * docs/gst/gstreamer-sections.txt:
12788           move some macros to private sections
12789         * gst/gstminiobject.c:
12790         * gst/gstminiobject.h:
12791           add descriptions provided by ds and some more
12792         * gst/gstpad.h:
12793           mark macro as to be removed
12794
12795 2005-10-28  Wim Taymans  <wim@fluendo.com>
12796
12797         * docs/design/part-TODO.txt:
12798         Add an item to TODO.
12799
12800         * gst/gstiterator.c: (gst_iterator_fold),
12801         (gst_iterator_find_custom):
12802         * gst/gstiterator.h:
12803         Add iterator docs.
12804
12805 2005-10-28  Wim Taymans  <wim@fluendo.com>
12806
12807         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
12808         (gst_base_transform_init):
12809         Don't leak class.
12810
12811         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
12812         An EOS event marks the queue as completely filled.
12813
12814 2005-10-27  Wim Taymans  <wim@fluendo.com>
12815
12816         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12817         (gst_base_sink_do_sync), (gst_base_sink_get_position):
12818         Some more debugging.
12819
12820         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
12821         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
12822         (gst_base_transform_event), (gst_base_transform_getrange),
12823         (gst_base_transform_chain):
12824         * gst/base/gstbasetransform.h:
12825         Fix debugging,
12826         Protect transform and concurrent buffer alloc with a new lock.
12827         Try not to break ABI/API.
12828
12829 2005-10-27  Wim Taymans  <wim@fluendo.com>
12830
12831         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
12832         (gst_base_src_init), (gst_base_src_query),
12833         (gst_base_src_default_newsegment),
12834         (gst_base_src_configure_segment), (gst_base_src_do_seek),
12835         (gst_base_src_send_event), (gst_base_src_event_handler),
12836         (gst_base_src_pad_get_range), (gst_base_src_loop),
12837         (gst_base_src_unlock), (gst_base_src_default_negotiate),
12838         (gst_base_src_start), (gst_base_src_deactivate),
12839         (gst_base_src_activate_push), (gst_base_src_change_state):
12840         Move some stuff around and cleanup things.
12841
12842 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
12843
12844         * gst/base/gstbasesrc.c: (gst_base_src_query):
12845           Add missing break statements.
12846
12847 2005-10-27  Wim Taymans  <wim@fluendo.com>
12848
12849         * check/gst/gstbin.c: (GST_START_TEST):
12850         An extra refcount is taken in basesrc.
12851
12852         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
12853         (gst_base_src_get_range), (gst_base_src_pad_get_range),
12854         (gst_base_src_loop):
12855         Small cleanups, check for flushing after being unlocked from the 
12856         LIVE_LOCK. take refcounts correctly (not yet everywhere).
12857         Don't send out EOS when going to READY.
12858
12859 2005-10-27  Wim Taymans  <wim@fluendo.com>
12860
12861         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12862         (gst_base_sink_get_position):
12863         Some more debug.
12864
12865         * gst/gstbin.c: (message_check), (bin_replace_message),
12866         (bin_remove_messages), (is_eos), (gst_bin_add_func),
12867         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
12868         (bin_query_duration_init), (bin_query_duration_fold),
12869         (bin_query_duration_done), (bin_query_generic_fold),
12870         (gst_bin_query):
12871         * tools/gst-launch.c: (main):
12872         Remove old option.
12873
12874 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
12875
12876         * examples/controller/audio-example.c: (main):
12877         * examples/queue/queue.c: (event_loop):
12878         * gst/base/gstbasetransform.h:
12879         * gst/gstelement.c: (gst_element_send_event):
12880         * gst/gstevent.h:
12881         * gst/gstpad.c: (gst_pad_send_event):
12882           fixing examples
12883           fixing docs typos
12884           changing log priority in error situations
12885
12886 2005-10-25  Wim Taymans  <wim@fluendo.com>
12887
12888         * gst/gstbin.c: (message_check), (bin_replace_message),
12889         (bin_remove_messages), (is_eos), (gst_bin_add_func),
12890         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
12891         (bin_query_duration_init), (bin_query_duration_fold),
12892         (bin_query_duration_done), (bin_query_generic_fold),
12893         (gst_bin_query):
12894         Some doc and debug updates.
12895         Cache previously requested query DURATION for speed. invalidate
12896         cached duration if element posts a DURATION message.
12897
12898 2005-10-25  Wim Taymans  <wim@fluendo.com>
12899
12900         * docs/design/part-TODO.txt:
12901         Update TODO.
12902
12903         * gst/gstbin.c: (message_check), (bin_replace_message),
12904         (bin_remove_messages), (is_eos), (gst_bin_add_func),
12905         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
12906         (bin_query_duration_init), (bin_query_duration_fold),
12907         (bin_query_duration_done), (bin_query_generic_fold),
12908         (gst_bin_query):
12909         Handle SEGMENT_START/DONE messages correctly.
12910         More evolved query algorithm that handles duration queries
12911         correctly.
12912
12913         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
12914         (gst_element_get_state_func), (gst_element_abort_state),
12915         (gst_element_commit_state), (gst_element_lost_state):
12916         Some more debugging.
12917
12918         * gst/gstmessage.h:
12919         Added doc.
12920
12921 2005-10-25  Wim Taymans  <wim@fluendo.com>
12922
12923         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
12924         Don't use invalid stream_time.
12925
12926         * gst/gstevent.c: (gst_event_new_newsegment):
12927         stream_time in newsegment cannot be undefined.
12928
12929 2005-10-24  Wim Taymans  <wim@fluendo.com>
12930
12931         * gst/gstbus.c:
12932         Doc fix.
12933
12934         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
12935         (gst_queue_loop):
12936         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
12937
12938 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
12939
12940         * docs/libs/tmpl/gstdparam.sgml:
12941         * docs/libs/tmpl/gstdplinint.sgml:
12942         * docs/libs/tmpl/gstdpman.sgml:
12943         * docs/libs/tmpl/gstdpsmooth.sgml:
12944         * docs/libs/tmpl/gstunitconvert.sgml:
12945           these are obsolete
12946
12947 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12948
12949         * configure.ac:
12950           back to HEAD
12951
12952 === release 0.9.4 ===
12953
12954 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12955
12956         * configure.ac:
12957           releasing 0.9.4, "Tyrannosaurus Rex"
12958
12959 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
12960
12961         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
12962         (gst_file_sink_get_current_offset):
12963           Use fseeko() and ftello() if available. When falling back on
12964           lseek() to get the current offset, fflush() first to make sure
12965           everything is up-to-date and we get the right offset.
12966
12967 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12968
12969         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12970         * gst/base/gstbasesrc.c: (gst_base_src_loop):
12971         * gst/gsterror.c: (_gst_stream_errors_init):
12972         * gst/gsterror.h:
12973         * gst/gstqueue.c: (gst_queue_loop):
12974         * po/POTFILES.in:
12975           remove prematurely added error category and clean up the instances
12976
12977 2005-10-21  Wim Taymans  <wim@fluendo.com>
12978
12979         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12980         (gst_base_sink_get_position), (gst_base_sink_query),
12981         (gst_base_sink_change_state):
12982         Simply set the right flag when going to playing, that's all
12983         we need to do instead of calling a function inside the object
12984         lock (that could take the lock as well and deadlock)
12985
12986 2005-10-21  Wim Taymans  <wim@fluendo.com>
12987
12988         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
12989         (gst_base_src_loop):
12990         Don't warn, the peer element knows what to do best when
12991         the seek failed, it might try something else.
12992
12993 2005-10-21  Wim Taymans  <wim@fluendo.com>
12994
12995         * gst/base/gstbasesrc.c: (gst_base_src_init),
12996         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
12997         Fix seeking.
12998
12999 2005-10-21  Wim Taymans  <wim@fluendo.com>
13000
13001         * docs/design/part-segments.txt:
13002         More docs.
13003
13004         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
13005         Correctly set caps, even on the subbufer.
13006
13007 2005-10-21  Wim Taymans  <wim@fluendo.com>
13008
13009         * docs/gst/gstreamer-docs.sgml:
13010         * docs/gst/gstreamer-sections.txt:
13011         * gst/gstelement.h:
13012         * gst/gstevent.c:
13013         * gst/gstevent.h:
13014         * gst/gstmessage.h:
13015         * gst/gstpad.h:
13016         * gst/gstparse.h:
13017         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
13018         * gst/gsttask.h:
13019         * gst/gstutils.c:
13020         * gst/gstutils.h:
13021         And 2% more doc coverage.
13022
13023 2005-10-21  Andy Wingo  <wingo@pobox.com>
13024
13025         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
13026         position reporting.
13027
13028 2005-10-20  Wim Taymans  <wim@fluendo.com>
13029
13030         * gst/gsterror.c: (gst_error_get_message):
13031         * gst/gstparse.h:
13032         * gst/gstquery.h:
13033         * gst/gststructure.c:
13034         * gst/gsttrace.c:
13035         * gst/gstutils.c:
13036         More docs.
13037
13038 2005-10-20  Wim Taymans  <wim@fluendo.com>
13039
13040         * gst/gstbuffer.h:
13041         * gst/gstpad.c:
13042         * gst/gstparse.c:
13043         Another 1% more coverage.
13044
13045 2005-10-20  Wim Taymans  <wim@fluendo.com>
13046
13047         * docs/gst/gstreamer-sections.txt:
13048         * gst/gstelement.c: (gst_element_get_state_func),
13049         (gst_element_abort_state), (gst_element_commit_state),
13050         (gst_element_lost_state):
13051         * gst/gstevent.h:
13052         * gst/gstquery.c: (gst_query_set_position),
13053         (gst_query_parse_position), (gst_query_set_duration),
13054         (gst_query_parse_duration), (gst_query_new_convert):
13055         * gst/gstutils.c:
13056         Yay! 1% more docs coverage.
13057
13058 2005-10-20  Wim Taymans  <wim@fluendo.com>
13059
13060         * gst/gstpad.h:
13061         * gst/gstquery.c: (gst_query_set_position),
13062         (gst_query_parse_position), (gst_query_set_duration),
13063         (gst_query_parse_duration), (gst_query_new_convert):
13064         * gst/gstquery.h:
13065         * gst/gstutils.c: (gst_element_query_convert):
13066         * gst/gstutils.h:
13067         Docs and consistency fixes.
13068
13069 2005-10-20  Wim Taymans  <wim@fluendo.com>
13070
13071         * gst/gsttask.c:
13072         * gst/gsttask.h:
13073         More docs.
13074
13075 2005-10-20  Wim Taymans  <wim@fluendo.com>
13076
13077         * gst/gstbin.c: (message_check), (bin_replace_message),
13078         (bin_remove_messages), (is_eos), (gst_bin_add_func),
13079         (update_degree), (gst_bin_sort_iterator_next),
13080         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
13081         Reworked the message handling a bit, cache the messages instead of
13082         only the senders. alows us to do more in the future.
13083
13084 2005-10-20  Wim Taymans  <wim@fluendo.com>
13085
13086         * docs/design/part-TODO.txt:
13087         Update TODO
13088
13089         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
13090         (gst_base_sink_query):
13091         Don't use clock time to report position when in EOS.
13092
13093 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
13094
13095         * tools/gst-inspect.c: (print_interfaces),
13096         (print_element_properties_info), (print_element_info):
13097           Fix interface output with gst-inspect -a; don't print
13098           newlines after double/float properties.
13099
13100 2005-10-20  Wim Taymans  <wim@fluendo.com>
13101
13102         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
13103         (gst_base_sink_query):
13104         Speed up current position calculation.
13105
13106         * gst/base/gstbasesrc.c: (gst_base_src_query),
13107         (gst_base_src_default_newsegment):
13108         Correctly set stream position in newsegment.
13109
13110         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
13111         (update_degree), (gst_bin_sort_iterator_next),
13112         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
13113         * gst/gstmessage.c: (gst_message_new_custom):
13114         Clean up debugging info
13115
13116         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
13117         (gst_queue_loop), (gst_queue_handle_src_query):
13118         Pause task faster.
13119
13120 2005-10-19  Wim Taymans  <wim@fluendo.com>
13121
13122         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13123         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
13124         Fix query handling again.
13125
13126 2005-10-19  Wim Taymans  <wim@fluendo.com>
13127
13128         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13129         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
13130         * gst/base/gstbasesrc.c: (gst_base_src_query):
13131         * gst/elements/gstfilesink.c: (gst_file_sink_query):
13132         * gst/elements/gsttypefindelement.c:
13133         (gst_type_find_handle_src_query), (find_element_get_length),
13134         (gst_type_find_element_activate):
13135         API change fix.
13136
13137         * gst/gstquery.c: (gst_query_new_position),
13138         (gst_query_set_position), (gst_query_parse_position),
13139         (gst_query_new_duration), (gst_query_set_duration),
13140         (gst_query_parse_duration), (gst_query_set_segment),
13141         (gst_query_parse_segment):
13142         * gst/gstquery.h:
13143         Bundling query position/duration is not a good idea since duration
13144         does not change much and we don't want to recalculate it for every
13145         position query, so they are separated again..
13146         Base value in segment query is not needed.
13147
13148         * gst/gstqueue.c: (gst_queue_handle_src_query):
13149         * gst/gstutils.c: (gst_element_query_position),
13150         (gst_element_query_duration), (gst_pad_query_position),
13151         (gst_pad_query_duration):
13152         * gst/gstutils.h:
13153         Updates for query API change.
13154         Added some docs here and there.
13155
13156 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13157
13158         * check/gst/gstbin.c: (GST_START_TEST):
13159         * check/gst/gstghostpad.c: (GST_START_TEST):
13160         * check/pipelines/cleanup.c: (GST_START_TEST):
13161           wait on thread to die so we can check refcount correctly
13162
13163 2005-10-18  Wim Taymans  <wim@fluendo.com>
13164
13165         * check/pipelines/stress.c: (GST_START_TEST):
13166         Make check a little more time consuming.
13167
13168 2005-10-18  Wim Taymans  <wim@fluendo.com>
13169
13170         * check/Makefile.am:
13171         * check/pipelines/stress.c: (GST_START_TEST),
13172         (simple_launch_lines_suite), (main):
13173         Small state change torture test.
13174
13175         * docs/design/part-states.txt:
13176         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13177         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
13178         (gst_base_sink_change_state):
13179         Never take state lock from streaming thread, clean up ugly
13180         hacks. Unfortunatly core does not yet support nice ways to
13181         async commit state.
13182         
13183         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
13184         (bin_bus_handler):
13185         Start state recalc if a STATE_DIRTY message is posted, but only
13186         on the toplevel bin.
13187
13188         * gst/gstelement.c: (gst_element_sync_state_with_parent),
13189         (gst_element_get_state_func), (gst_element_abort_state),
13190         (gst_element_commit_state), (gst_element_lost_state),
13191         (gst_element_set_state_func), (gst_element_change_state):
13192         * gst/gstelement.h:
13193         State variables are now protected with the LOCK, the state
13194         lock is only used to serialize _set_state().
13195
13196 2005-10-18  Wim Taymans  <wim@fluendo.com>
13197
13198         * check/gst/gstbin.c: (GST_START_TEST):
13199         * check/gst/gstmessage.c: (GST_START_TEST):
13200         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
13201         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
13202         (bin_bus_handler):
13203         * gst/gstelement.c: (gst_element_abort_state),
13204         (gst_element_commit_state), (gst_element_lost_state):
13205         * gst/gstmessage.c: (gst_message_new_state_changed),
13206         (gst_message_new_state_dirty), (gst_message_new_segment_start),
13207         (gst_message_new_segment_done), (gst_message_new_duration),
13208         (gst_message_parse_state_changed),
13209         (gst_message_parse_segment_start),
13210         (gst_message_parse_segment_done), (gst_message_parse_duration):
13211         * gst/gstmessage.h:
13212         * tools/gst-launch.c: (event_loop):
13213         Seriously, this is better than a previous commit as we only need
13214         to notify the fact that an element changed state in a streaming
13215         thread, marking the state of the parents dirty, hence the 
13216         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
13217         message.
13218
13219 2005-10-18  Wim Taymans  <wim@fluendo.com>
13220
13221         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
13222         (gst_bin_recalc_func):
13223         * gst/gstelement.c: (gst_element_set_clock),
13224         (gst_element_abort_state), (gst_element_lost_state):
13225         Cleanups, prepare for state change fixes.
13226
13227 2005-10-18  Wim Taymans  <wim@fluendo.com>
13228
13229         * gst/gstbin.h:
13230         * gst/gstelement.c: (gst_element_class_init),
13231         (gst_element_set_state), (gst_element_set_state_func):
13232         * gst/gstelement.h:
13233         Pending ABI changes.
13234         GThreadPool in GstBinClass to monitor async state changes.
13235         state_cookie in GstElement to detect concurrent gst/set state.
13236         set_state is now virtual too in case a very complicated element
13237         has to be constructed.
13238
13239 2005-10-18  Wim Taymans  <wim@fluendo.com>
13240
13241         * check/gst/gstbin.c: (GST_START_TEST):
13242         * check/gst/gstmessage.c: (GST_START_TEST):
13243         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
13244         * gst/gstbin.c: (bin_bus_handler):
13245         * gst/gstelement.c: (gst_element_commit_state),
13246         (gst_element_lost_state):
13247         * gst/gstmessage.c: (gst_message_new_state_changed),
13248         (gst_message_new_segment_start), (gst_message_new_segment_done),
13249         (gst_message_new_duration), (gst_message_parse_state_changed),
13250         (gst_message_parse_segment_start),
13251         (gst_message_parse_segment_done), (gst_message_parse_duration):
13252         * gst/gstmessage.h:
13253         * tools/gst-launch.c: (event_loop):
13254         Make messages future proof.
13255         state-change gets a flag if it was a message comming from the
13256         streaming thread.
13257         segment-start/stop can also be specified in other formats.
13258         A message to notify an app that a pipeline changed playback 
13259         duration.
13260         Also fix a GstMessage leak in -launch
13261
13262 2005-10-18  Andy Wingo  <wingo@pobox.com>
13263
13264         * gst/gstelement.c (gst_element_dispose): More helpful message.
13265
13266 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13267
13268         reviewed by: <delete if not using a buddy>
13269
13270         * common/gtk-doc.mak:
13271
13272 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13273
13274         * gst/gstregistry.c: (gst_registry_scan_path_level):
13275           unref a plug-in we get that was already initialized
13276
13277 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
13278
13279         * docs/gst/gstreamer-sections.txt:
13280         * docs/libs/gstreamer-libs-sections.txt:
13281         * gst/gstelement.h:
13282           add new api entries
13283           hide internal macro
13284
13285 2005-10-17  Andy Wingo  <wingo@pobox.com>
13286
13287         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
13288         cleanup.
13289
13290         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
13291
13292         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
13293
13294         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
13295         (gst_element_get_state_func): Better debug message.
13296         (gst_element_commit_state): s/INFO/DEBUG/.
13297         (gst_element_lost_state, gst_element_change_state): 
13298
13299         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
13300         (gst_message_new_custom): s/INFO/LOG/.
13301
13302 2005-10-17  Michael Smith <msmith@fluendo.com>
13303
13304         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
13305           Check if end time is valid using end time, not start time.
13306
13307 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
13308
13309         * check/gst-libs/controller.c: (GST_START_TEST),
13310         (gst_controller_suite):
13311         * libs/gst/controller/gstcontroller.c:
13312         (gst_controlled_property_set_interpolation_mode):
13313         * libs/gst/controller/gstcontroller.h:
13314         * libs/gst/controller/gstinterpolation.c:
13315         * testsuite/controller/.cvsignore:
13316         * testsuite/controller/Makefile.am:
13317         * testsuite/controller/interpolator.c:
13318           merge controller testsuites
13319           fix broken tests
13320           remove mem-chunk from docs
13321
13322 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
13323
13324         * gst/gstmemchunk.c:
13325         * gst/gstmemchunk.h:
13326         * gst/gsttrashstack.c:
13327         * gst/gsttrashstack.h:
13328           out.  get out.  you're fired.  to the Attic !
13329
13330 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
13331
13332         * gst/gstcaps.c: (gst_caps_intersect):
13333           fix signedness issues in a (hopefully) correct way
13334         * gst/gstelement.c: (gst_element_pads_activate):
13335           some debugging
13336         * gst/gstobject.c: (gst_object_set_parent):
13337           some debugging
13338
13339 2005-10-17  Julien MOUTTE  <julien@moutte.net>
13340
13341         * gst/gstvalue.h: Fix prototypes.
13342
13343 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13344
13345         * docs/gst/gstreamer-sections.txt:
13346         * gst/gst.c: (gst_version_string):
13347         * gst/gst.h:
13348         * gst/gstversion.h.in:
13349         * win32/common/libgstreamer.def:
13350           add gst_version_string ()
13351
13352 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13353
13354         * configure.ac:
13355           clean up further
13356         * gst/gst.c: (init_post):
13357         * win32/common/config.h.in:
13358           it's PLUGINDIR now
13359         * gst/gstcaps.c: (gst_caps_intersect):
13360           use gint64, the range could be bigger than a guint
13361
13362 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13363
13364         * gst/gstclock.h:
13365           document potential problem in 2038
13366
13367 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13368
13369         * gst/gstcaps.c: (gst_caps_intersect):
13370           Fix guint j diving under 0
13371
13372 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13373
13374         * configure.ac:
13375         * win32/common/config.h:
13376         * win32/common/config.h.in:
13377           check for process.h, declares getpid() on Windows
13378         * gst/gstinfo.c:
13379           include process.h if we have it
13380         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
13381         * gst/gstmemchunk.h:
13382           fix signedness issues
13383         * win32/common/libgstreamer.def:
13384           fix get_type's
13385
13386 2005-10-16  Julien MOUTTE  <julien@moutte.net>
13387
13388         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
13389         fix. Because of unsigned ints, caps intersection was going nuts and
13390         trying to access structures with G_MAXUINT index. That fixes
13391         videotestsrc ! ffmpegcolorspace ! fakesink
13392         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
13393         consistency.
13394
13395 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13396
13397         * configure.ac:
13398           use the gettext macro
13399         * gst/elements/gstelements.c:
13400         * gst/gst.c:
13401         * gst/indexers/gstindexers.c:
13402           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
13403         * win32/common/config.h:
13404           updated config.h
13405         * win32/common/config.h.in:
13406           add the template to generate config.h
13407         * win32/common/gstenumtypes.c:
13408         * win32/common/gstversion.h:
13409           updated copies
13410
13411 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13412
13413         * gst/gst.c: (gst_version):
13414         * gst/gstversion.h.in:
13415           add the nano
13416
13417 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
13418
13419         * gst/gstevent.h:
13420           Oops, add missing closing bracket.
13421
13422 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13423
13424         * configure.ac:
13425           use common m4's for argument checking
13426
13427 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
13428
13429         * docs/gst/gstreamer-sections.txt:
13430         * gst/gstevent.h:
13431           Add GST_EVENT_TYPE_NAME() macro.
13432
13433 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13434
13435         * gst/gstinfo.c:
13436         * gst/gstpluginfeature.c:
13437         * gst/gsttask.c:
13438           privatize more symbols
13439
13440 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13441
13442         * configure.ac:
13443           add srcdir, builddir includes to GST_ALL_CFLAGS, since
13444           everything that uses GStreamer API should have the includes
13445
13446 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13447
13448         * docs/gst/gstreamer-sections.txt:
13449         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
13450         * gst/gstvalue.h:
13451           give each value a _get_type, removes the DATA exports
13452
13453 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13454
13455         * gst/gst.c:
13456         * gst/gst.h:
13457           remove _gst_registry_auto_load, not used anymore
13458         * gst/gstbin.c: (gst_bin_get_type):
13459         * gst/gstbin.h:
13460         * gst/gstelement.c: (gst_element_get_type):
13461         * gst/gstelement.h:
13462         * gst/gstobject.c: (gst_object_get_type):
13463         * gst/gstobject.h:
13464         * gst/gstpad.c: (gst_pad_get_type):
13465         * gst/gstpad.h:
13466           make _get_type functions similar, fixes data export from library
13467
13468 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13469
13470         * configure.ac:
13471           correctly make conditionals
13472         * gst/elements/Makefile.am:
13473         * gst/elements/gstelements.c:
13474           fix typo causing fdsrc not to build
13475
13476 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13477
13478         * testsuite/Makefile.am:
13479         * testsuite/bytestream/.cvsignore:
13480         * testsuite/bytestream/Makefile.am:
13481         * testsuite/bytestream/filepadsink.c:
13482         * testsuite/bytestream/gstbstest.c:
13483         * testsuite/bytestream/test1.c:
13484         * testsuite/bytestream/testfile1:
13485         * testsuite/caps/normalisation.c:
13486         * testsuite/caps/random.c: (main):
13487         * testsuite/cleanup/.cvsignore:
13488         * testsuite/cleanup/Makefile.am:
13489         * testsuite/cleanup/cleanup1.c:
13490         * testsuite/cleanup/cleanup2.c:
13491         * testsuite/cleanup/cleanup3.c:
13492         * testsuite/cleanup/cleanup4.c:
13493         * testsuite/cleanup/cleanup5.c:
13494         * testsuite/controller/interpolator.c:
13495         * testsuite/debug/printf_extension.c: (main):
13496         * testsuite/elements/tee.c:
13497         * testsuite/negotiation/.cvsignore:
13498         * testsuite/negotiation/Makefile.am:
13499         * testsuite/negotiation/pad_link.c:
13500         * testsuite/pad/Makefile.am:
13501         * testsuite/pad/chainnopull.c:
13502         * testsuite/pad/getnopush.c:
13503         * testsuite/pad/link.c:
13504         * testsuite/refcounting/sched.c: (create_pipeline):
13505         * testsuite/registry/Makefile.am:
13506         * testsuite/registry/gst-print-formats.c:
13507         * testsuite/schedulers/.cvsignore:
13508         * testsuite/schedulers/142183-2.c:
13509         * testsuite/schedulers/142183.c:
13510         * testsuite/schedulers/143777-2.c:
13511         * testsuite/schedulers/143777.c:
13512         * testsuite/schedulers/147713.c:
13513         * testsuite/schedulers/147819.c:
13514         * testsuite/schedulers/147894-2.c:
13515         * testsuite/schedulers/147894.c:
13516         * testsuite/schedulers/Makefile.am:
13517         * testsuite/schedulers/group_link.c:
13518         * testsuite/schedulers/queue_link.c:
13519         * testsuite/schedulers/relink.c:
13520         * testsuite/schedulers/unlink.c:
13521         * testsuite/schedulers/unref.c:
13522         * testsuite/schedulers/useless_iteration.c:
13523         * testsuite/states/bin.c:
13524           clean out/remove some stuff from the testsuite directories
13525
13526 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13527
13528         * configure.ac:
13529           check for some headers
13530         * gst/elements/Makefile.am:
13531         * gst/elements/gstelements.c:
13532           don't compile fdsrc without sys/socket.h
13533         * gst/indexers/Makefile.am:
13534         * gst/indexers/gstindexers.c: (plugin_init):
13535           don't compile fileindex without mmap
13536
13537 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13538
13539         * configure.ac:
13540           reorganize
13541           clean up
13542           document more
13543           remove cruft
13544         * check/Makefile.am:
13545         * docs/gst/Makefile.am:
13546         * examples/helloworld/Makefile.am:
13547         * gst/Makefile.am:
13548         * gst/base/Makefile.am:
13549         * gst/check/Makefile.am:
13550         * gst/elements/Makefile.am:
13551         * gst/indexers/Makefile.am:
13552         * gst/parse/Makefile.am:
13553         * libs/gst/controller/Makefile.am:
13554         * libs/gst/dataprotocol/Makefile.am:
13555         * examples/helloworld/helloworld.c: (event_loop):
13556           compile fixes, though it's not being compiled currently
13557
13558 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
13559
13560         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
13561           Add some simple tests for the new taglist date API.
13562
13563 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
13564
13565         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
13566         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
13567           Beautify 'last-message' output: print 'none' for buffer timestamps
13568           and durations if none is set; improve alignment with next messages.
13569
13570 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
13571
13572         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
13573         * gst/gstpluginfeature.h:
13574         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
13575         * gst/gstregistry.h:
13576         * docs/gst/gstreamer-sections.txt:
13577           Add new API to check plugin feature version requirements.
13578
13579         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
13580           Some basic tests for the above.         
13581
13582 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13583
13584         * gst/gststructure.c: (gst_structure_to_string):
13585           guard against NULL printf - happens when for example
13586           a message structure with GstClock gets serialized
13587
13588 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
13589
13590         * gst/base/gstcollectpads.c: (gst_collectpads_event):
13591           Fix presumable copy'n'pasto.
13592
13593 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13594
13595         * gst/elements/gstfakesrc.h:
13596         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
13597         * gst/elements/gsttypefindelement.c:
13598           fix some signedness
13599         * gst/elements/gstfilesink.c: (gst_file_sink_render):
13600           I wonder if this could actually write +2GB files before
13601
13602 2005-10-13  Andy Wingo  <wingo@pobox.com>
13603
13604         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
13605         Fix Timmeke Waymans bug.
13606         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
13607         string of the proper length to gst_caps_from_string. There's a
13608         potential for, before this fix, that this could cause someone
13609         connecting over the network to cause a segfault if the payload is
13610         not NUL-terminated.
13611
13612 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
13613
13614         * docs/design/draft-push-pull.txt:
13615         * docs/design/part-overview.txt:
13616         * docs/random/TODO-pre-0.9:
13617         * docs/random/old/ChangeLog.gstreamer:
13618         * gst/base/gstpushsrc.c:
13619         * gst/gstclock.c:
13620           fixed typos
13621
13622 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13623
13624         * gst/glib-compat.c: (gst_flags_get_first_value):
13625         * gst/glib-compat.h:
13626         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
13627         (gst_value_compare_double), (gst_value_serialize_flags):
13628           GLib 2.6 g_flags_get_first_value has a bug that triggers an
13629           infinite loop
13630
13631 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13632
13633         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13634         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
13635           fix up debugging
13636         * tools/gst-launch.c: (event_loop):
13637           print out clock nicely
13638
13639 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
13640
13641         * docs/gst/gstreamer-sections.txt:
13642         * gst/gsttaglist.h:
13643         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
13644         (gst_tag_list_get_date_index):
13645           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
13646           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
13647
13648 2005-10-13  Julien MOUTTE  <julien@moutte.net>
13649
13650         * gst/base/gstcollectpads.c: (gst_collectpads_event),
13651         (gst_collectpads_chain):
13652         * gst/base/gstcollectpads.h: Handle newsegment and store informations
13653         in CollectData.
13654
13655 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
13656
13657         * docs/gst/gstreamer-sections.txt:
13658         * gst/gst.c:
13659         * gst/gsterror.h:
13660         * tools/gst-inspect.c: (main):
13661         * tools/gst-launch.c: (main):
13662         * tools/gst-run.c: (main):
13663         * tools/gst-xmlinspect.c: (main):
13664           fix GOption context leaks
13665           doc fixes
13666
13667 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13668
13669         * gst/gstbus.c:
13670           use HAVE_UNISTD_H
13671         * win32/common/config.h:
13672           update config
13673         * win32/vs6/grammar.dsp:
13674         * win32/vs6/libgstelements.dsp:
13675         * win32/vs6/libgstreamer.dsp:
13676           update vs6 files
13677
13678 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13679
13680         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13681         * gst/base/gstbasesrc.c: (gst_base_src_query):
13682           fix more guint64<->gdouble conversions
13683
13684 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13685
13686         * Makefile.am:
13687           add win32-update target
13688         * win32/common/gstconfig.h:
13689         * win32/common/gstenumtypes.c:
13690         * win32/common/gstenumtypes.h:
13691         * win32/common/gstversion.h:
13692           add files that visual studio can't generate
13693
13694 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13695
13696         * Makefile.am:
13697           add a win32-update target
13698         * configure.ac:
13699
13700 2005-10-12  Wim Taymans  <wim@fluendo.com>
13701
13702         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
13703         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
13704         * gst/gstelement.c: (gst_element_commit_state),
13705         (gst_element_set_state):
13706         Protect flags with proper lock.
13707         unref provided cached clock in dispose.
13708
13709 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
13710
13711         * gst/gst.c:
13712         * gst/gstminiobject.h:
13713         * gst/gstpad.h:
13714         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
13715           removed unused flags from miniobject
13716           doc fixes
13717
13718 2005-10-12  Wim Taymans  <wim@fluendo.com>
13719
13720         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
13721         (gst_file_sink_event), (gst_file_sink_render):
13722         Flush before seeking.
13723
13724 2005-10-12  Andy Wingo  <wingo@pobox.com>
13725
13726         * gst/gst.c (gst_init_check): Ignore unknown options, as has
13727         always been the case.
13728
13729 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
13730
13731         * check/gst/gstbin.c: (GST_START_TEST):
13732         * docs/gst/gstreamer-sections.txt:
13733         * gst/base/gstbasesink.c: (gst_base_sink_init):
13734         * gst/base/gstbasesrc.c: (gst_base_src_init),
13735         (gst_base_src_get_range), (gst_base_src_check_get_range),
13736         (gst_base_src_start), (gst_base_src_stop):
13737         * gst/base/gstbasesrc.h:
13738         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
13739         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
13740         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
13741         (bin_bus_handler):
13742         * gst/gstbin.h:
13743         * gst/gstbuffer.h:
13744         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
13745         * gst/gstbus.h:
13746         * gst/gstelement.c: (gst_element_is_locked_state),
13747         (gst_element_set_locked_state), (gst_element_commit_state),
13748         (gst_element_set_state):
13749         * gst/gstelement.h:
13750         * gst/gstindex.c: (gst_index_init):
13751         * gst/gstindex.h:
13752         * gst/gstminiobject.h:
13753         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
13754         (gst_object_set_parent):
13755         * gst/gstobject.h:
13756         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
13757         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
13758         * gst/gstpad.h:
13759         * gst/gstpadtemplate.h:
13760         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
13761         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
13762         * gst/gstpipeline.h:
13763         * gst/indexers/gstfileindex.c: (gst_file_index_load),
13764         (gst_file_index_commit):
13765         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
13766         * testsuite/pad/link.c: (gst_test_src_init),
13767         (gst_test_filter_init), (gst_test_sink_init):
13768         * testsuite/states/locked.c: (main):
13769           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
13770           moved bitshift from macro to enum definition
13771
13772 2005-10-12  Wim Taymans  <wim@fluendo.com>
13773
13774         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
13775         * gst/elements/gstfilesink.c: (gst_file_sink_event),
13776         (gst_file_sink_render):
13777         Some more debugging info.
13778
13779 2005-10-12  Wim Taymans  <wim@fluendo.com>
13780
13781         * docs/design/part-states.txt:
13782         * tools/gst-launch.c: (main):
13783         Some doc updates.
13784         Revert non-intentional change.
13785
13786 2005-10-12  Wim Taymans  <wim@fluendo.com>
13787
13788         * check/gst/gstbin.c: (GST_START_TEST):
13789         * check/gst/gstelement.c: (GST_START_TEST):
13790         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
13791         * check/gst/gstghostpad.c: (GST_START_TEST):
13792         * check/gst/gstpipeline.c: (GST_START_TEST):
13793         * check/pipelines/simple_launch_lines.c: (run_pipeline):
13794         * check/states/sinks.c: (GST_START_TEST):
13795         * gst/elements/gsttypefindelement.c: (stop_typefinding):
13796         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
13797         (gst_bin_remove_func), (gst_bin_get_state_func),
13798         (gst_bin_recalc_state), (gst_bin_change_state_func),
13799         (bin_bus_handler):
13800         * gst/gstelement.c: (gst_element_get_state_func),
13801         (gst_element_get_state), (gst_element_abort_state),
13802         (gst_element_commit_state), (gst_element_set_state),
13803         (gst_element_change_state), (gst_element_change_state_func):
13804         * gst/gstelement.h:
13805         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
13806         (gst_pipeline_provide_clock_func):
13807         * gst/gstutils.c: (gst_element_link_pads_filtered):
13808         * tools/gst-launch.c: (main):
13809         * tools/gst-typefind.c: (main):
13810         Use GstClockTime in _get_state() instead of GTimeVal.
13811         Remove old code in gstutils.c
13812
13813 2005-10-12  Andy Wingo  <wingo@pobox.com>
13814
13815         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
13816         removed.
13817
13818         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
13819         there is no task. Shouldn't affect any code, as nothing in our
13820         plugins checks this return value.
13821         (gst_pad_stop_task): Also take the stream lock if the pad has no
13822         task. Docs updated.
13823
13824 2005-10-12  Wim Taymans  <wim@fluendo.com>
13825
13826         * gst/gstpad.c: (pre_activate), (post_activate),
13827         (gst_pad_activate_pull), (gst_pad_activate_push):
13828         Cleanup activation code. Reset old state if
13829         activation failed.
13830
13831 2005-10-12  Wim Taymans  <wim@fluendo.com>
13832
13833         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13834         (gst_base_sink_change_state):
13835         No need to prerol after receiving EOS.
13836
13837         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
13838         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
13839         * gst/elements/gstidentity.c: (gst_identity_event):
13840         Print events more verbosely.
13841
13842 2005-10-12  Wim Taymans  <wim@fluendo.com>
13843
13844         * check/Makefile.am:
13845         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
13846         * check/states/sinks2.c:
13847         Moved sinks2 testcode in sinks check.
13848
13849         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
13850         (gst_bin_remove_func), (gst_bin_recalc_state),
13851         (gst_bin_change_state_func), (bin_bus_handler):
13852         Fix potential race condition when _get_state() iterated over an
13853         ASYNC element right before it posted a state completion.
13854
13855         * gst/gstclock.h:
13856         Do proper cast here.
13857
13858         * gst/gstevent.c: (gst_event_new_newsegment),
13859         (gst_event_parse_newsegment):
13860         A playback rate of 0.0 is not allowed.
13861
13862 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13863
13864         * win32/common/config.h:
13865         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
13866         (_trewinddir), (_ttelldir), (_tseekdir):
13867         * win32/common/dirent.h:
13868         * win32/common/gtchar.h:
13869         * win32/common/libgstbase.def:
13870         * win32/common/libgstreamer.def:
13871         * win32/vs6/grammar.dsp:
13872         * win32/vs6/gst_inspect.dsp:
13873         * win32/vs6/gst_launch.dsp:
13874         * win32/vs6/gstreamer.dsw:
13875         * win32/vs6/libgstbase.dsp:
13876         * win32/vs6/libgstelements.dsp:
13877         * win32/vs6/libgstreamer.dsp:
13878           Visual Studio 6 project files, and a new common directory.
13879           Phear.
13880
13881 2005-10-11  Wim Taymans  <wim@fluendo.com>
13882
13883         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13884         (gst_base_sink_do_sync), (gst_base_sink_query),
13885         (gst_base_sink_change_state):
13886         * gst/base/gstbasesink.h:
13887         Correctly parse newsegment info.
13888
13889 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13890
13891         * gst/gst.c: (init_post):
13892           split plugin paths correctly
13893
13894 2005-10-11  Wim Taymans  <wim@fluendo.com>
13895
13896         * check/gst/gstevent.c: (GST_START_TEST):
13897         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13898         (gst_base_sink_change_state):
13899         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
13900         * gst/base/gstbasetransform.c: (gst_base_transform_event):
13901         * gst/elements/gstfilesink.c: (gst_file_sink_event):
13902         * gst/gstevent.c: (gst_event_new_newsegment),
13903         (gst_event_parse_newsegment):
13904         * gst/gstevent.h:
13905         Added extra flag to newsegment for future API freeze.
13906         Updated check and base elements.
13907
13908 2005-10-11  Julien MOUTTE  <julien@moutte.net>
13909
13910         * gst/base/gstcollectpads.c: (gst_collectpads_init),
13911         (gst_collectpads_add_pad), (gst_collectpads_pop),
13912         (gst_collectpads_event), (gst_collectpads_chain):
13913         * gst/base/gstcollectpads.h: Handle EOS correctly.
13914
13915 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13916
13917         * tools/gst-launch.c: (main):
13918           more null protecting
13919
13920 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13921
13922         * gst/gst-i18n-lib.h:
13923           check for ENABLE_NLS, not GETTEXT_PACKAGE
13924         * gst/gstregistry.c: (gst_registry_add_plugin),
13925         (gst_registry_scan_path_level),
13926         (_gst_registry_remove_cache_plugins):
13927           protect possibly NULL strings
13928         * gst/parse/types.h:
13929           config.h already included before
13930         * tools/gst-inspect.c: (main):
13931           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
13932           check for ENABLE_NLS, not GETTEXT_PACKAGE
13933         * tools/gst-launch.c: (main):
13934           check for ENABLE_NLS, not GETTEXT_PACKAGE
13935
13936 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13937
13938         * configure.ac:
13939           if we don't have glib, fail before testing 2.8
13940         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
13941           fix a leak, should fix plugins-base testsuite
13942
13943 2005-10-11  Andy Wingo  <wingo@pobox.com>
13944
13945         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
13946         take the mode we're going to as an arg. Go head and set the mode
13947         and flushing flags now, so that if the activate function starts a
13948         thread all the flags will be in the right state.
13949         (post_activate): Renamed also. Just handle making sure streaming
13950         finishes for the deactivation case, and setting the deactivated
13951         mode.
13952         (gst_pad_set_active): Complain loudly if deactivation fails.
13953         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
13954         (gst_pad_activate_push): Adapt to pre/post_activate changes,
13955         remove the terrible hack.
13956
13957 2005-10-11  Wim Taymans  <wim@fluendo.com>
13958
13959         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
13960         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
13961         (gst_bin_recalc_state), (gst_bin_change_state_func),
13962         (gst_bin_dispose), (bin_bus_handler):
13963         * gst/gstbin.h:
13964         Prepare to make current EOS message queue more generic.
13965         Fix some typos.
13966
13967         * gst/gstevent.c: (gst_event_new_newsegment),
13968         (gst_event_parse_newsegment):
13969         * gst/gstevent.h:
13970         Rename base to stream_time.
13971
13972         * gst/gstmessage.h:
13973         Fix typo in docs.
13974
13975 2005-10-11  Wim Taymans  <wim@fluendo.com>
13976
13977         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
13978         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
13979         (gst_bin_change_state_func), (bin_bus_handler):
13980         * gst/gstbin.h:
13981         Work on proper clock selection.
13982
13983 2005-10-11  Edward Hervey  <edward@fluendo.com>
13984
13985         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
13986         * libs/gst/controller/gstcontroller.h:
13987         Added GList* version of _remove_properties() in order to be able to wrap
13988         it in bindings.
13989
13990 2005-10-11  Wim Taymans  <wim@fluendo.com>
13991
13992         * docs/design/part-states.txt:
13993         Some more docs.
13994
13995         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
13996         (gst_bin_change_state_func), (bin_bus_handler):
13997         Doc updates. Don't distribute the same clock over and over again.
13998
13999         * gst/gstclock.c:
14000         * gst/gstclock.h:
14001         Doc updates.
14002
14003         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
14004         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
14005         (gst_pad_send_event):
14006         * gst/gstpad.h:
14007         Make probe emission threadsafe again.
14008         Register quarks and move _get_name() from utils.
14009         Doc updates.
14010
14011         * gst/gstpipeline.c: (gst_pipeline_class_init),
14012         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
14013         Only redistribute the clock of it changed.
14014
14015         * gst/gstsystemclock.h:
14016         Doc updates. 
14017
14018         * gst/gstutils.c:
14019         * gst/gstutils.h:
14020         Moved the _flow_get_name() to GstPad.
14021
14022 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14023
14024         * check/gst-libs/gdp.c: (GST_START_TEST):
14025         * check/gst/gstcaps.c: (GST_START_TEST):
14026         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
14027         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
14028         (gst_dp_packet_from_caps):
14029           fix more valgrind warnings before turning up the heat
14030
14031 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14032
14033         * gst/parse/grammar.y:
14034           some cleanup before the hacking
14035
14036 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14037
14038         * gst/base/gstbasesrc.c: (gst_base_src_query):
14039           use conversions
14040         * gst/gstutils.c: (gst_guint64_to_gdouble),
14041         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
14042         * gst/gstutils.h:
14043           externalize, basesrc uses it
14044           obviously the implementation needs testing
14045
14046 2005-10-10  Wim Taymans  <wim@fluendo.com>
14047
14048         * tests/sched/Makefile.am:
14049         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
14050         (make_pipeline3), (make_pipeline4), (print_elem), (main):
14051
14052 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14053
14054         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
14055           apparently converting from guint64 to double is not implemented
14056           on MSVC
14057
14058 2005-10-10  Wim Taymans  <wim@fluendo.com>
14059
14060         * check/Makefile.am:
14061         * check/generic/states.c: (GST_START_TEST):
14062         * check/gst/gstbin.c: (GST_START_TEST):
14063         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
14064         * check/states/sinks.c: (GST_START_TEST):
14065         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
14066         (main):
14067         Check fixes, use API as stated in design docs, remove hacks.
14068
14069         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14070         (gst_base_sink_change_state):
14071         Catch stopping our task while we're shutting down.
14072
14073         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
14074         (gst_bin_remove_func), (gst_bin_get_state_func),
14075         (gst_bin_recalc_state), (gst_bin_change_state_func),
14076         (bin_bus_handler):
14077         * gst/gstbin.h:
14078         * gst/gstelement.c: (gst_element_init),
14079         (gst_element_get_state_func), (gst_element_abort_state),
14080         (gst_element_commit_state), (gst_element_lost_state),
14081         (gst_element_set_state), (gst_element_change_state),
14082         (gst_element_change_state_func):
14083         * gst/gstelement.h:
14084         New state change algorithm (see #318116)
14085
14086         * gst/gstpipeline.c: (gst_pipeline_class_init),
14087         (gst_pipeline_init), (gst_pipeline_set_property),
14088         (gst_pipeline_get_property), (do_pipeline_seek),
14089         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
14090         * gst/gstpipeline.h:
14091         Remove crude state change hacks.
14092
14093         * gst/gstutils.h:
14094         Remove crude hacks.
14095
14096         * tools/gst-launch.c: (main):
14097         Fixes for state change. Needs some more work to fully use the
14098         new stuff.
14099
14100 2005-10-10  Andy Wingo  <wingo@pobox.com>
14101
14102         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
14103
14104         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
14105         this flag, but it's not even in GLib 2.6. Odd. Hack around the
14106         issue.
14107
14108 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
14109
14110         * gst/gstiterator.c: (gst_iterator_new):
14111           Fix my previous commit: GTypes passed to gst_iterator_new()
14112           can be fundamental types.
14113
14114 2005-10-10  Wim Taymans  <wim@fluendo.com>
14115
14116         * gst/gstelement.c: (gst_element_iterate_pad_list),
14117         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
14118         (gst_element_iterate_sink_pads):
14119         Use src/sink pads lists for the respective iterators instead
14120         of filtering.
14121
14122 2005-10-10  Andy Wingo  <wingo@pobox.com>
14123
14124         Merged in popt removal + GOption addition patch from Ronald, bug
14125         #169772.
14126
14127         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
14128         GstElement macros around, remove popt-related symbols, add goption
14129         stuff.
14130
14131         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
14132         
14133         * docs/gst/Makefile.am:
14134         * docs/libs/Makefile.am: No POPT_CFLAGS.
14135         
14136         * examples/manual/Makefile.am:
14137         * docs/manual/basics-init.xml: Doc updates with an example.
14138         
14139         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
14140         (gst_init), (parse_one_option), (parse_goption_arg):
14141         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
14142         bit of hand merging and debugging to get the GOption stuff working
14143         tho.
14144         
14145         * tests/Makefile.am:
14146         * tools/Makefile.am:
14147         * tools/gst-inspect.c: (main):
14148         * tools/gst-launch.c: (main):
14149         * tools/gst-run.c: (main):
14150         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
14151
14152 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
14153
14154         * gst/gstiterator.c: (gst_iterator_new):
14155           Add assertions to make sure passed GType is likely to really
14156           be a GType (as the compiler won't catch it if the size and
14157           GType arguments get mixed up, see #318447).
14158
14159 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
14160
14161         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
14162
14163         * gst/gstbin.c: (gst_bin_iterate_sorted):
14164           Pass GType and size arguments to gst_iterator_new() in the right
14165           order (maybe we should make _new() take the GType as first argument
14166           just like _new_list()?) (#318447).
14167           
14168
14169 2005-10-10  Wim Taymans  <wim@fluendo.com>
14170
14171         * gst/gstelement.c: (gst_element_finalize):
14172         And free the GStaticRecMutex too
14173
14174 2005-10-10  Andy Wingo  <wingo@pobox.com>
14175
14176         * gst/gstelement.c (gst_element_init, gst_element_finalize):
14177         Allocate and free the mutex properly.
14178
14179         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
14180         New macros.
14181         (GstElement): The state_lock is now recursive. Rebuild your
14182         plugins, suckers. Old macros adapted.
14183
14184         * docs/gst/gstreamer-sections.txt: Doc updates.
14185
14186         * gst/gstutils.h:
14187         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
14188         (g_static_rec_cond_wait): Ported from state changes patch, while
14189         we wait on bug #317802 to be solved in a well-distributed GLib.
14190
14191         * gst/gstelement.c (gst_element_change_state_func): Renamed from
14192         gst_element_change_state, variable name changes.
14193         (gst_element_change_state): Split out of gst_element_set_state in
14194         preparation for the state change merge. Doesn't pay attention to
14195         the 'transition' argument.
14196         (gst_element_set_state): Updates, hopefully purely cosmetic.
14197         (gst_element_sync_state_with_parent): MT-safety. Ported from the
14198         state change patch.
14199         (gst_element_get_state_func): Renamed from get_state, cosmetic
14200         changes.
14201
14202 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14203
14204         * gst/elements/gstelements.c:
14205         * win32/GStreamer.vcproj:
14206         * win32/config.h:
14207         * win32/dirent.c: (_tseekdir):
14208         * win32/gst-inspect.vcproj:
14209         * win32/gst-launch.vcproj:
14210         * win32/gstconfig.h:
14211         * win32/gstelements.vcproj:
14212         * win32/gstenumtypes.c: (gst_object_flags_get_type):
14213         * win32/gstreamer.def:
14214         * win32/msvc71.sln:
14215           updates for the win32 build (patch from Sebastien Moutte)
14216
14217 2005-10-10  Andy Wingo  <wingo@pobox.com>
14218
14219         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
14220         gst_bin_get_state, cleaned up (but no logic changes).
14221         (bin_element_is_sink): Comment updates.
14222         (sink_iterator_filter): Remove needless cast.
14223         (gst_bin_iterate_sinks): Doc update.
14224         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
14225         cleaned up (but no logic changes).
14226
14227         * check/states/sinks.c (test_src_sink): Cleanups from the state
14228         change patch.
14229         (test_livesrc_sink): Sync on the state.
14230
14231         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
14232         the state change patch.
14233
14234         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
14235         change patch.
14236
14237         * check/gst/gstbin.c: Merge in some style fixes and additional
14238         checks from Wim's state change patch.
14239
14240 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
14241
14242         * gst/base/gsttypefindhelper.c: (helper_find_peek),
14243         (gst_type_find_helper):
14244           Check whether we have the requested data already in our list of
14245           cached buffers before pulling a new buffer; also make the buffer
14246           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
14247
14248 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14249
14250         * gst/gstcaps.c:
14251         * gst/gstevent.c:
14252           doc updates
14253         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
14254           don't use long long, it's not portable.  Replacing with
14255           gint64 seems to work; let's hope no skeletons fall out of the closet.
14256
14257 2005-10-10  Andy Wingo  <wingo@pobox.com>
14258
14259         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
14260
14261 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
14262
14263         * docs/gst/gstreamer-sections.txt:
14264         * gst/gstevent.c:
14265         * gst/gstevent.h:
14266         * gst/gstinfo.c:
14267         * gst/gstinfo.h:
14268         * gst/gstmessage.c: (gst_message_parse_state_changed):
14269         * gst/gstpad.c:
14270         * gst/gstpad.h:
14271           more docs, fix compilation
14272
14273 2005-10-09  Philippe Khalaf <burger@speedy.org>
14274         * gst/gstmessage.c:
14275           Fixed a few forgotten variables on previous commit
14276
14277 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
14278
14279         * gst/base/gsttypefindhelper.c: (helper_find_peek):
14280           Fix evil typefind crasher: getrange() might return a short
14281           buffer at the end of a file, but gst_type_find_peek() must
14282           either return the full data as requested or NULL, but
14283           never a short buffer.
14284
14285 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14286
14287         * gst/gstmessage.c: (gst_message_new_state_changed),
14288         (gst_message_parse_state_changed):
14289         * gst/gstmessage.h:
14290           don't use "new", it's a C++ keyword
14291
14292 2005-10-08  Wim Taymans  <wim@fluendo.com>
14293
14294         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
14295         * gst/gstelement.c: (gst_element_post_message):
14296         * gst/gstpipeline.c: (gst_pipeline_change_state):
14297         Small docs and debug updates.
14298
14299 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
14300
14301         * docs/gst/gstreamer-sections.txt:
14302         * gst/gstelementfactory.c:
14303         * gst/gstevent.c:
14304         * gst/gsttaglist.c:
14305           more docs
14306
14307 2005-10-08  Wim Taymans  <wim@fluendo.com>
14308
14309         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
14310         (gst_bin_dispose), (bin_bus_handler):
14311         Fix typos, add comments.
14312         Clear EOS list when going to PAUSED from any direction and do it
14313         in a threadsafe way.
14314         Get base time in a threadsafe way too.
14315         Fix confusing debug in the change_state function.
14316         Various other small cleanups.
14317         
14318         * gst/gstelement.c: (gst_element_post_message):
14319         Fix very verbose bus posting code.
14320
14321         * gst/gstpipeline.c: (gst_pipeline_class_init),
14322         (gst_pipeline_set_property), (gst_pipeline_get_property),
14323         (gst_pipeline_change_state):
14324         Small ARG_ -> PROP_ cleanup
14325
14326 2005-10-08  Wim Taymans  <wim@fluendo.com>
14327
14328         * gst/gstbin.c: (is_eos), (bin_bus_handler):
14329         Do a less CPU demanding EOS check because we can.
14330
14331 2005-10-08  Wim Taymans  <wim@fluendo.com>
14332
14333         * libs/gst/dataprotocol/dataprotocol.c:
14334         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14335         (gst_dp_packet_from_event):
14336         * libs/gst/dataprotocol/dataprotocol.h:
14337         * libs/gst/dataprotocol/dp-private.h:
14338         It's about time we bump the version number.
14339         Since event types don't fit in the guint8 anymore describing
14340         the payload type, make payload type 16 bits wide.
14341
14342 2005-10-08  Wim Taymans  <wim@fluendo.com>
14343
14344         * docs/design/part-TODO.txt:
14345         * docs/design/part-clocks.txt:
14346         * docs/design/part-events.txt:
14347         * docs/design/part-gstbin.txt:
14348         * docs/design/part-gstelement.txt:
14349         * docs/design/part-gstpipeline.txt:
14350         * docs/design/part-live-source.txt:
14351         * docs/design/part-messages.txt:
14352         * docs/design/part-overview.txt:
14353         * docs/design/part-states.txt:
14354         Many doc updates.
14355
14356 2005-10-08  Wim Taymans  <wim@fluendo.com>
14357
14358         * gst/gstevent.c:
14359         * gst/gstevent.h:
14360         Fix event quark registration.
14361         Add some space between events so we can insert them in the
14362         right groups.
14363
14364 2005-10-08  Wim Taymans  <wim@fluendo.com>
14365
14366         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14367         (gst_base_sink_handle_buffer):
14368         Better log message.
14369
14370         * gst/gstbus.h:
14371         * gst/gstelement.h:
14372         More docs.
14373
14374         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
14375         (gst_queue_set_property), (gst_queue_get_property):
14376         * gst/gstqueue.h:
14377         Remove old unused properties.
14378
14379 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
14380         * docs/gst/gstreamer-sections.txt:
14381         * gst/gstmessage.c:
14382         * gst/gstmessage.h:
14383         * gst/gstminiobject.c:
14384         * gst/gstminiobject.h:
14385         * gst/gstobject.h:
14386         * gst/gstpad.h:
14387         * gst/gstutils.h:
14388           lots of new docs and doc fixes
14389
14390 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14391
14392         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
14393         * gst/gstplugin.h:
14394         * gst/gstregistry.c: (gst_registry_lookup_locked),
14395         (gst_registry_scan_path_level):
14396         * gst/gstregistryxml.c: (load_plugin):
14397           Only ever load one plugin for a given plugin basename.
14398           This ensures correct overriding of GST_PLUGIN_PATH over
14399           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
14400           system installed plugins.
14401
14402 2005-10-08  Wim Taymans  <wim@fluendo.com>
14403
14404         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14405         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
14406         Prepare for doing QOS.
14407
14408 2005-10-08  Wim Taymans  <wim@fluendo.com>
14409
14410         * check/gst/gstbin.c: (GST_START_TEST):
14411         * check/pipelines/cleanup.c: (GST_START_TEST):
14412         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
14413         Allow new clock message too.
14414
14415 2005-10-08  Wim Taymans  <wim@fluendo.com>
14416
14417         * gst/gstmessage.c: (gst_message_new_error),
14418         (gst_message_new_warning), (gst_message_new_tag),
14419         (gst_message_new_state_changed), (gst_message_new_clock_provide),
14420         (gst_message_new_clock_lost), (gst_message_new_new_clock),
14421         (gst_message_new_segment_start), (gst_message_new_segment_done),
14422         (gst_message_parse_state_changed),
14423         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
14424         (gst_message_parse_new_clock):
14425         * gst/gstmessage.h:
14426         Also carry the clock in question.
14427
14428 2005-10-08  Wim Taymans  <wim@fluendo.com>
14429
14430         * gst/gstmessage.c: (gst_message_new_custom),
14431         (gst_message_new_eos), (gst_message_new_error),
14432         (gst_message_new_warning), (gst_message_new_tag),
14433         (gst_message_new_state_changed), (gst_message_new_clock_provide),
14434         (gst_message_new_new_clock), (gst_message_new_segment_start),
14435         (gst_message_new_segment_done), (gst_message_parse_state_changed),
14436         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
14437         * gst/gstmessage.h:
14438         Clean up.
14439         Added clock related messages.
14440
14441         * gst/gstpipeline.c: (gst_pipeline_change_state):
14442         Post message when the clock changed.
14443
14444         * tools/gst-launch.c: (event_loop):
14445         Print new clock.
14446
14447 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
14448
14449         * tools/gst-inspect.c: (print_element_properties_info):
14450           Can't pass NULL strings to g_print() on windows.
14451
14452 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14453
14454         * docs/Makefile.am:
14455         * docs/gst/Makefile.am:
14456         * docs/gst/gstreamer-docs.sgml:
14457         * docs/gst/running.xml:
14458         * docs/version.entities.in:
14459           add a chapter on running GStreamer.
14460           document GST_DEBUG and GST_PLUGIN* env vars
14461
14462 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14463
14464         * Makefile.am:
14465           remove include dir
14466         * configure.ac:
14467           remove PLUGINS_BUILDDIR stuff
14468         * gst/gst.c: (init_post):
14469           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
14470         * idiottest.mak:
14471           remove, it was condescending and not needed
14472
14473 2005-10-08  Wim Taymans  <wim@fluendo.com>
14474
14475         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
14476         (gst_base_sink_handle_object), (gst_base_sink_event),
14477         (gst_base_sink_wait), (gst_base_sink_handle_event),
14478         (gst_base_sink_change_state):
14479         * gst/base/gstbasesink.h:
14480         Repost EOS message while going to PLAYING if still EOS.
14481         Make sure that when receiving a FLUSH_START we don't attempt
14482         to sync on the clock anymore.
14483
14484 2005-10-08  Wim Taymans  <wim@fluendo.com>
14485
14486         * tools/gst-launch.c: (event_loop):
14487         Better message printout.
14488
14489 2005-10-08  Wim Taymans  <wim@fluendo.com>
14490
14491         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
14492         (gst_bin_child_proxy_get_children_count):
14493         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
14494         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
14495         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
14496         (gst_child_proxy_set_valist):
14497         * gst/parse/grammar.y:
14498         Make ChildProxy threadsafe and fix mem leaks.
14499
14500 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14501
14502         * gst/gst.c: (init_post):
14503           debug the GST_PLUGIN_ env vars
14504
14505 2005-10-08  Wim Taymans  <wim@fluendo.com>
14506
14507         * check/gst/gstbin.c: (GST_START_TEST):
14508         * check/gst/gstmessage.c: (GST_START_TEST):
14509         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
14510         * gst/gstelement.c: (gst_element_commit_state),
14511         (gst_element_lost_state):
14512         * gst/gstmessage.c: (gst_message_new_state_changed),
14513         (gst_message_parse_state_changed):
14514         * gst/gstmessage.h:
14515         * tools/gst-launch.c: (event_loop):
14516         Added extra field to STATE_CHANGE message with the pending
14517         state, which will be different from the new state soon.
14518
14519 2005-10-08  Wim Taymans  <wim@fluendo.com>
14520
14521         * gst/gstbus.c: (gst_bus_pop):
14522         * gst/gstclock.c:
14523         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
14524         Small cleanups and doc updates.
14525
14526 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14527
14528         * gst/gst.c: (init_pre):
14529         * gst/gstbin.c: (gst_bin_add_func):
14530           log distributing clocks and base time
14531         * gst/gstregistry.c: (gst_registry_add_plugin),
14532         (gst_registry_scan_path_level), (gst_registry_scan_path):
14533           clean up the debugging output a little
14534         * gst/gstutils.c: (gst_element_state_get_name):
14535           warn about a memleak (I've actually seen this be used, though
14536           it was probably a bug)
14537
14538 2005-10-07  Wim Taymans  <wim@fluendo.com>
14539
14540         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14541         (gst_base_src_init), (gst_base_src_default_newsegment),
14542         (gst_base_src_newsegment), (gst_base_src_do_seek),
14543         (gst_base_src_loop), (gst_base_src_start):
14544         * gst/base/gstbasesrc.h:
14545         Make the newsegment event customizable by subclasses.
14546
14547 2005-10-07  Wim Taymans  <wim@fluendo.com>
14548
14549         * gst/gstevent.c: (gst_event_new_buffersize),
14550         (gst_event_parse_buffersize):
14551         * gst/gstevent.h:
14552         New event for future idea.
14553
14554 2005-10-07  Andy Wingo  <wingo@pobox.com>
14555
14556         * gst/gstelement.c (gst_element_post_message): Doc update.
14557
14558         * docs/gst/gstreamer-sections.txt: Update.
14559
14560         * gst/gstmessage.c (gst_message_new_application): Made into a
14561         function like honest API calls.
14562         (gst_message_new_element): New message type.
14563
14564         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
14565
14566         * check/elements/fakesrc.c (test_no_preroll): New check, checks
14567         that setting a live fakesrc to PAUSED returns NO_PREROLL both
14568         times.
14569
14570         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
14571         NO_PREROLL from gst_element_change_state to fall through.
14572
14573 2005-10-07  Wim Taymans  <wim@fluendo.com>
14574
14575         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
14576         (gst_ghost_pad_do_activate_push):
14577         Activating a ghostpad with no internal pad in push mode
14578         is ok.
14579
14580 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14581
14582         * gst/gstobject.h:
14583           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
14584           Fixes compilation on Windows.
14585
14586 2005-10-07  Michael Smith <msmith@fluendo.com>
14587
14588         * tools/gst-inspect.c:
14589           Print out feature and plugin count at the end when printing out
14590           all features.
14591
14592 2005-10-04  Michael Smith <msmith@fluendo.com>
14593
14594         * gst/gsterror.c: (_gst_stream_errors_init):
14595           Add another error string used in a few existing plugins.
14596
14597         * gst/gstplugin.c:
14598         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
14599         * tools/gst-inspect.c: (print_element_info):
14600           When a feature disappears from a plugin (and the feature exists in
14601           the cached registry file), things went horribly wrong. This isn't a
14602           complete fix, we should actually be removing the 'missing' features
14603           from the features list when we load the actual plugin. That's not
14604           yet implemented. 
14605
14606 2005-10-04  Johan Dahlin  <johan@gnome.org>
14607
14608         * check/gst/gstiterator.c: (GST_START_TEST):
14609         * gst/gstbin.c: (gst_bin_iterate_elements),
14610         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
14611         * gst/gstelement.c: (gst_element_iterate_pads):
14612         * gst/gstformat.c: (gst_format_iterate_definitions):
14613         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
14614         (gst_iterator_new_list), (gst_iterator_filter):
14615         * gst/gstiterator.h:
14616         * gst/gstquery.c: (gst_query_type_iterate_definitions):
14617         Add a GType to GstIterator, update callsites and tests.
14618
14619 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14620
14621         * gst/gstpad.c: (gst_pad_event_default_dispatch):
14622           give events a chance to be handled by event probes when the pad
14623           is not linked
14624
14625 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14626
14627         * gst/gstevent.c: (gst_event_type_get_name),
14628         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
14629         * gst/gstevent.h:
14630           add string representations for event types
14631
14632 2005-10-06  Wim Taymans  <wim@fluendo.com>
14633
14634         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
14635         Don't use NULL pointers.
14636
14637 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14638
14639         * gst/gst_private.h:
14640         * gst/gstbus.c:
14641         * gst/gstelement.c:
14642         * gst/gstinfo.c:
14643         * gst/gstpluginfeature.c:
14644           widen the debug category in output to fit the biggest one we have
14645           add a bus category and use it
14646           play with the colors
14647           fix up some categories
14648
14649 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14650
14651         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
14652           add push activation of sink ghost pads.
14653           Andye, please verify
14654
14655 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
14656
14657         * gst/gstutils.c: (gst_element_link_pads):
14658           fix a bug in the case where neither element has a pad
14659         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
14660           add a test for that case
14661
14662 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
14663
14664         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
14665           emit have-data before checking for peers.  This allows
14666           for probe handlers to connect elements.  This helps autopluggers.
14667         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
14668         (gst_pad_suite):
14669           add six checks, linked/unlinked with no/true/false probe
14670
14671 2005-10-04  Wim Taymans  <wim@fluendo.com>
14672
14673         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
14674         (gst_fake_sink_event), (gst_fake_sink_preroll),
14675         (gst_fake_sink_render), (gst_fake_sink_change_state):
14676         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
14677         (gst_fake_src_get_property), (gst_fake_src_create),
14678         (gst_fake_src_stop):
14679         * gst/elements/gstidentity.c: (gst_identity_stop):
14680         Protect last_message with lock.
14681
14682 2005-10-04  Edward Hervey  <edward@fluendo.com>
14683
14684         * gst/gstformat.h: 
14685         Added precision in the comments for GST_FORMAT_DEFAULT
14686
14687 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
14688
14689         * tools/gst-launch.c: (main):
14690           Don't try to run erroneous pipelines.
14691
14692 2005-10-04  Julien MOUTTE  <julien@moutte.net>
14693
14694         * gst/gstbus.c: We don't need this header.
14695
14696 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14697
14698         * configure.ac:
14699           back to development
14700
14701 === release 0.9.3 ===
14702
14703 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14704
14705         * README:
14706         * configure.ac:
14707           Releasing 0.9.3, "Unregistered"
14708
14709 2005-10-03  Andy Wingo  <wingo@pobox.com>
14710
14711         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
14712         whereby calling a pad's activatepush() function can start a thread
14713         that starts to push or pull before the pad gets the FLUSHING flag
14714         unset. Hack around it by holding the stream lock until the flag is
14715         set. Need to replace this with a proper solution. Together with
14716         the ghost pad fixes, this fixes mp3 playing/tagreading.
14717
14718         * docs/design/part-gstghostpad.txt: Add a note about activation of
14719         proxy pads outside of ghost pads.
14720
14721         * gst/gstghostpad.c: Implement the ghost pad activation design.
14722
14723 2005-10-02  Andy Wingo  <wingo@pobox.com>
14724
14725         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
14726         It is volatile, after all.
14727
14728         * docs/design/part-gstghostpad.txt: Flesh out activation with
14729         ghost pads.
14730
14731         * gst/base/gstbasesrc.c (gst_base_src_init): Use
14732         GST_DEBUG_FUNCPTR.
14733
14734 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
14735
14736         * configure.ac:
14737           Fix (unused) AM_CONDITIONAL tests.
14738
14739 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
14740
14741         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
14742
14743         * gst/gstutils.c: (gst_pad_query_convert):
14744           Add assertion that makes sure src_val is >=0, just like
14745           gst_query_new_convert() has. (#315895)
14746
14747 2005-09-30  Edward Hervey  <edward@fluendo.com>
14748
14749         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
14750         Let's not iterate pads we're not interested in, it avoids getting 
14751         sky-high refcounts on sinkpad.
14752
14753 2005-09-30  Wim Taymans  <wim@fluendo.com>
14754
14755         * gst/gstelement.c: (gst_element_set_state),
14756         (gst_element_change_state):
14757         Small tweak, element in ASYNC remains ASYNC.
14758
14759 2005-09-30  Wim Taymans  <wim@fluendo.com>
14760
14761         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
14762         Only error is an error.
14763
14764         * gst/gstbin.c: (gst_bin_change_state):
14765         Better debugging.
14766
14767         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
14768         Also call pad_block in pad alloc.
14769
14770         * gst/gstutils.c: (gst_flow_get_name):
14771         Better debugging.
14772
14773 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
14774
14775         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14776         (gst_base_src_get_range):
14777           Fix documentation typos. Add some more debug info.
14778
14779 2005-09-29  David Schleef  <ds@schleef.org>
14780
14781         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
14782           more end-user friendly.
14783         * tools/gst-inspect.c: (main): Check if command-line argument is
14784           a file and attempt to load that file as a plugin.
14785
14786 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14787
14788         * check/gst/gstbin.c:
14789         * check/states/sinks.c:
14790           fix tests for the new warning
14791         * check/gst/gstpipeline.c:
14792           add a test for pipeline and bus interaction
14793         * gst/gstelement.c:
14794           elements should be NULL if they get disposed; add a warning if not
14795
14796 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14797
14798         * gst/gstobject.c:
14799           for 2.6 refcounting, make debug log more correct by printing
14800           the actual refcounts at the time of swap (Wim)
14801
14802 2005-09-29  Andy Wingo  <wingo@pobox.com>
14803
14804         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
14805         removes signal watches previously added via
14806         gst_bus_add_signal_watch.
14807         (gst_bus_add_signal_watch): Don't return the source id, just store
14808         it on the bus if there wasn't an id already.
14809
14810         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
14811         add_signal_watch and remove_signal_watch.
14812
14813 2005-09-29  Edward Hervey  <edward@fluendo.com>
14814
14815         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
14816         Better if we actually iterate the list :)
14817
14818 2005-09-29  Wim Taymans  <wim@fluendo.com>
14819
14820         * check/gst/gstbin.c: (GST_START_TEST):
14821         Change for new bus API.
14822
14823         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
14824         (send_messages), (GST_START_TEST), (gstbus_suite):
14825         Change for new bus signal API.
14826
14827         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
14828         (gst_bus_source_prepare), (gst_bus_source_check),
14829         (gst_bus_create_watch), (gst_bus_add_watch_full),
14830         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
14831         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
14832         * gst/gstbus.h:
14833         Remove support for multiple GSources operating on different
14834         message types as it is too complex and unneeded when using
14835         signals.
14836         Added support for receiving signals from the bus.
14837
14838 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14839
14840         * docs/libs/tmpl/gstdataprotocol.sgml:
14841         * docs/manual/advanced-dataaccess.xml:
14842         * gst/elements/gstcapsfilter.c:
14843         * gst/gstutils.c:
14844           rename filter-caps to caps property
14845
14846 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
14847
14848         * gst/gstvalue.c: (gst_value_deserialize_fraction):
14849           More robust fraction string parsing.
14850
14851         * docs/pwg/appendix-porting.xml:
14852           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
14853
14854 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
14855
14856         * gst/gstcaps.c: (gst_caps_do_simplify):
14857           Thou shalt not free a structure and then continue using it
14858           in the next loop iteration.
14859
14860         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
14861         (gst_caps_suite):
14862           Add test case for caps simplification.
14863
14864 2005-09-29  Wim Taymans  <wim@fluendo.com>
14865
14866         * check/gst/gstbin.c: (GST_START_TEST):
14867         Oops.
14868
14869 2005-09-29  Wim Taymans  <wim@fluendo.com>
14870
14871         * check/gst/gstbin.c: (GST_START_TEST):
14872         Add bus to bin.
14873
14874         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
14875         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
14876         (find_element), (gst_bin_sort_iterator_next),
14877         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
14878         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
14879         (gst_bin_change_state), (gst_bin_dispose):
14880         A bin does not have a bus, it gets the bus from the parent.
14881
14882         * gst/gstelement.c: (gst_element_requires_clock),
14883         (gst_element_provides_clock), (gst_element_is_indexable),
14884         (gst_element_is_locked_state), (gst_element_change_state),
14885         (gst_element_set_bus_func):
14886         Small cleanups.
14887
14888         * gst/gstpipeline.c: (gst_pipeline_class_init),
14889         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
14890         The pipeline provides a bus.
14891
14892 2005-09-28  Johan Dahlin  <johan@gnome.org>
14893
14894         * gst/gstmessage.c (gst_message_parse_state_changed): Use
14895         gst_structure_get_enum instead of gst_structure_get_int
14896
14897         * gst/gststructure.c (gst_structure_get_enum): Impl.
14898
14899         * gst/gststructure.h (gst_structure_get_enum): Add
14900
14901         * docs/gst/gstreamer-sections.txt: Ditto
14902
14903         * gst/gstmessage.c (gst_message_new_state_changed): Use
14904         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
14905         which does introspection.
14906         Reviewed by Christian Schaller
14907
14908 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
14909
14910         * gst/gstinfo.c: (gst_debug_log_default):
14911           don't do dummy g_strdup()s
14912         * libs/gst/controller/gstcontroller.c:
14913         (on_object_controlled_property_changed),
14914         (gst_controlled_property_new), (gst_controller_new_valist),
14915         (gst_controller_new_list),
14916         (gst_controller_remove_properties_valist), (gst_controller_set),
14917         (gst_controller_get), (gst_controller_sync_values),
14918         (gst_controller_get_value_array), (_gst_controller_class_init),
14919         (gst_controller_get_type):
14920         * libs/gst/controller/gstcontroller.h:
14921         * libs/gst/controller/gstinterpolation.c:
14922         (gst_controlled_property_find_timed_value_node):
14923           convert // to /**/ comments
14924
14925 2005-09-28  Wim Taymans  <wim@fluendo.com>
14926
14927         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
14928         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
14929         (gst_bus_sync_signal_handler):
14930         * gst/gstbus.h:
14931         Added async-message and sync-message signals to the bus.
14932         Added helper BusFunc to emit signals for all posted messages.
14933
14934         * gst/gstmessage.c: (gst_message_type_get_name),
14935         (gst_message_type_to_quark), (gst_message_get_type):
14936         * gst/gstmessage.h:
14937         Register quarks for message names.
14938
14939 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
14940
14941         * docs/libs/gstreamer-libs-sections.txt:
14942         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
14943         (gst_controller_new_list):
14944         * libs/gst/controller/gstcontroller.h:
14945           added another constructor for language bindings
14946
14947 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
14948
14949         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
14950           add another check
14951         * gst/gstbus.c:
14952           add some doc
14953         * gst/gstinfo.c: (_gst_debug_init):
14954           slightly more readable color for refcount debugging
14955
14956 2005-09-28  Wim Taymans  <wim@fluendo.com>
14957
14958         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
14959         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
14960         (find_element), (gst_bin_sort_iterator_next),
14961         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
14962         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
14963         (gst_bin_change_state), (gst_bin_dispose):
14964         Small doc fixes. get_clock -> provide_clock.
14965
14966         * gst/gstelement.c: (gst_element_class_init),
14967         (gst_element_provides_clock), (gst_element_provide_clock),
14968         (gst_element_get_clock), (gst_element_commit_state),
14969         (gst_element_lost_state):
14970         * gst/gstelement.h:
14971         Make get/set_clock() symetric. Add provide_clock vmethod since
14972         that is actually what this function does.
14973
14974         * gst/gstpipeline.c: (gst_pipeline_class_init),
14975         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
14976         (gst_pipeline_get_clock):
14977         get_clock -> provide_clock.
14978
14979 2005-09-28  Andy Wingo  <wingo@pobox.com>
14980
14981         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
14982         lieu of real docs...
14983
14984         * gst/elements/gstfdsrc.c: Cleaned up a bit.
14985
14986 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
14987
14988         * gst/elements/gstcapsfilter.c:
14989         * gst/elements/gstfakesink.c:
14990         * gst/elements/gstfakesrc.c:
14991         * gst/elements/gstfdsink.c:
14992         * gst/elements/gstfdsrc.c:
14993         * gst/elements/gstfilesink.c:
14994         * gst/elements/gstfilesrc.c:
14995         * gst/elements/gstidentity.c:
14996         * gst/elements/gsttee.c:
14997         * gst/elements/gsttypefindelement.c:
14998           Make element details static.
14999
15000 2005-09-28  Wim Taymans  <wim@fluendo.com>
15001
15002         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
15003         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
15004         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15005         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15006         (gst_bin_change_state), (gst_bin_dispose):
15007         Some documentation updates.
15008         Clean up dispose handlers.
15009
15010         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
15011         * gst/gstpad.c: (gst_pad_dispose):
15012         Clean up dispose handler.
15013
15014         * gst/gstpipeline.c: (gst_pipeline_change_state):
15015         Removed spurious UNLOCK.
15016
15017 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
15018
15019         * docs/gst/gstreamer-sections.txt:
15020         * gst/base/gstbasesrc.h:
15021         * gst/gstelement.h:
15022         * gst/gstevent.h:
15023         * gst/gstobject.h:
15024         * gst/gstpad.h:
15025         * gst/gstpipeline.c:
15026         * gst/gstpipeline.h:
15027         * gst/gstutils.h:
15028         * gst/gstxml.h:
15029           added two new functions to the docs
15030                 documents all undocumented GstXXXFlags
15031                 completed some incomplete docs 
15032
15033 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
15034
15035         * gst/gstbin.c: (gst_bin_dispose):
15036         * gst/gstelement.c: (gst_element_dispose):
15037           remove now useless and leaky resurrection code in dispose
15038         * gst/base/gstbasesrc.c: (gst_base_src_init):
15039         * gst/gstelementfactory.c: (gst_element_factory_create):
15040         * gst/gstobject.c: (gst_object_set_parent):
15041           add some debugging
15042
15043 2005-09-27  Wim Taymans  <wim@fluendo.com>
15044
15045         * docs/design/part-TODO.txt:
15046         Update TODO.
15047
15048         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
15049         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
15050         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15051         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15052         (gst_bin_change_state):
15053         * gst/gstelement.h:
15054         Remove element variable, we keep element info in the iterator now.
15055
15056 2005-09-27  Andy Wingo  <wingo@pobox.com>
15057
15058         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
15059         values.
15060
15061 2005-09-27  Wim Taymans  <wim@fluendo.com>
15062
15063         * check/gst/gstbin.c: (GST_START_TEST):
15064         Enable check that works now.
15065
15066         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
15067         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
15068         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15069         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15070         (gst_bin_change_state):
15071         * gst/gstbin.h:
15072         Redid the state change algorithm using a topological sort algo.
15073         Handles all cases correctly.
15074         Exposed iterator for state change order.
15075
15076         * gst/gstelement.h:
15077         Temp storage for state changes. Need to get rid of this soon.
15078
15079 2005-09-27  Wim Taymans  <wim@fluendo.com>
15080
15081         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
15082         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
15083         (link_fold_func), (gst_pad_proxy_setcaps):
15084         Leak fixes, the fold functions need to unref the passed object and
15085         _get_parent_*() returns ref to parent.
15086
15087 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
15088
15089         * check/gst/gstbuffer.c: (test_make_writable):
15090           Plug leak in test case and fix 'make check-valgrind'
15091
15092 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
15093
15094         * gst/gstbuffer.c: (gst_subbuffer_init):
15095           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
15096           works correctly in all circumstances (we could have just copied
15097           the parent buffer's readonly flag, but conceptually it seems
15098           cleaner to mark all subbuffers as read-only). (based on patch
15099           by Alessandro Decina, #314710).
15100         
15101         * check/gst/gstbuffer.c: (create_read_only_buffer),
15102         (test_make_writable), (test_subbuffer_make_writable),
15103         (gst_test_suite):
15104           Add some tests for gst_buffer_make_writable().
15105
15106 2005-09-27  Wim Taymans  <wim@fluendo.com>
15107
15108         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
15109         use gst_object_has_ancestor().
15110
15111         * gst/gstobject.c: (gst_object_has_ancestor):
15112         * gst/gstobject.h:
15113         gst_object_has_ancestor() copied from gstbin.c as it is a
15114         useful function.
15115
15116         * tests/instantiate/create.c: (create_all_elements):
15117         * tests/lat.c: (handoff_src), (handoff_sink):
15118         * tests/sched/runxml.c: (main):
15119         * tests/seeking/seeking1.c: (main):
15120         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
15121         (main):
15122         Fix compilation of some tests.
15123
15124 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
15125
15126         * gst/gsterror.h:
15127           Remove comment. GST_TYPE_G_ERROR is here to stay,
15128           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
15129           (#316961, #300610).
15130
15131 2005-09-26  Wim Taymans  <wim@fluendo.com>
15132
15133         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
15134         Added check that shows error in state change order.
15135
15136 2005-09-26  Wim Taymans  <wim@fluendo.com>
15137
15138         * gst/gstbin.c: (gst_bin_change_state):
15139         Make state change function use 3 queues again, we were
15140         adding elements in the wrong order.
15141
15142         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
15143         Some debug info,
15144
15145         * gst/gstpad.c: (gst_pad_dispose):
15146         Added some debug info first.
15147
15148 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
15149
15150         * docs/design/draft-push-pull.txt:
15151         * docs/design/part-events.txt:
15152         * docs/design/part-overview.txt:
15153         * docs/design/part-scheduling.txt:
15154           Replace all _pull_region() with _pull_range()
15155           
15156 2005-09-26  Andy Wingo  <wingo@pobox.com>
15157
15158         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
15159
15160         * check/gst-libs/controller.c: Update for controller api change.
15161
15162         * configure.ac: 
15163         * tests/Makefile.am:
15164         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
15165         over by GLib bug 118439.
15166         
15167         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
15168         routines to a function.
15169
15170         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
15171
15172         * libs/gst/controller/gsthelper.c:
15173         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
15174         (gst_object_sync_values): Renamed from sink_values. Ugh.
15175
15176         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
15177
15178         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
15179         Renamed from controller_key, as it is exported.
15180
15181         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
15182
15183 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
15184
15185         * gst/Makefile.am:
15186         * gst/gst.h:
15187         * gst/gstpad.h:
15188         * gst/gstpadtemplate.h:
15189         * gst/gstquery.c:
15190         * gst/gstquery.h:
15191         * gst/gstqueryutils.c:
15192         * gst/gstqueryutils.h:
15193           remove queryutils headers after moving the two used functions
15194           to gstquery.  also fixes build problem for gstsiddec
15195
15196 2005-09-26  Michael Smith <msmith@fluendo.com>
15197
15198         * tools/gst-launch.1.in:
15199         Correct documentation in manpage of debug syntax
15200
15201 2005-09-26  Wim Taymans  <wim@fluendo.com>
15202
15203         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
15204         (gst_base_src_is_seekable), (gst_base_src_change_state):
15205         Some more debugging info.
15206
15207 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
15208
15209         * docs/gst/gstreamer-sections.txt:
15210         * gst/base/gstbasetransform.h:
15211         * gst/gstindex.h:
15212           added more docs
15213
15214 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
15215
15216         * docs/gst/.cvsignore:
15217         * docs/gst/tmpl/.cvsignore:
15218         * docs/gst/tmpl/gstpipeline.sgml:
15219         * docs/gst/tmpl/gstplugin.sgml:
15220         * gst/gstpipeline.c:
15221         * gst/gstplugin.c:
15222         * gst/gstplugin.h:
15223           inlined the last two docs files
15224           removed the tmpl directory from cvs (no more conflicts here!)
15225
15226 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
15227
15228         * docs/gst/gstreamer-sections.txt:
15229         * docs/gst/tmpl/.cvsignore:
15230         * docs/gst/tmpl/gstpad.sgml:
15231         * docs/gst/tmpl/gstpadtemplate.sgml:
15232         * gst/Makefile.am:
15233         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
15234         (gst_pad_finalize), (gst_pad_set_pad_template):
15235         * gst/gstpad.h:
15236         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
15237         (gst_pad_template_class_init), (gst_pad_template_init),
15238         (gst_pad_template_dispose), (name_is_valid),
15239         (gst_static_pad_template_get), (gst_pad_template_new),
15240         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
15241         (gst_pad_template_pad_created):
15242         * gst/gstpadtemplate.h:
15243           inlined two more docs
15244           factored gstpadtemplate out of gstpad
15245
15246 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
15247
15248         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
15249         (test_children_state_change_order_semi_sink):
15250           Fix test case: we can't rely on a fixed state change order when
15251           going from READY => PAUSED because the sink might commit its 
15252           new state first when the first buffer created by the source 
15253           reaches the sink before the source has finished its change state.
15254           (Test case still fails at times, see #316856, comment 5 onwards)
15255
15256 2005-09-24  Wim Taymans  <wim@fluendo.com>
15257
15258         * docs/design/part-events.txt:
15259         * docs/design/part-gstbus.txt:
15260         * docs/design/part-gstpipeline.txt:
15261         * docs/design/part-messages.txt:
15262         * docs/design/part-overview.txt:
15263         * docs/design/part-segments.txt:
15264         * gst/gstbin.c:
15265         * gst/gstbuffer.c:
15266         * gst/gstclock.c:
15267         * gst/gstelement.c:
15268         * gst/gstevent.c:
15269         * gst/gstfilter.c:
15270         * gst/gstiterator.c:
15271         Various documentation updates.
15272
15273 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
15274
15275         * gst/gstclock.h:
15276           Well, that's embarassing.  Luckily we weren't using
15277           GST_CLOCK_DIFF anywhere.
15278
15279 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15280
15281         * common/gtk-doc.mak:
15282           don't fail on building XML, FC4 slave shows a bunch of doc
15283           missing bits that I don't get
15284         * gst/gstpad.c:
15285         * gst/gstpipeline.c:
15286         * gst/gststructure.c:
15287           some doc updates
15288
15289 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
15290
15291         * docs/design/part-gstbin.txt:
15292         * docs/design/part-gstbus.txt:
15293         * gst/gstbus.c:
15294           Add blurb about how the bus goes into flushing mode and
15295           drops all messages when its bin goes from READY into NULL 
15296           state.
15297
15298 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15299
15300         * docs/gst/gstreamer-sections.txt:
15301         * gst/gststructure.c: (gst_structure_get_clock_time):
15302         * gst/gststructure.h:
15303           add a method to get a GstClockTime out of a structure
15304
15305 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
15306
15307         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
15308         (test_children_state_change_order_semi_sink), (gst_bin_suite):
15309           Added test to check state change order in bins (can still be made
15310           to fail here under heavy disk load; bails out with 'Push on pad
15311           fakesink:sink0, but it was not activated in push mode').
15312
15313         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
15314           Fix state change order when there is only a semi sink (#316856)
15315
15316         * gst/gstbus.c: (gst_bus_class_init):
15317           Use _class_peek_parent(), not _class_ref(); fix docs to say
15318           'default main context' instead of 'mainloop' where that is
15319           what's meant.
15320
15321         * gst/gstelement.c: (gst_element_commit_state),
15322         (gst_element_set_state):
15323           Fix typos in debug messages
15324
15325 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15326
15327         * docs/README:
15328         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
15329         * gst/gstpluginfeature.c:
15330         * gst/gstutils.c:
15331           various doc updates
15332         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15333           change an assert into an error until it gets fixed properly
15334
15335 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
15336
15337         * docs/gst/gstreamer-sections.txt:
15338         * docs/gst/tmpl/.cvsignore:
15339         * docs/gst/tmpl/gstelement.sgml:
15340         * docs/gst/tmpl/gstinfo.sgml:
15341         * docs/gst/tmpl/gstobject.sgml:
15342         * gst/gstelement.c:
15343         * gst/gstelement.h:
15344         * gst/gstinfo.c:
15345         * gst/gstinfo.h:
15346         * gst/gstobject.c: (gst_object_class_init):
15347         * gst/gstobject.h:
15348           inlined 3 more biiiig doc files and added some missing docs on the fly
15349
15350 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15351
15352         * check/gst/.cvsignore:
15353         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
15354         * gst/gstregistryxml.c: (load_plugin),
15355         (gst_registry_xml_save_plugin):
15356           put back source in registry.  add checks for find_plugin.
15357         * testsuite/states/bin.c: (assert_state), (empty_bin),
15358         (test_adding_one_element), (main):
15359         * testsuite/states/locked.c: (main):
15360           some compile/run fixes
15361
15362 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15363
15364         * check/gst/gstvalue.c: (GST_START_TEST):
15365           fix leaks in the test itself
15366
15367 2005-09-22  Wim Taymans  <wim@fluendo.com>
15368
15369         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
15370         (gst_base_sink_send_event), (gst_base_sink_peer_query),
15371         (gst_base_sink_query):
15372         Prepare for more accurate position reporting and query
15373         handling.
15374
15375         * gst/gstelement.c: (gst_element_send_event),
15376         (gst_element_set_state):
15377         Add some comment.
15378
15379 2005-09-22  Wim Taymans  <wim@fluendo.com>
15380
15381         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
15382         (gst_query_parse_segment):
15383         * gst/gstquery.h:
15384         More documentation.
15385         Add segment query for future use.
15386
15387 2005-09-22  Wim Taymans  <wim@fluendo.com>
15388
15389         * gst/gstbin.c: (gst_bin_add_func):
15390         Some more debug info.
15391
15392         * gst/gstelement.c: (gst_element_send_event):
15393         Simplify send_event
15394
15395         * gst/gstelement.h:
15396         Don't know how flags got broken.
15397
15398         * gst/gstquery.h:
15399         Added new query.
15400
15401 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
15402
15403         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
15404           Add simplistic test suite for GST_TYPE_DATE serialisation and
15405           deserialisation.
15406
15407 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
15408
15409         * docs/gst/gstreamer-sections.txt:
15410         * gst/gststructure.c: (gst_structure_set_valist),
15411         (gst_structure_get_date):
15412         * gst/gststructure.h:
15413         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
15414         (gst_date_copy), (gst_value_compare_date),
15415         (gst_value_serialize_date), (gst_value_deserialize_date),
15416         (gst_value_transform_date_string),
15417         (gst_value_transform_string_date), (_gst_value_initialize):
15418         * gst/gstvalue.h:
15419           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
15420           bunch of utility functions along with a hack that checks that
15421           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
15422           is required. Part of the grand scheme in #170777.
15423
15424 2005-09-22  Andy Wingo  <wingo@pobox.com>
15425
15426         * gst/gstconfig.h.in: Psych out gtk-doc.
15427
15428         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
15429
15430         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
15431
15432         * tools/gst-inspect.c (print_element_list): Plug some
15433         inconsequential leaks.
15434
15435         * gst/gstregistry.c (gst_registry_get_default): Doc.
15436
15437         * check/gst/gstplugin.c: 
15438         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
15439         * gst/gstelementfactory.c (gst_element_factory_create): 
15440         * gst/gstindexfactory.c (gst_index_factory_create): Update for
15441         refcount changes.
15442
15443         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
15444         (gst_plugin_feature_load): Doc, don't eat refs.
15445
15446         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
15447         (gst_plugin_list_free): Doc.
15448         (gst_plugin_load_file): Doc updates.
15449
15450         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
15451         accessors returning refcounted objects, return a ref.
15452
15453         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
15454         accessor for caps. IDEMPOTENCE. Oh yes.
15455
15456 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
15457
15458         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
15459
15460         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
15461         (_gst_debug_register_funcptr):
15462           Add mutex to serialise access to the hash table with
15463           the function pointer => function name string mapping;
15464           make that hash table static scope (#316809).
15465
15466         * gst/registries/.cvsignore:
15467           Remove left-over file.
15468
15469 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
15470
15471         * docs/pwg/appendix-porting.xml:
15472           And something about newsegment events and caps-on-buffers to
15473           the porting guide (feel free to improve).
15474
15475 2005-09-21  Andy Wingo  <wingo@pobox.com>
15476
15477         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
15478         data and event probes on the same pad.
15479         (test_buffer_probe_once): Test that removing probes from within
15480         the probe functions works.
15481
15482 2005-09-21  Andy Wingo  <wingo@pobox.com>
15483
15484         * check/gst/gstutils.c: New file.
15485         (test_buffer_probe_n_times): A simple buffer probe test. More to
15486         come, foolios.
15487
15488         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
15489         have-data::buffer, not have-data.
15490         (gst_pad_add_event_probe): Likewise for have-data::event.
15491         (gst_pad_add_data_probe): More docs. The part about 'resolving the
15492         peer' isn't quite right yet though.
15493         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
15494         (gst_pad_remove_data_probe): Change to take the guint handler_id
15495         as their arg, not the function+data, which is more glib-like.
15496
15497         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
15498         the signal emission to indicate if the data is a buffer or an
15499         event.
15500         (gst_pad_get_type): Initialize buffer and event quarks.
15501         (gst_pad_class_init): have-data is now a detailed signal, yes it
15502         is.
15503
15504 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
15505
15506         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
15507         * gst/gstutils.c: (gst_util_set_value_from_string),
15508         (gst_util_set_object_arg):
15509           Don't put functional code in g_return_if_fail() or
15510           g_return_val_if_fail() statements, otherwise things will 
15511           break when G_DISABLE_CHECKS is defined during compilation.
15512
15513 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
15514
15515         * docs/gst/tmpl/.cvsignore:
15516         * docs/gst/tmpl/gstvalue.sgml:
15517         * gst/gstvalue.c:
15518         * gst/gstvalue.h:
15519           inlied another one and added  some obvious docs
15520
15521 2005-09-21  Wim Taymans  <wim@fluendo.com>
15522
15523         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
15524         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
15525         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
15526         (gst_fdsrc_get_property), (gst_fdsrc_create):
15527         * gst/elements/gstfdsrc.h:
15528         Properly implement fdsrc. Removed signal and timeout,
15529         better implemented somewhere else.
15530
15531 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
15532
15533         * docs/gst/tmpl/.cvsignore:
15534         * docs/gst/tmpl/gstimplementsinterface.sgml:
15535         * gst/gstinterface.c:
15536           inlined more docs
15537
15538 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
15539
15540         * docs/gst/gstreamer-sections.txt:
15541         * docs/gst/tmpl/.cvsignore:
15542         * docs/gst/tmpl/gstenumtypes.sgml:
15543           remove obsolete doc file
15544
15545 2005-09-21  David Schleef  <ds@schleef.org>
15546
15547         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
15548         little beer, fix a little leak.
15549
15550 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
15551
15552         * docs/gst/gstreamer-docs.sgml:
15553         * docs/gst/gstreamer-sections.txt:
15554         * docs/gst/tmpl/.cvsignore:
15555         * gst/Makefile.am:
15556         * gst/gst.h:
15557         * gst/gstbin.c:
15558         * gst/gstelement.h:
15559         * gst/gstindex.c: (gst_index_class_init):
15560         * gst/gstindex.h:
15561         * gst/gstindexfactory.c: (gst_index_factory_get_type),
15562         (gst_index_factory_class_init), (gst_index_factory_init),
15563         (gst_index_factory_finalize), (gst_index_factory_new),
15564         (gst_index_factory_destroy), (gst_index_factory_find),
15565         (gst_index_factory_create), (gst_index_factory_make):
15566         * gst/gstindexfactory.h:
15567         * gst/gstpluginfeature.c:
15568         * gst/gstpluginfeature.h:
15569         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
15570           more docs inlined, splitted gstindex.{c,h}
15571
15572 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
15573
15574         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
15575           fix a leak
15576
15577 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
15578
15579         * gst/elements/gstfilesink.c: (gst_file_sink_init):
15580           Set sync to FALSE by default.
15581
15582 2005-09-20  Wim Taymans  <wim@fluendo.com>
15583
15584         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
15585         (gst_base_sink_init):
15586         Make sync property settable from subclass.
15587
15588         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
15589         (gst_fake_sink_change_state):
15590         Set sync to FALSE by default.
15591
15592 2005-09-20  Wim Taymans  <wim@fluendo.com>
15593
15594         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
15595         * tools/gst-launch.c: (main):
15596         The timeout handler should have lower priority than the source
15597         so we don't timeout before popping a message with 0 timeout.
15598         Dump error messages after failed state change.
15599
15600 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
15601
15602         * tools/gst-inspect.c: (print_element_properties_info):
15603           Fix two typos.
15604
15605 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
15606
15607         * check/gst/gstevent.c:
15608         * gst/elements/gstfakesink.c:
15609         * gst/elements/gstfakesink.h:
15610           remove the sync property from fakesink.
15611           has the side effect of setting sync TRUE
15612           for fakesink, which is a change.  Anyone who knows how
15613           to fix this nicely in a GObject-y way, feel free.
15614
15615 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
15616
15617         * docs/gst/gstreamer-docs.sgml:
15618           remove probe refsection
15619
15620 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
15621
15622         * check/Makefile.am:
15623           disable valgrinding the controller test again
15624         * docs/gst/gstreamer-sections.txt:
15625           update for api-changes
15626
15627 2005-09-20  Wim Taymans  <wim@fluendo.com>
15628
15629         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
15630         (gst_base_sink_set_property), (gst_base_sink_get_property),
15631         (gst_base_sink_do_sync):
15632         * gst/base/gstbasesink.h:
15633         Added sync property to basesink to disable clock sync.
15634
15635 2005-09-20  Andy Wingo  <wingo@pobox.com>
15636
15637         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
15638         eating the caller's refcount.
15639
15640         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
15641         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
15642         refcount.
15643
15644         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
15645         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
15646         of GLib 2.8 public, so we can know which refcount to check in
15647         tests.
15648
15649         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
15650         (gst_object_init): Only set the gst refcount if we're going ahead
15651         with the refcount hack.
15652
15653 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
15654
15655         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
15656         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
15657           more leaks plumbed, added more debug-logging
15658         * gst/gstmacros.h:
15659           whitespace fix
15660
15661 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
15662
15663         * gst/gstmessage.c:
15664           remove include of gstmemchunk.h
15665
15666 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
15667
15668         * gst/gstclock.c: (_gst_clock_id_free):
15669           Commit from the Political Party For More Atomic CVS Commits,
15670           so that people don't waste too much of their day fishing
15671           out obvious leaks out of massive commits.
15672           Oh, and fix a pretty damn obvious leak in the memchunk
15673           removal code.
15674
15675 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
15676
15677         * check/Makefile.am:
15678         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
15679           plug mem-leak, re-add to valgrindable tests
15680
15681 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
15682
15683         * gst/gstplugin.h:
15684           unbreak the build for those who have chronic arthritis
15685           and typing "make check" is just too taxing on the hands
15686
15687 2005-09-20  Andy Wingo  <wingo@pobox.com>
15688
15689         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
15690         really want it out, you should fix plugins at the same time.
15691
15692 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
15693
15694         * configure.ac:
15695         * docs/gst/gstreamer-sections.txt:
15696         * gst/gstobject.c:
15697           added missing symbols to api docs
15698           disable ref-count hack if we have glib >= 2.8
15699
15700 2005-09-19  David Schleef  <ds@schleef.org>
15701
15702         * docs/gst/Makefile.am: Ignore a few more internal headers
15703         * docs/gst/gstreamer-docs.sgml: Remove old sections
15704         * docs/gst/gstreamer-sections.txt: Remove old sections
15705         * docs/gst/tmpl/gstobject.sgml: update
15706         * docs/gst/tmpl/gstplugin.sgml: update
15707         * docs/gst/tmpl/gstpluginfeature.sgml: update
15708         * docs/random/ds/0.9-suggested-changes: update.
15709         * gst/Makefile.am: remove memchunk and trashstack, since they're
15710           not used.
15711         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
15712         * gst/gst.h: don't include some headers
15713         * gst/gstchildproxy.c: add gstmarshal.h
15714         * gst/gstclock.c: Don't use memchunks
15715         * gst/gstminiobject.c: Add some docs
15716         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
15717         * gst/gstobject.h: same
15718         * gst/gstplugin.c: include gstmacros.h
15719         * gst/gstplugin.h: don't include gstmacros.h, since it's private
15720         * gst/gstquery.c: don't use memchunks
15721         * gst/gstregistry.c: rename gst_registry_deinit()
15722         * gst/gstregistry.h: same
15723
15724 2005-09-19  David Schleef  <ds@schleef.org>
15725
15726         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
15727         * docs/libs/gstreamer-libs-sections.txt:
15728         * docs/libs/tmpl/gstgetbits.sgml:
15729         * docs/libs/tmpl/gstputbits.sgml:
15730
15731 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
15732
15733         * win32/gstenumtypes.c:
15734         * win32/gstenumtypes.h:
15735           Update.
15736
15737 2005-09-19  Wim Taymans  <wim@fluendo.com>
15738
15739         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
15740         Automatically PAUSE and RESUME a pipeline when a flushing seek
15741         is performed.
15742
15743 2005-09-19  Andy Wingo  <wingo@pobox.com>
15744
15745         * gst/gstregistry.h: Spacing fixen.
15746
15747 2005-09-19  Wim Taymans  <wim@fluendo.com>
15748
15749         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
15750         Handle state change failure more correctly.
15751
15752 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15753
15754         * check/Makefile.am:
15755         * check/pipelines/cleanup.c: (run_pipeline):
15756         * check/pipelines/simple_launch_lines.c: (run_pipeline),
15757         (GST_START_TEST):
15758           enable cleanup again after fixing the leak
15759         * docs/README:
15760           some more info on docs
15761
15762 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15763
15764         * check/Makefile.am:
15765           re-enable tests now that leaks are plugged
15766         * check/gst/gst.c:
15767         * check/gst/gstbin.c:
15768         * check/gst/gstpipeline.c:
15769           add some more tests while fixing leaks
15770         * common/check.mak:
15771           make sure binaries are uptodate when valgrinding/gdbing
15772         * gst/gst.c:
15773         * gst/gstelementfactory.c:
15774           remove a ref too many, and add a FIXME for when we get
15775           round to disposing of classes
15776         * gst/gstplugin.c:
15777           fix the refcounting when loading a plugin from a file and
15778           the code pretends that the pointer is the same even though
15779           of course it can change
15780         * gst/gstpluginfeature.c:
15781           unref plugins marked cached (a bit confusing as a name)
15782           as the docs state should be done
15783           various doc additions to explain refcounting
15784         * gst/gstregistry.c:
15785         * gst/gstregistryxml.c:
15786           debugging
15787
15788 2005-09-19  Wim Taymans  <wim@fluendo.com>
15789
15790         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
15791         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
15792         (send_messages), (GST_START_TEST), (gstbus_suite):
15793         * check/gst/gstpipeline.c: (GST_START_TEST):
15794         * check/pipelines/cleanup.c: (run_pipeline):
15795         * check/pipelines/simple_launch_lines.c: (run_pipeline),
15796         (GST_START_TEST):
15797         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
15798         (gst_bus_source_check), (gst_bus_source_dispatch),
15799         (gst_bus_create_watch), (gst_bus_add_watch_full),
15800         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
15801         * gst/gstbus.h:
15802         * tools/gst-launch.c: (event_loop):
15803         * tools/gst-md5sum.c: (event_loop):
15804         GstBusHandler -> GstBusFunc, return value has the same meaning as
15805         any other GSource (FALSE == remove source).
15806         _add_watch() and _add_watch_full() now take a MessageType mask to
15807         only handle specific types of messages.
15808         _poll() returns the GstMessage instead of the message type to avoid
15809         race conditions.
15810         _have_pending() takes a MessageType mask now too.
15811         Added testsuite for multiple bus watches.
15812         Fix testsuites and applications for new bus API.
15813
15814 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15815
15816         * check/Makefile.am:
15817           mark a bunch of the tests as to fix until we fix them
15818
15819 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
15820
15821         * common/check.mak:
15822           use GST_PLUGIN settings for valgrind tests as well, so we're
15823           valgrinding the correct thing
15824         * gst/gst.c: (init_post):
15825           plug another leak
15826
15827 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
15828
15829         * gst/gst.c: (init_post), (gst_deinit):
15830         * gst/gstelementfactory.c: (gst_element_factory_class_init),
15831         (gst_element_factory_finalize), (gst_element_factory_cleanup):
15832         * gst/gstindex.c: (gst_index_factory_class_init),
15833         (gst_index_factory_finalize):
15834         * gst/gstobject.c: (gst_object_dispose):
15835         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
15836         (gst_plugin_load_file), (gst_plugin_desc_free):
15837         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
15838         (gst_plugin_feature_finalize):
15839         * gst/gstregistry.c: (gst_registry_class_init),
15840         (gst_registry_init), (gst_registry_finalize),
15841         (gst_registry_get_default), (gst_registry_deinit):
15842         * gst/gstregistry.h:
15843         * gst/gstregistryxml.c: (load_feature), (load_plugin):
15844           various cleanups and memleak plugging.  make valgrind is happy now.
15845
15846 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
15847
15848         * common/check.mak:
15849           add a check-valgrind target
15850
15851 2005-09-18  David Schleef  <ds@schleef.org>
15852
15853         * tools/gst-inspect.c: Revert the GOption code.
15854
15855 2005-09-17  David Schleef  <ds@schleef.org>
15856
15857         * check/Makefile.am: Fix environment variables.
15858         * check/gst/gstplugin.c: Fix for API changes.
15859         * tools/gst-inspect.c: Fix for API changes.
15860         * tools/gst-xmlinspect.c: Fix for API changes.
15861         * gst/gstelementfactory.c:
15862         * gst/gstplugin.c:
15863         * gst/gstplugin.h:
15864         * gst/gstpluginfeature.c:
15865         * gst/gstpluginfeature.h:
15866         * gst/gstregistry.c:
15867         * gst/gstregistry.h:
15868         * gst/gstregistryxml.c:
15869         * gst/gsttypefind.c:
15870         * gst/gsttypefindfactory.c:
15871         * gst/indexers/gstfileindex.c:
15872         * gst/indexers/gstmemindex.c:
15873         * gst/schedulers/Makefile.am:
15874           Change registry to keep track of both plugins and features,
15875           removing the feature tracking from plugins themselves.
15876
15877 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15878
15879         * check/Makefile.am:
15880         * tools/gst-register.1.in:
15881           remove gst-register
15882
15883 2005-09-15  David Schleef  <ds@schleef.org>
15884
15885         * check/gst/gstplugin.c:
15886         * gst/gstelementfactory.c:
15887         * gst/gstplugin.c:
15888         * gst/gstpluginfeature.c:
15889         * gst/gstregistry.c:
15890           Getting tired of debugging.  Disabled all the unreffing of
15891           plugins and features, which fixes the segfaults, but of
15892           course leaks like crazy.  At least playbin works.
15893
15894 2005-09-15  David Schleef  <ds@schleef.org>
15895
15896         * check/gst/gstplugin.c: (register_check_elements),
15897         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
15898         More testing
15899         * gst/elements/gsttypefindelement.c: Fix refcounting.
15900         * gst/gsttypefind.c:
15901         * gst/gsttypefindfactory.c:
15902         * gst/gsttypefindfactory.h:
15903
15904 2005-09-15  David Schleef  <ds@schleef.org>
15905
15906         * gst/gstindex.c: get refcounting correct.
15907         * gst/gstregistry.c: Handle the case where a feature/plugin is
15908           not found.
15909
15910 2005-09-15  David Schleef  <ds@schleef.org>
15911
15912         * check/Makefile.am:
15913         * check/gst/gstplugin.c: Add test
15914         * gst/gstplugin.c: Fix problems noticed by testsuite
15915         * gst/gstplugin.h:
15916         * gst/gstregistry.c: 
15917         * gst/gstregistry.h:
15918
15919 2005-09-15  David Schleef  <ds@schleef.org>
15920
15921         * gst/gstplugin.c: Implement semi-decent recounting and locking
15922           in plugins and plugin features.
15923         * gst/gstplugin.h:
15924         * gst/gstpluginfeature.c:
15925         * gst/gstpluginfeature.h:
15926         * gst/gstregistry.c:
15927
15928 2005-09-15  Michael Smith <msmith@fluendo.com>
15929
15930         * gst/gstregistry.c: (gst_registry_get_feature_list):
15931           Implement this. Makes oggdemux work; decodebin still broken.
15932
15933 2005-09-14  David Schleef  <ds@schleef.org>
15934
15935         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
15936           #316076)
15937         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
15938         * gst/check/Makefile.am:
15939         * libs/gst/controller/Makefile.am:
15940         * libs/gst/dataprotocol/Makefile.am:
15941
15942 2005-09-14  David Schleef  <ds@schleef.org>
15943
15944         * configure.ac: Remove getbits library.  Nothing uses it, and
15945           it should be in something like liboil if someone did want
15946           to use it.
15947         * libs/gst/Makefile.am:
15948         * libs/gst/getbits/Makefile.am:
15949         * libs/gst/getbits/gbtest.c:
15950         * libs/gst/getbits/getbits.c:
15951         * libs/gst/getbits/getbits.h:
15952         * libs/gst/getbits/gstgetbits_generic.c:
15953         * libs/gst/getbits/gstgetbits_i386.s:
15954         * libs/gst/getbits/gstgetbits_inl.h:
15955
15956 2005-09-14  David Schleef  <ds@schleef.org>
15957
15958         * gst/Makefile.am: Dist glib-compat.h
15959
15960 2005-09-14  David Schleef  <ds@schleef.org>
15961
15962         * configure.ac: Remove gst/registries, since it's no longer used.
15963         * gst/registries/Makefile.am:
15964         * gst/registries/gstlibxmlregistry.c:
15965         * gst/registries/gstlibxmlregistry.h:
15966         * gst/registries/gstxmlregistry.c:
15967         * gst/registries/gstxmlregistry.h:
15968         * gst/registries/registrytest.c:
15969
15970 2005-09-14  David Schleef  <ds@schleef.org>
15971
15972         * gst/glib-compat.h:
15973         * gst/gstregistryxml.c:
15974           Convergence is near.  Seriously.
15975
15976 2005-09-14  David Schleef  <ds@schleef.org>
15977
15978         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
15979         * gst/glib-compat.h:
15980           Attempt #4 to appease the buildbots.
15981
15982 2005-09-14  David Schleef  <ds@schleef.org>
15983
15984         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
15985           Attempt #3.
15986
15987 2005-09-14  David Schleef  <ds@schleef.org>
15988
15989         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
15990         Attempt #2.
15991
15992 2005-09-14  David Schleef  <ds@schleef.org>
15993
15994         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
15995           the new functions.
15996
15997 2005-09-14  David Schleef  <ds@schleef.org>
15998
15999         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
16000         * gst/glib-compat.h: Add some functions that are in newer versions
16001           of glib than we care to require.
16002         * gst/gstregistryxml.c: Use them.
16003
16004 2005-09-14  David Schleef  <ds@schleef.org>
16005
16006         * po/POTFILES.in: remove gst-register.c
16007
16008 2005-09-14  David Schleef  <ds@schleef.org>
16009
16010         * docs/gst/gstreamer-docs.sgml:
16011         * docs/gst/gstreamer-sections.txt:
16012         * docs/gst/gstreamer.types:
16013         * docs/gst/tmpl/gstelement.sgml:
16014         * docs/gst/tmpl/gstplugin.sgml:
16015         * docs/gst/tmpl/gstpluginfeature.sgml:
16016           Documentation updates for registry changes.
16017
16018 2005-09-14  David Schleef  <ds@schleef.org>
16019
16020         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
16021           because we don't require glib-2.8.
16022
16023 2005-09-14  David Schleef  <ds@schleef.org>
16024
16025         * gst/gstregistryxml.c: Added.  Essentially moved out of the
16026           registries directory.
16027
16028 2005-09-14  David Schleef  <ds@schleef.org>
16029
16030         * check/Makefile.am:
16031         * check/generic/states.c:
16032         * gst/Makefile.am:
16033         * gst/gst.c:
16034         * gst/gst.h:
16035         * gst/gst_private.h:
16036         * gst/gstelementfactory.c:
16037         * gst/gstindex.c:
16038         * gst/gstinfo.c:
16039         * gst/gstplugin.c:
16040         * gst/gstplugin.h:
16041         * gst/gstpluginfeature.c:
16042         * gst/gstpluginfeature.h:
16043         * gst/gstregistry.c:
16044         * gst/gstregistry.h:
16045         * gst/gstregistrypool.c: remove
16046         * gst/gstregistrypool.h: remove
16047         * gst/gsttypefind.c:
16048         * gst/gsttypefindfactory.c:
16049         * gst/gsturi.c:
16050         * tools/Makefile.am:
16051         * tools/gst-compprep.c:
16052         * tools/gst-inspect.c:
16053         * tools/gst-register.c: remove
16054         * tools/gst-xmlinspect.c:
16055           Registry rewrite.  Changes registry from being a file created
16056           by a tool into a simple cache file created automatically by 
16057           libgstreamer.  Removed gst-register (because it's no longer
16058           needed).  Remove registry pools, because we only have one
16059           registry implementation (XML).  Fix up other subsystems as
16060           necessary.
16061
16062 2005-09-13  Michael Smith <msmith@fluendo.com>
16063
16064         * gst/gstconfig.h.in:
16065           Don't Use windows linking attributes for MinGW. Fixes #316157
16066
16067 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
16068
16069         * gst/gstutils.c: (set_state_async_thread_func),
16070         (gst_element_set_state_async):
16071           Apparently people think it's better if this function doesn't
16072           try to set the state to whatever state was asked for on the first
16073           call to this function for any object.  Seriously.
16074
16075 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16076
16077         * check/gst/gstpipeline.c: (GST_START_TEST):
16078         * docs/gst/gstreamer-sections.txt:
16079         * gst/gstutils.c: (set_state_async_thread_func),
16080         (gst_element_set_state_async):
16081         * gst/gstutils.h:
16082           add a "gst_element_set_state_async" method that
16083           sets the state and starts a thread to make sure the state
16084           change completes as best as it can
16085
16086 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16087
16088         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
16089           codify design+behaviour in testsuite after discussion
16090
16091 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16092
16093         * docs/gst/tmpl/gstelement.sgml:
16094         * docs/manual/appendix-quotes.xml:
16095           add a quote
16096         * gst/gstelement.c: (gst_element_set_state):
16097           add some debug
16098
16099 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
16100
16101         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
16102         (gst_base_transform_prepare_output_buf),
16103         (gst_base_transform_handle_buffer):
16104         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
16105         (gst_capsfilter_prepare_buf):
16106           Remove the requirement for sub-classes to call the parent
16107           implementation of prepare_output_buffer with a wrapper function.
16108           
16109         * gst/gsttaglist.h:
16110         * gst/gsttagsetter.h:
16111           Fix #define wrapper
16112
16113 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
16114
16115         * docs/gst/gstreamer-sections.txt:
16116           more doc cleanups
16117
16118 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16119
16120         * docs/gst/gstreamer-sections.txt:
16121         * docs/gst/tmpl/gstelement.sgml:
16122         * docs/gst/tmpl/gstplugin.sgml:
16123         * gst/gstminiobject.c:
16124         * gst/gstvalue.h:
16125           docs now stop throwing warnings
16126
16127 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16128
16129         * docs/gst/gstreamer-sections.txt:
16130         * docs/gst/gstreamer.types:
16131         * docs/gst/tmpl/gstpad.sgml:
16132         * docs/gst/tmpl/gsttypes.sgml:
16133         * gst/base/gstadapter.h:
16134         * gst/base/gstbasesink.h:
16135         * gst/base/gstbasesrc.h:
16136         * gst/gstbin.h:
16137         * gst/gstbuffer.h:
16138         * gst/gstbus.h:
16139         * gst/gstcaps.h:
16140         * gst/gstclock.h:
16141         * gst/gstelement.h:
16142         * gst/gstevent.h:
16143         * gst/gstmessage.h:
16144         * gst/gstpad.h:
16145         * gst/gststructure.c:
16146         * gst/registries/gstlibxmlregistry.h:
16147           various documentation fixes
16148
16149 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16150
16151         * docs/gst/gstreamer-sections.txt:
16152         * docs/gst/tmpl/gstvalue.sgml:
16153           rearrange gstvalue section
16154         * gst/gstutils.c: (gst_element_state_get_name):
16155           NONE -> VOID
16156         * gst/gstvalue.c: (_gst_value_initialize):
16157         * gst/gstvalue.h:
16158           doc updates
16159
16160 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
16161
16162         * check/gst-libs/controller.c:
16163           Header include fix.
16164         * gst/base/gstbasetransform.c:
16165         (gst_base_transform_default_prepare_buf),
16166         (gst_base_transform_handle_buffer):
16167         * gst/base/gstbasetransform.h:
16168           Some more basetransform changes and fixes to enable sub-classes
16169           that modify buffer metadata only.
16170         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
16171         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
16172         (gst_capsfilter_prepare_buf):
16173           If the output pad has fixed allowed caps and input buffers 
16174           don't have any, set the fixed caps on outgoing buffers.
16175
16176 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
16177         * check/elements/identity.c: (GST_START_TEST):
16178           Make the error a little clearer when the test fails because
16179           identity made a copy of the buffer.
16180         * docs/gst/gstreamer-sections.txt:
16181           New symbols in gstbasetransform.h
16182         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
16183         (gst_base_transform_init), (gst_base_transform_transform_size),
16184         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
16185         (gst_base_transform_default_prepare_buf),
16186         (gst_base_transform_get_unit_size),
16187         (gst_base_transform_buffer_alloc),
16188         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
16189         (gst_base_transform_change_state),
16190         (gst_base_transform_set_passthrough),
16191         (gst_base_transform_set_in_place),
16192         (gst_base_transform_is_in_place):
16193         * gst/base/gstbasetransform.h:
16194           Change BaseTransform to separate in_place operate from same_caps
16195           output. in_place implies that the element can perform the transform
16196           on incoming buffers in-place, even if the caps on the output are
16197           different.
16198           Sub-class elements can now implement special buffer allocation
16199           methods for outgoing buffers if they wish to.
16200           Big documentation addition.
16201         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
16202         * gst/elements/gstelements.c:
16203           Changes for basetransform modifications.
16204         * gst/elements/Makefile.am:
16205         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
16206           Compile fix. Extra debug output.
16207
16208 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16209
16210         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
16211         (gst_pad_suite):
16212           add tests for valid pad naming
16213         * gst/check/gstcheck.c: (gst_check_log_message_func),
16214         (gst_check_log_critical_func):
16215           add ASSERT_WARNING
16216           remove printing of code, it is fragile when the code contains
16217           % and the line number is enough info
16218         * gst/check/gstcheck.h:
16219         * gst/gstpad.c: (gst_pad_template_new):
16220           fix memleaks
16221
16222 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16223
16224         * configure.ac:
16225           say what CHECK flags we use
16226         * docs/libs/gstreamer-libs.types:
16227         * libs/gst/controller/Makefile.am:
16228         * libs/gst/controller/gst-controller.c:
16229         * libs/gst/controller/gst-controller.h:
16230         * libs/gst/controller/gst-helper.c:
16231         * libs/gst/controller/gst-interpolation.c:
16232         * libs/gst/controller/gstcontroller.c:
16233         * libs/gst/controller/gsthelper.c:
16234         * libs/gst/controller/gstinterpolation.c:
16235         * tools/gst-inspect.c: (print_plugin_info):
16236           we don't use dashes in header names
16237
16238 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16239
16240         * check/Makefile.am:
16241         * check/gst/.cvsignore:
16242         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
16243         (gst_pipeline_suite), (main):
16244           adding a test for pipelines and state changes
16245         * gst/gstutils.c: (get_state_func):
16246           add some debugging
16247         * gstreamer.spec.in:
16248           fix up spec file
16249
16250 2005-09-08  Michael Smith <msmith@fluendo.com>
16251
16252         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
16253         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
16254         (gst_file_src_is_seekable), (gst_file_src_get_size),
16255         (gst_file_src_start):
16256         * gst/elements/gstfilesrc.h:
16257           Various fixes for unseekable, unmmapable, and non-normal files, so
16258           that fallback to read() rather than mmap() works.
16259         * gst/gstevent.c: (gst_event_new_newsegment):
16260           Allow newsegment events with segment_start == segment_end, as will
16261           correctly happen if you use filesrc on a zero-size file, for
16262           example.
16263
16264 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
16265
16266         * gst/gstplugin.c: (gst_plugin_load_file):
16267           Call g_module_close when we don't load the module
16268
16269         * gst/registries/gstlibxmlregistry.c:
16270         (gst_xml_registry_get_property):
16271           Port leak fix from 0.8
16272
16273 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
16274
16275         * docs/gst/gstreamer-docs.sgml:
16276         * docs/gst/tmpl/.cvsignore:
16277         * docs/gst/tmpl/gsttrace.sgml:
16278         * docs/gst/tmpl/gsttrashstack.sgml:
16279         * gst/Makefile.am:
16280         * gst/gst.h:
16281         * gst/gstelement.h:
16282         * gst/gstevent.h:
16283         * gst/gstmessage.c:
16284         * gst/gstmessage.h:
16285         * gst/gsttag.c:
16286         * gst/gsttag.h:
16287         * gst/gsttaginterface.c:
16288         * gst/gsttaginterface.h:
16289         * gst/gsttaglist.c:
16290         * gst/gsttaglist.h:
16291         * gst/gsttagsetter.c:
16292         * gst/gsttagsetter.h:
16293         * gst/gsttrace.c:
16294         * gst/gsttrace.h:
16295         * gst/gsttrashstack.c:
16296           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
16297           inlined docs for gsttrace, gsttrashstack
16298
16299 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
16300
16301         * gst/Makefile.am:
16302         * gst/elements/gstbufferstore.h:
16303         * gst/elements/gsttypefindelement.c:
16304         * gst/elements/gsttypefindelement.h:
16305         * gst/gst.h:
16306         * gst/gsttypefind.c:
16307         * gst/gsttypefind.h:
16308         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
16309         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
16310         (gst_type_find_factory_dispose),
16311         (gst_type_find_factory_unload_thyself),
16312         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
16313         (gst_type_find_factory_get_caps),
16314         (gst_type_find_factory_get_extensions),
16315         (gst_type_find_factory_call_function):
16316         * gst/gsttypefindfactory.h:
16317         * gst/registries/gstlibxmlregistry.c:
16318         * gst/registries/gstxmlregistry.c:
16319           splitted gsttypefind into gsttypefind, gsttypefindfactory
16320
16321 2005-09-07  Andy Wingo  <wingo@pobox.com>
16322
16323         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
16324         condition whereby the pad's task function is entered before the
16325         pad_mode variable was set.
16326
16327 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
16328
16329         * gst/gstpad.c: (gst_pad_alloc_buffer):
16330           Catch misbehaving pad_alloc functions that don't
16331           set up caps and do it for them.
16332
16333 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
16334
16335         * check/pipelines/simple_launch_lines.c: (run_pipeline):
16336           test for pipe!=NULL
16337         * docs/gst/tmpl/.cvsignore:
16338         * docs/gst/tmpl/gstmemchunk.sgml:
16339         * docs/gst/tmpl/gstparse.sgml:
16340         * docs/gst/tmpl/gsttaglist.sgml:
16341         * docs/gst/tmpl/gsttagsetter.sgml:
16342         * docs/gst/tmpl/gsttypefind.sgml:
16343         * docs/gst/tmpl/gsttypefindfactory.sgml:
16344         * gst/gstmemchunk.c:
16345         * gst/gstparse.c:
16346         * gst/gsttag.c:
16347         * gst/gsttaginterface.c:
16348         * gst/gsttypefind.c:
16349         * gst/gsttypefind.h:
16350           inlined more docs
16351
16352 === release 0.9.2 ===
16353
16354 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
16355
16356         * NEWS:
16357         * RELEASE:
16358         * configure.ac:
16359           releasing 0.9.2, "South"
16360
16361 2005-09-05  Andy Wingo  <wingo@pobox.com>
16362
16363         * gst/registries/gstxmlregistry.h:
16364         * gst/registries/gstxmlregistry.c: Um... resurrect...
16365         
16366         * gst/registries/gstxmlregistry.h:
16367         * gst/registries/gstxmlregistry.c: and update to newer API.
16368         Incidentally they should be a bit faster now that they don't have
16369         to parse the caps.
16370         
16371 2005-09-05  Andy Wingo  <wingo@pobox.com>
16372
16373         * gst/registries/gstxmlregistry.h:
16374         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
16375         replaced by the libxml registry a while back
16376
16377 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
16378
16379         * docs/gst/tmpl/gstplugin.sgml:
16380         * gst/elements/gstelements.c:
16381         * gst/gst.c:
16382         * gst/gstplugin.c: (gst_plugin_register_func),
16383         (gst_plugin_desc_copy), (gst_plugin_desc_free),
16384         (gst_plugin_get_source):
16385         * gst/gstplugin.h:
16386         * gst/registries/gstlibxmlregistry.c: (load_plugin),
16387         (gst_xml_registry_save_plugin):
16388         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
16389         (gst_xml_registry_save_plugin):
16390         * tools/gst-inspect.c: (print_plugin_info):
16391           add a "source" plugin description field, to represent the source
16392           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
16393           will set it to PACKAGE, which is automake's idea of the name of
16394           the source project.
16395
16396 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
16397
16398         * Makefile.am:
16399         * autogen.sh:
16400         * configure.ac:
16401         * docs/Makefile.am:
16402         * docs/faq/Makefile.am:
16403         * docs/gst/tmpl/gstelement.sgml:
16404         * docs/gst/tmpl/gsttypes.sgml:
16405         * docs/htmlinstall.mak:
16406         * docs/manual/Makefile.am:
16407         * docs/pwg/Makefile.am:
16408           reorganize doc build a little
16409           split out docbook and gtk-doc stuff
16410           have two separate --enable's and enable them through autogen
16411           but disable by default in configure (to be similar to other
16412           projects)
16413         * gstreamer.spec.in:
16414           clean up docs install
16415         * po/af.po:
16416         * po/az.po:
16417         * po/ca.po:
16418         * po/cs.po:
16419         * po/de.po:
16420         * po/en_GB.po:
16421         * po/fr.po:
16422         * po/it.po:
16423         * po/nb.po:
16424         * po/nl.po:
16425         * po/ru.po:
16426         * po/sq.po:
16427         * po/sr.po:
16428         * po/sv.po:
16429         * po/tr.po:
16430         * po/uk.po:
16431         * po/vi.po:
16432           translation updates
16433
16434 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
16435
16436         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
16437           Add comment.
16438           
16439         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
16440         (gst_fake_sink_change_state):
16441           Make state change function thread-safe.
16442           
16443         * gst/gstpad.c: (gst_pad_alloc_buffer):
16444           Set offset on generic buffer allocated by fallback.
16445
16446 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
16447
16448         * docs/gst/gstreamer-sections.txt:
16449         * docs/gst/tmpl/gstelement.sgml:
16450         * gst/gstpad.c:
16451         * libs/gst/controller/gst-controller.c:
16452         (gst_controlled_property_set_interpolation_mode),
16453         (gst_controlled_property_new),
16454         (gst_controller_find_controlled_property):
16455          run the wingo-magic script against the docs
16456
16457 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
16458
16459         * docs/gst/gstreamer-docs.sgml:
16460         * docs/gst/gstreamer-sections.txt:
16461         * docs/gst/tmpl/.cvsignore:
16462         * docs/gst/tmpl/gstelementdetails.sgml:
16463         * docs/gst/tmpl/gstelementfactory.sgml:
16464         * gst/gst.c:
16465         * gst/gstbus.c:
16466         * gst/gstelementfactory.c:
16467         * gst/gstelementfactory.h:
16468           merged elementdetails docs into elementfactory docs
16469           inlined both
16470
16471 2005-09-02  Andy Wingo  <wingo@pobox.com>
16472
16473         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
16474         consider this enum an enum and not a flags.
16475
16476 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
16477
16478         * docs/gst/gstreamer-docs.sgml:
16479         * docs/gst/tmpl/.cvsignore:
16480         * docs/gst/tmpl/gstghostpad.sgml:
16481         * docs/gst/tmpl/gstiterator.sgml:
16482         * docs/gst/tmpl/gstmacros.sgml:
16483         * docs/gst/tmpl/gstrealpad.sgml:
16484         * docs/gst/tmpl/gstregistry.sgml:
16485         * docs/gst/tmpl/gstregistrypool.sgml:
16486         * docs/gst/tmpl/gststructure.sgml:
16487         * docs/gst/tmpl/gstsystemclock.sgml:
16488         * docs/gst/tmpl/gsttrace.sgml:
16489         * gst/gstghostpad.c:
16490         * gst/gstmacros.h:
16491         * gst/gstmemchunk.c:
16492         * gst/gstmemchunk.h:
16493         * gst/gstqueue.c:
16494         * gst/gstregistry.c:
16495         * gst/gstregistrypool.c:
16496         * gst/gststructure.c:
16497         * gst/gstsystemclock.c:
16498           more docs inlined
16499
16500 2005-09-02  Andy Wingo  <wingo@pobox.com>
16501
16502         * gst/gstelement.h (GstState): Renamed from GstElementState,
16503         changed to be a normal enum instead of flags.
16504         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
16505         munged to be GST_STATE_CHANGE_*.
16506         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
16507         work with the new state representation.
16508         (GstStateChange): New enumeration of possible state transitions.
16509         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
16510         (GstElementClass::change_state): Pass the GstStateChange along as
16511         an argument. Helps language bindings, so they don't have to use
16512         tricky lock-needing macros like GST_STATE_CHANGE ().
16513
16514         * scripts/update-states (file): New script. Run it on a file to
16515         update it for state naming and API changes. Updates files in
16516         place.
16517
16518         * All files updated for the new API.
16519
16520 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16521
16522         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
16523         * gst/gstutils.c: (gst_util_set_value_from_string),
16524         (gst_util_set_object_arg):
16525           fix a bunch of unchecked return values
16526         * tools/gst-complete.c: (main):
16527         * gstreamer.spec.in:
16528           clean up a little
16529
16530 2005-09-01  Wim Taymans  <wim@fluendo.com>
16531
16532         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16533         (gst_base_sink_event), (gst_base_sink_do_sync),
16534         (gst_base_sink_handle_event):
16535         * gst/base/gstbasesink.h:
16536         Handle newsegments more correctly.
16537
16538         * gst/gstbus.c:
16539         Fix docs.
16540
16541         * gst/gstevent.c: (gst_event_new_newsegment):
16542         A newsegment cannot have a start_time of -1
16543
16544 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
16545
16546         * win32/gstenumtypes.c:
16547         * win32/gstenumtypes.h:
16548           Update
16549
16550 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
16551
16552         * libs/gst/controller/gst-controller.c:
16553         (gst_controlled_property_set_interpolation_mode),
16554         (gst_controlled_property_new):
16555          fixed boolean again
16556
16557 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
16558
16559         * docs/faq/gst-uninstalled:
16560           add -good
16561         * gst/gstevent.c:
16562         * gst/gstevent.h:
16563           remove wrong docs
16564         * gst/gstutils.c: (gst_element_link_filtered):
16565         * gst/gstutils.h:
16566           add gst_element_link_filtered
16567
16568 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
16569
16570         * docs/gst/gstreamer-docs.sgml:
16571         * docs/gst/gstreamer-sections.txt:
16572         * docs/gst/tmpl/.cvsignore:
16573         * docs/gst/tmpl/gsterror.sgml:
16574         * docs/gst/tmpl/gstfilter.sgml:
16575         * docs/gst/tmpl/gsturihandler.sgml:
16576         * docs/gst/tmpl/gsturitype.sgml:
16577         * docs/gst/tmpl/gstutils.sgml:
16578         * docs/gst/tmpl/gstxml.sgml:
16579         * gst/gsterror.c:
16580         * gst/gsterror.h:
16581         * gst/gstfilter.c:
16582         * gst/gsturi.c:
16583         * gst/gsturitype.c:
16584         * gst/gstutils.c:
16585         * gst/gstxml.c:
16586           inlined more docs, fixed double id-ref
16587
16588 2005-08-31  Wim Taymans  <wim@fluendo.com>
16589
16590         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
16591         (gst_base_transform_handle_buffer):
16592         Passthrough elements don't need the caps as they don't care.
16593
16594 2005-08-31  Wim Taymans  <wim@fluendo.com>
16595
16596         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
16597         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
16598         Don't leak refcounts on buffers.
16599
16600 2005-08-31  Wim Taymans  <wim@fluendo.com>
16601
16602         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
16603         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
16604         (gst_base_transform_chain), (gst_base_transform_change_state):
16605         * gst/base/gstbasetransform.h:
16606         Handle the case where we are not negotiated more gracefully.
16607
16608 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
16609
16610         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
16611         (gst_file_src_map_region):
16612           Set READONLY flag on mmap'ed buffers, otherwise
16613           gst_buffer_make_writable() won't work properly (#314708).
16614
16615 2005-08-31  Wim Taymans  <wim@fluendo.com>
16616
16617         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
16618         passthrough elements can even do inplace on non writable
16619         buffers (as they don't touch them).
16620
16621 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
16622
16623         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
16624         (gst_test_mono_source_set_property),
16625         (gst_test_mono_source_class_init), (GST_START_TEST),
16626         (gst_controller_suite):
16627           more tests (hehe I have the most)
16628         * gst/gstbus.c:
16629           describe popping messages whenusing mulltiple sources
16630         * libs/gst/controller/gst-controller.c:
16631         (gst_controlled_property_set_interpolation_mode),
16632         (gst_controlled_property_new):
16633         * libs/gst/controller/gst-controller.h:
16634         * libs/gst/controller/gst-interpolation.c:
16635           implement boolean properties
16636
16637 2005-08-31  Wim Taymans  <wim@fluendo.com>
16638
16639         * gst/gstminiobject.c: (gst_mini_object_ref):
16640         Cannot assert that the refcount has to be positive
16641         since a disposed object can be resurrected.
16642
16643 2005-08-31  Wim Taymans  <wim@fluendo.com>
16644
16645         * gst/gstpad.c: (gst_pad_init):
16646         Revert change, need to first fix badly behaving 
16647         apps.
16648
16649 2005-08-30  Wim Taymans  <wim@fluendo.com>
16650
16651         * check/elements/fakesrc.c: (setup_fakesrc):
16652         * check/elements/identity.c: (setup_identity):
16653         Activate pads before using them.
16654
16655 2005-08-30  Wim Taymans  <wim@fluendo.com>
16656
16657         * gst/base/gstadapter.c: (gst_adapter_flush):
16658         Flushing out 0 bytes is ok for this function.
16659
16660         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16661         no newsegment gives a warning and sets the start/stop to 
16662         invalid.
16663
16664         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
16665         (gst_base_transform_set_passthrough):
16666         Some debug info.
16667
16668         * gst/gstminiobject.c: (gst_mini_object_ref):
16669         Check refcount here too.
16670
16671         * gst/gstpad.c: (gst_pad_init):
16672         Pads are initially flushing and refusing data.
16673
16674         * gst/gstutils.c: (gst_element_link_pads_filtered):
16675         When adding a capsfilter element make sure it has the
16676         same state as the parent bin.
16677
16678 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
16679
16680         * docs/gst/tmpl/.cvsignore:
16681         * docs/gst/tmpl/gstformat.sgml:
16682         * docs/gst/tmpl/gstversion.sgml:
16683         * gst/gstbus.h:
16684         * gst/gstformat.c:
16685         * gst/gstformat.h:
16686         * gst/gstversion.h.in:
16687           more docs and two more inlined
16688
16689 2005-08-30  Wim Taymans  <wim@fluendo.com>
16690
16691         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
16692         Don't sync to clock.
16693
16694 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
16695
16696         * docs/gst/gstreamer-sections.txt:
16697           ultral33t func10ns deserve to appear in the docs actually
16698         * docs/gst/tmpl/.cvsignore:
16699         * docs/gst/tmpl/gstcompat.sgml:
16700         * docs/gst/tmpl/gstconfig.sgml:
16701         * gst/check/gstcheck.c:
16702         * gst/gstcompat.h:
16703         * gst/gstconfig.h.in:
16704           inlined more docs
16705
16706 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
16707
16708         * docs/gst/tmpl/.cvsignore:
16709         * docs/gst/tmpl/gstquery.sgml:
16710         * docs/gst/tmpl/gstutils.sgml:
16711         * gst/gstquery.c:
16712         * gst/gstquery.h:
16713           inlined and extended docs
16714
16715 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
16716
16717         * check/gst-libs/controller.c: (GST_START_TEST),
16718         (gst_controller_suite):
16719           more tests
16720         * docs/gst/tmpl/gstutils.sgml:
16721         * docs/libs/gstreamer-libs-sections.txt:
16722         * docs/libs/tmpl/gstdataprotocol.sgml:
16723           include path fixes
16724         * examples/controller/audio-example.c: (main):
16725           controller example works now
16726         * gst/gstclock.h:
16727           doc fixes
16728         * tools/gst-inspect.c: (print_element_properties_info):
16729           show param spec flags
16730
16731 2005-08-29  Andy Wingo  <wingo@pobox.com>
16732
16733         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
16734
16735 2005-08-28  Andy Wingo  <wingo@pobox.com>
16736
16737         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
16738         as having two arguments instead of just one. Allows superclasses
16739         to access information on subclasses -- see the terrible for() loop
16740         in gtype.c:g_type_create_instance for the reason why. All callers
16741         changed.
16742
16743 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
16744
16745         * docs/design/part-messages.txt:
16746           update info
16747         * docs/gst/tmpl/.cvsignore:
16748         * docs/gst/tmpl/gstcaps.sgml:
16749         * docs/gst/tmpl/gstclock.sgml:
16750         * gst/gstbus.c:
16751         * gst/gstcaps.c:
16752         * gst/gstcaps.h:
16753         * gst/gstclock.c:
16754         * gst/gstclock.h:
16755         * gst/gstmessage.c:
16756           added descriptions for bus and message
16757           inline caps and clock docs
16758
16759 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
16760
16761         * gst/gstmessage.c:
16762         * gst/gstmessage.h:
16763           doc fixes
16764
16765 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
16766
16767         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
16768           fix div-by-zero
16769
16770 2005-08-26  Andy Wingo  <wingo@pobox.com>
16771
16772         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
16773         element_set_state's return val.
16774         (test_2_elements): Add test that's been disabled for months.
16775
16776         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
16777         can-activate-pull properties.
16778
16779         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
16780         can-activate-pull properties. Implement is_seekable so fakesrc can
16781         operate in pull mode.
16782
16783         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
16784         properties.
16785         (gst_base_sink_activate, gst_base_sink_activate_pull)
16786         (gst_base_sink_activate_push): Make activation mode choosing work.
16787         Cleanups.
16788         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
16789         is right. Make pull mode work. Post an eos before pausing in pull
16790         mode.
16791         (gst_base_sink_change_state): Pay attention to the core's
16792         change_state() return val.
16793         
16794         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
16795         has-getrange properties. Cleanups.
16796         
16797         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
16798         has_getrange and replace with can_activate_pull and
16799         can_activate_push.
16800
16801         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
16802         locking comments. Remove has_loop, has_chain and replace with
16803         can_activate_pull and can_activate_push.
16804
16805 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
16806
16807         * configure.ac:
16808         * examples/Makefile.am:
16809         * examples/metadata/Makefile.am:
16810         * examples/metadata/read-metadata.c: (message_loop),
16811         (have_pad_handler), (make_pipeline), (print_tag), (main):
16812           Add metadata reading example that loops over a list of filenames,
16813           dumping any tags found.
16814
16815         * gst/gstbus.c: (gst_bus_dispose):
16816         * gst/gstelement.c: (gst_element_dispose):
16817           Release a few potentially-held references in dispose.
16818
16819 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
16820
16821         * docs/gst/tmpl/gstminiobject.sgml:
16822           do *not* add tmpl/*.sgml files to CVS!
16823
16824 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
16825
16826         * libs/gst/bytestream/.cvsignore:
16827         * libs/gst/bytestream/Makefile.am:
16828         * libs/gst/bytestream/adapter.c:
16829         * libs/gst/bytestream/adapter.h:
16830         * libs/gst/bytestream/bytestream.c:
16831         * libs/gst/bytestream/bytestream.h:
16832         * libs/gst/bytestream/filepad.c:
16833         * libs/gst/bytestream/filepad.h:
16834           removing obsolete files
16835
16836 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
16837
16838         * docs/gst/gstreamer-docs.sgml:
16839         * docs/libs/gstreamer-libs-docs.sgml:
16840           disabed additional index entries again, as this makes docs-gen just
16841           slow and they aren't useful yet
16842         * docs/libs/gstreamer-libs-sections.txt:
16843           little -section.txt cleanup for libs
16844
16845 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
16846
16847         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16848         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
16849           fix up some debugging
16850         (gst_base_transform_get_unit_size),
16851         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
16852         (gst_base_transform_handle_buffer):
16853         * gst/base/gstbasetransform.h:
16854           handle and store timed NEWSEGMENT events so that subclasses that
16855           calculate time by counting samples have a segment_start time they
16856           need to add to their timestamps - see audioresample
16857
16858 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
16859
16860         * gst/gstbin.h:
16861           removed ';' from the end of macro defs
16862         * docs/gst/gstreamer-docs.sgml:
16863         * docs/gst/gstreamer-sections.txt:
16864         * docs/gst/tmpl/.cvsignore:
16865         * gst/gstbus.h:
16866         * gst/gstelement.c: (gst_element_class_init),
16867         (gst_element_set_state), (activate_pads),
16868         (gst_element_save_thyself):
16869         * gst/gstevent.c: (gst_event_new_newsegment):
16870         * gst/gstevent.h:
16871         * gst/gstiterator.c:
16872         * gst/gstiterator.h:
16873         * gst/gstpad.c:
16874         * gst/gstprobe.h:
16875         * gst/gstutils.c: (gst_pad_query_convert):
16876         * gst/gstutils.h:
16877           fixed parameter name mismatches between source, header and docs
16878           added some more docs, resolved the last batch of unused elements in
16879           docs (now someone needs to doc them)
16880
16881 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
16882
16883         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
16884         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
16885           don't walk through the plugins backwards.  Where is all this
16886           reversed logic coming from ?
16887
16888 2005-08-25  Wim Taymans  <wim@fluendo.com>
16889
16890         * gst/base/gstbasetransform.c: (gst_base_transform_init),
16891         (gst_base_transform_transform_size),
16892         (gst_base_transform_configure_caps),
16893         (gst_base_transform_get_unit_size),
16894         (gst_base_transform_buffer_alloc),
16895         (gst_base_transform_change_state):
16896         * gst/base/gstbasetransform.h:
16897         Cache caps unit_size.
16898         Make sure we cannot negotiate up and downstream at the
16899         same time.
16900
16901 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
16902
16903         * gst/gst.c: (init_pre), (init_post):
16904           register the installed plugin path after the env var
16905         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
16906         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
16907           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
16908           directories, so the tests can prefer uninstalled over installed
16909
16910 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
16911
16912         * gst/base/gstbasetransform.h:
16913           comment
16914         * gst/gstpad.c:
16915           add to docs
16916
16917 2005-08-25  Wim Taymans  <wim@fluendo.com>
16918
16919         * gst/gstbin.c: (bin_bus_handler):
16920         Be a bit more conservative about the posted message.
16921         
16922         * gst/gstbus.c: (gst_bus_post):
16923         Some cleanups, warn wrong return values.
16924
16925 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
16926
16927         * check/gst/gstbin.c: (GST_START_TEST):
16928         * gst/gstbin.c: (bin_bus_handler):
16929         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
16930         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
16931         (gst_message_new_warning), (gst_message_new_tag),
16932         (gst_message_new_state_changed), (gst_message_new_segment_start),
16933         (gst_message_new_segment_done), (gst_message_new_custom):
16934         * gst/gstmessage.h:
16935         * tools/gst-launch.c: (event_loop):
16936         * tools/gst-md5sum.c: (event_loop):
16937           Revert unpopular change for GST_MESSAGE_SRC to GObject.
16938
16939 2005-08-25  Wim Taymans  <wim@fluendo.com>
16940
16941         * check/generic/states.c: (GST_START_TEST):
16942         Cleanup can be done at the end.
16943
16944         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
16945         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
16946         (gst_task_get_state), (gst_task_start), (gst_task_pause):
16947         Oh boy.. Thanks for finding this, Thomas. 
16948
16949 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
16950
16951         * docs/gst/gstreamer.types:
16952           added missing types
16953
16954 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
16955
16956         * docs/gst/gstreamer-docs.sgml:
16957         * docs/gst/gstreamer-sections.txt:
16958         * docs/gst/tmpl/.cvsignore:
16959         * gst/gstbin.c:
16960         * gst/gstiterator.c:
16961         * gst/gstutils.c:
16962         * gst/registries/gstxmlregistry.h:
16963           added missing classes and symbols (123 more to go)
16964           removed removed symbols from section file
16965           fixed many doc-comments
16966
16967 2005-08-24  Wim Taymans  <wim@fluendo.com>
16968
16969         * check/generic/states.c: (GST_START_TEST):
16970         Make sure all tasks are stopped.
16971
16972         * check/gst/gstbin.c: (GST_START_TEST):
16973         Unref after usage for proper valgrinding.
16974
16975         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
16976         Really wait for the task to stop before destroying the
16977         mutex.
16978
16979         * gst/gstqueue.c: (gst_queue_sink_activate_push),
16980         (gst_queue_src_activate_push):
16981         Small cleanups. Don't stop the task when we did not start
16982         it.
16983
16984         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
16985         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
16986         (gst_task_get_state), (gst_task_start), (gst_task_pause),
16987         (gst_task_join):
16988         * gst/gsttask.h:
16989         Protect the stream lock with the object lock.
16990         Disallow setting the stream lock when running.
16991         Add cleanup_all to wait for the threadpool to finish.
16992         Remove code to autoallocate a mutex if none was provided.
16993         Add _join() to wait for a task to stop.
16994         Protect the thread pool with a global lock.
16995
16996 2005-08-24  Wim Taymans  <wim@fluendo.com>
16997
16998         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16999         (gst_base_sink_get_times), (gst_base_sink_do_sync),
17000         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
17001         * gst/base/gstbasesink.h:
17002         Handle newsegment events correctly.
17003         Drop buffers out of the segment range.
17004
17005 2005-08-22  Andy Wingo  <wingo@pobox.com>
17006
17007         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
17008         macro, implements an interface and gstimplementsinterface for a
17009         new type.
17010
17011 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
17012
17013         * check/Makefile.am:
17014         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
17015           add a test that does a bunch of state changes on elements
17016           needs some fixing for valgrind
17017         * check/states/sinks.c: (gst_object_suite):
17018           whitespace
17019         * gst/gstcaps.h:
17020           add prototype for gst_caps_is_equal_fixed
17021         * gst/gstplugin.c:
17022         * gst/gstregistrypool.c:
17023           doc fixes
17024
17025 2005-08-24  Andy Wingo  <wingo@pobox.com>
17026
17027         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
17028         convert a negative value. Doesn't make much sense. Mostly this is
17029         here to force callers to ensure -1 maps to -1.
17030
17031 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
17032
17033         * docs/pwg/advanced-types.xml:
17034           Well done to Michael for catching my deliberate introduction
17035           of this spelling mistake. 
17036         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
17037         * gst/gstelement.h:
17038           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
17039           unlink pads before removing the element from the bin.
17040
17041 2005-08-24  Andy Wingo  <wingo@pobox.com>
17042
17043         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
17044         the same thing as GST_DEBUG=*:4.
17045         (parse_debug_level, parse_debug_category): New helper parsers.
17046
17047 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
17048
17049         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
17050         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
17051         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
17052         (gst_base_transform_buffer_alloc),
17053         (gst_base_transform_handle_buffer):
17054           use gboolean return values and pointers to size so we can use the
17055           full GST_BUFFER_SIZE range (guint) for buffer sizes
17056           use GstPadDirection for transform_caps
17057         * gst/base/gstbasetransform.h:
17058           rename get_size to get_unit_size since that's what it is
17059         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
17060           use GstPadDirection for transform_caps
17061         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
17062         * gst/gstutils.h:
17063           cleanup and debugging
17064
17065 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
17066
17067         * gst/gstelement.c: (gst_element_class_init),
17068         (gst_element_set_state), (activate_pads),
17069         (gst_element_save_thyself):
17070         * tools/gst-compprep.c: (main):
17071         * tools/gst-inspect.c: (print_element_properties_info):
17072         * tools/gst-xmlinspect.c: (print_element_properties):
17073           Fixed long standing mem-leak
17074
17075 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
17076
17077         * check/gst/gstbin.c: (GST_START_TEST):
17078         * gst/gstbin.c: (bin_bus_handler):
17079         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
17080         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
17081         (gst_message_new_warning), (gst_message_new_tag),
17082         (gst_message_new_state_changed), (gst_message_new_segment_start),
17083         (gst_message_new_segment_done), (gst_message_new_custom):
17084         * gst/gstmessage.h:
17085         * tools/gst-launch.c: (event_loop):
17086         * tools/gst-md5sum.c: (event_loop):
17087           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
17088           that applications can sensibly post custom messages with references
17089           to their own objects.
17090
17091 2005-08-24  Andy Wingo  <wingo@pobox.com>
17092
17093         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
17094         already.
17095
17096 2005-08-24  Wim Taymans  <wim@fluendo.com>
17097
17098         * gst/base/gstbasetransform.c: (gst_base_transform_init),
17099         (gst_base_transform_transform_caps),
17100         (gst_base_transform_transform_size),
17101         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
17102         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
17103         (gst_base_transform_handle_buffer):
17104         * gst/base/gstbasetransform.h:
17105         Many fixes and new features added by Thomas. Can now also do
17106         transforms with variable sizes and a custom fixate_caps function.
17107
17108 2005-08-24  Wim Taymans  <wim@fluendo.com>
17109
17110         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
17111         Some debugging.
17112
17113         * gst/gstclock.h:
17114         Cast to ClockTime before formatting to time.
17115
17116         * gst/gstutils.h:
17117         Cleanups.
17118
17119 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
17120
17121         * check/gst-libs/controller.c: (GST_START_TEST),
17122         (gst_controller_suite):
17123         * docs/gst/tmpl/gstcaps.sgml:
17124         * docs/gst/tmpl/gstghostpad.sgml:
17125         * docs/gst/tmpl/gstquery.sgml:
17126         * docs/gst/tmpl/gstutils.sgml:
17127         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
17128         (gst_object_sink_values), (gst_object_get_value_arrays),
17129         (gst_object_get_value_array):
17130           gracefully handle helper method calls to objects that are not beeing
17131           controlled, added test case for that          
17132
17133 2005-08-23  Wim Taymans  <wim@fluendo.com>
17134
17135         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
17136         (gst_event_new_newsegment), (gst_event_parse_newsegment),
17137         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
17138         (gst_event_parse_qos), (gst_event_new_seek),
17139         (gst_event_parse_seek):
17140         * gst/gstevent.h:
17141         Some more debugging output and doc cleanups.
17142
17143         * gst/gstqueue.c: (gst_queue_handle_sink_event):
17144         Fix possible deadlock.
17145
17146 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
17147
17148         * docs/gst/gstreamer-docs.sgml:
17149         * docs/gst/gstreamer-sections.txt:
17150         * docs/gst/gstreamer.types:
17151         * docs/gst/tmpl/.cvsignore:
17152         * gst/gstbin.h:
17153         * gst/gstbus.c:
17154         * gst/gstelement.c:
17155         * gst/gstevent.h:
17156           added 100 symbols from gstreamer-unused.txt to the right sections
17157           fixed more broken comments
17158           added GstBus to docs
17159
17160 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
17161
17162         * docs/gst/gstreamer-sections.txt:
17163         * docs/gst/tmpl/.cvsignore:
17164         * docs/gst/tmpl/gstbin.sgml:
17165         * docs/gst/tmpl/gstbuffer.sgml:
17166         * gst/base/gstbasesrc.c:
17167         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
17168         * gst/gstbuffer.c:
17169         * gst/gstbuffer.h:
17170         * tools/gst-launch.1.in:
17171           inlined more doc comments, added missing comments and fixed comments
17172           fixed typos
17173
17174 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
17175
17176         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
17177           some debugging
17178         * gst/gstcaps.h:
17179           whitespace fixes
17180         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
17181           more debugging
17182         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
17183         * gst/gststructure.h:
17184           add a fixate function for booleans; add a FIXME that these func
17185           names should probably be gst_structure_fixate_*
17186
17187 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
17188
17189         * docs/gst/gstreamer-docs.sgml:
17190         * docs/gst/gstreamer-sections.txt:
17191         * gst/Makefile.am:
17192         * gst/gstbin.c: (gst_bin_get_type),
17193         (gst_bin_child_proxy_get_child_by_index),
17194         (gst_bin_child_proxy_get_children_count),
17195         (gst_bin_child_proxy_init):
17196         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
17197         (gst_child_proxy_get_child_by_index),
17198         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
17199         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
17200         (gst_child_proxy_get), (gst_child_proxy_set_property),
17201         (gst_child_proxy_set_valist), (gst_child_proxy_set),
17202         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
17203         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
17204         * gst/gstchildproxy.h:
17205         * gst/parse/grammar.y:
17206         * tools/gst-inspect.c: (print_interfaces),
17207         (print_element_properties_info), (print_element_info):
17208           ported gstchildproxy over from 0.8
17209           ported gst-inspect fixes and enhancements over from 0.8
17210
17211 2005-08-22  Wim Taymans  <wim@fluendo.com>
17212
17213         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
17214         (gst_base_transform_handle_buffer):
17215         Also call the transform function if we have ANY caps.
17216
17217         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
17218         Fix debug info.
17219
17220 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
17221
17222         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
17223           Don't pretend to handle seek events if the source is not seekable
17224
17225 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
17226
17227         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17228           Remove extra parameter to debug output
17229
17230         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
17231         (gst_base_src_do_seek), (gst_base_src_activate_push):
17232           Fix seek event handling.
17233
17234         * gst/gstpipeline.c: (gst_pipeline_change_state):
17235         * gst/gstqueue.c: (gst_queue_handle_sink_event),
17236         (gst_queue_src_activate_push):
17237           Don't start the src pad task on FLUSH_STOP if the pad
17238           isn't linked.
17239           Debug changes.
17240
17241 2005-08-22  Wim Taymans  <wim@fluendo.com>
17242
17243         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
17244         Added check for gst_static_caps_get() refcounting.
17245
17246 2005-08-22  Wim Taymans  <wim@fluendo.com>
17247
17248         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
17249         Make _static_caps_get() refcounting sane.
17250         
17251         * gst/gstelement.c: (gst_element_set_state):
17252         Add g_return_val_if_fail() to protect against segfaults.
17253
17254 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
17255
17256         * docs/gst/tmpl/gstevent.sgml:
17257         * gst/gstevent.c:
17258         * gst/gstevent.h:
17259           inlined remaining docs, added missing doc comments
17260
17261 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
17262
17263         * check/gst/gstbin.c: (GST_START_TEST):
17264           since we don't know when preroll is done, use refcount range
17265           check for the sink
17266         * gst/check/gstcheck.h:
17267           add macro for checking refcount range
17268
17269 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
17270
17271         * check/Makefile.am:
17272           clean up environment for when registry gets built versus
17273           when actual tests are run; valgrind seems to not report
17274           leaks if GST_PLUGIN_PATH is set to some specific values
17275         * check/gst/gstbin.c: (GST_START_TEST):
17276           add more refcounting checks; maybe this exposes a
17277           preroll lock bug ?
17278         * common/check.mak:
17279         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17280         * gst/check/gstcheck.h:
17281         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
17282         (gst_bin_change_state):
17283         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
17284           add/fix debugging/whitespace
17285
17286 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
17287
17288         * check/gst/gstevent.c: (event_probe), (test_event),
17289         (GST_START_TEST):
17290          Er, don't call gst_bin_watch_for_state_change you idiot.
17291
17292 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
17293
17294         * check/Makefile.am:
17295           Use CHECK_CFLAGS and CHECK_LIBS
17296         * check/gst/gstevent.c: (event_probe), (test_event),
17297         (GST_START_TEST):
17298           Don't leak events.
17299         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
17300         (gst_base_src_start), (gst_base_src_stop),
17301         (gst_base_src_activate_push), (gst_base_src_activate_pull),
17302         (gst_base_src_change_state):
17303           Sprinkle gst_base_src_stop liberally around error paths to fix
17304           problems reusing a source after failed state changes.
17305         * gst/base/gsttypefindhelper.c: (helper_find_peek),
17306         (helper_find_suggest), (gst_type_find_helper):
17307           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
17308         * gst/gstevent.h:
17309         * docs/gst/tmpl/gstevent.sgml:
17310           Migrate part of the docs from the SGML file. Wait for ensonic to
17311           tell me how I did it wrong ;)
17312         * tools/gst-typefind.c: (main):
17313           Extra robustness to state changes between files.
17314
17315 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
17316
17317         * check/Makefile.am:
17318           don't valgrind the controller test - it's leaking - Stefan, HELP
17319         * gst/check/gstcheck.c: (gst_check_message_error),
17320         (gst_check_chain_func), (gst_check_setup_element),
17321         (gst_check_teardown_element), (gst_check_setup_src_pad),
17322         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
17323         (gst_check_teardown_sink_pad):
17324         * gst/check/gstcheck.h:
17325           add a bunch of methods to set up elements, and src and sink pads
17326         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
17327         * check/elements/identity.c: (setup_identity), (cleanup_identity),
17328         (GST_START_TEST):
17329           use them
17330         * gst/gstmessage.c:
17331         * gst/gsttag.h:
17332           whitespace/doc fixes
17333
17334 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17335
17336         * gst/gstelement.h:
17337           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
17338           be handled by the application and not always printed as well
17339
17340 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17341
17342         * check/Makefile.am:
17343           set GST_TOOLS_DIR
17344         * gst/check/gstcheck.c: (gst_check_message_error):
17345         * gst/check/gstcheck.h:
17346           add a fail_unless_equals_int
17347           add fail_unless for error messages
17348
17349 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17350
17351         * check/Makefile.am:
17352         * check/gst.supp:
17353         * common/Makefile.am:
17354         * common/check.mak:
17355         * common/gst.supp:
17356           factor out some of the common stuff so we can use it
17357
17358 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17359
17360         * check/Makefile.am:
17361         * check/gst/gstiterator.c: (GST_START_TEST):
17362         * check/gst/gstsystemclock.c: (GST_START_TEST),
17363         (gst_systemclock_suite):
17364         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
17365         * gst/gstclock.c:
17366           valgrind more tests
17367
17368 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17369
17370         * check/elements/.cvsignore:
17371         * check/elements/gstfakesrc.c:
17372           rename to name of element
17373         * check/elements/identity.c: (chain_func), (event_func),
17374         (setup_identity), (cleanup_identity), (GST_START_TEST),
17375         (identity_suite), (main):
17376           add a test for identity
17377         * check/Makefile.am:
17378         * pkgconfig/Makefile.am:
17379         * pkgconfig/gstreamer-check.pc.in:
17380         * pkgconfig/gstreamer-check-uninstalled.pc.in:
17381         * gst/check:
17382         * gst/Makefile.am:
17383         * configure.ac:
17384           move the check stuff to a library that gets installed
17385         * check/gst-libs/controller.c: (GST_START_TEST):
17386         * check/gst-libs/gdp.c:
17387         * check/gst/gst.c: (GST_START_TEST):
17388         * check/gst/gstbin.c:
17389         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
17390         * check/gst/gstbus.c:
17391         * check/gst/gstcaps.c: (GST_START_TEST):
17392         * check/gst/gstelement.c:
17393         * check/gst/gstghostpad.c:
17394         * check/gst/gstiterator.c:
17395         * check/gst/gstmessage.c:
17396         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
17397         * check/gst/gstobject.c:
17398         * check/gst/gstpad.c: (GST_START_TEST):
17399         * check/gst/gststructure.c: (GST_START_TEST):
17400         * check/gst/gstsystemclock.c: (GST_START_TEST),
17401         (gst_systemclock_suite):
17402         * check/gst/gsttag.c: (gst_tag_suite):
17403         * check/gst/gstvalue.c:
17404         * check/pipelines/cleanup.c:
17405         * check/pipelines/simple_launch_lines.c:
17406         * check/states/sinks.c:
17407           change include statement
17408
17409         * docs/gst/gstreamer-sections.txt:
17410         * docs/gst/tmpl/gstpad.sgml:
17411           document more pad stuff
17412         * gst/gstminiobject.c: (gst_mini_object_ref),
17413         (gst_mini_object_unref):
17414           debug refcounting
17415
17416 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
17417
17418         * docs/gst/tmpl/gst.sgml:
17419         * gst/gst.c:
17420           eliminate another tmpl file, fix spelling in the long-description
17421
17422 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
17423
17424         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
17425         (test_event), (timediff), (gstevents_suite):
17426           Should fix build on 64-bit arch's
17427
17428 2005-08-18  Andy Wingo  <wingo@pobox.com>
17429
17430         Make sure that when a pipeline goes to PLAYING, that data has
17431         actually hit the sink.
17432
17433         * check/states/sinks.c (test_sink): A sink that doesn't get any
17434         data shouldn't return SUCCESS for going to either PLAYING or
17435         PAUSED. Test also the return values on the way back down.
17436
17437         * gst/gstelement.c (gst_element_set_state): When changing the
17438         state of an element currently changing state asynchronously, go to
17439         lost-state after commiting the pending state. Makes future calls
17440         to get_state continue to return ASYNC.
17441
17442         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
17443         ASYNC when going to PLAYING if we still don't have preroll, as can
17444         happen with live sources.
17445
17446 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
17447
17448         * docs/pwg/advanced-types.xml:
17449           Hack long paragraph into 2 chunks as a workaround for buggy
17450           jadetex version in sid and breezy that loops infinitely and
17451           eats all RAM.
17452
17453 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
17454
17455         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
17456         (test_event), (timediff), (gstevents_suite):
17457           Provide more error margin in clock measurements to allow for 
17458           g_get_current_time inaccuracies.
17459
17460 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
17461
17462         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
17463         (test_event), (timediff), (gstevents_suite):
17464            Fix error message output so I might be able to tell why the
17465            test works here but fails on the build farm.
17466
17467 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
17468
17469         * check/Makefile.am:
17470         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
17471         (test_event), (timediff), (gstevents_suite), (main):
17472           I wrote a test!
17473
17474         * docs/design/part-seeking.txt:
17475           Spelling correction
17476
17477         * docs/gst/tmpl/gstevent.sgml:
17478         * docs/gst/tmpl/gstfakesrc.sgml:
17479           Docs updates.
17480
17481         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17482           Treat a buffer-without-newsegment the same as a receiving 
17483           a newsegment not in time format, and disable syncing to the clock
17484           with a warning.
17485
17486         * gst/gstbus.c: (gst_bus_set_sync_handler):
17487           Assert if anyone tries to replace the existing sync_handler for bus, 
17488           as only the owner should be setting it.
17489
17490         * gst/gstevent.h:
17491           Have a fixed set of custom event enums with events identified by
17492           their structure name (as in 0.8), rather than a free-for-all
17493           allowing collisions between enum values from different plugins.
17494
17495         * gst/gstpad.c: (gst_pad_class_init):
17496           Docs change.
17497           
17498         * gst/gstqueue.c: (gst_queue_handle_sink_event):
17499           Handle out-of-band downstream events from the sending thread.
17500
17501 2005-08-17  Andy Wingo  <wingo@pobox.com>
17502
17503         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
17504         play-timeout==0 to mean no timeout at all. In that case, don't
17505         bother with a get_state or a warning, just return directly, even
17506         if it's ASYNC.
17507
17508         * gst/base/gstbasetransform.c: Debug changes.
17509
17510         * gst/gstutils.h:
17511         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
17512         ensure bins post state change messages. A bit of a hack but I can't
17513         think of a way to avoid it.
17514
17515         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
17516
17517 2005-08-16  Andy Wingo  <wingo@pobox.com>
17518
17519         * gst/base/gstadapter.h:
17520         * gst/base/gstadapter.c (gst_adapter_take): New function, like
17521         peek() but you own the data. Not terribly efficient atm.
17522
17523 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17524
17525         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
17526         (gst_element_found_tags):
17527         * gst/gstutils.h:
17528           Add two utility functions for tag handling.
17529
17530 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17531
17532         * docs/manual/advanced-dataaccess.xml:
17533         * docs/manual/basics-helloworld.xml:
17534           Fix docs to use _bin_add() before _link(), which fixes the examples
17535           with recent core versions (reported by Madhan Raj M
17536           <raj_madan@rediffmail.com>, #313199).
17537
17538 2005-08-16  Wim Taymans  <wim@fluendo.com>
17539
17540         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
17541         Added subtract checks.
17542
17543         * docs/design/part-events.txt:
17544         Some more docs about newsegment
17545
17546         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
17547         Fix FIXME
17548
17549         * gst/gstcaps.c: (gst_caps_to_string):
17550         Add comments, cleanups.
17551         
17552         * gst/gstelement.c: (gst_element_save_thyself):
17553         cleanups
17554         
17555         * gst/gstvalue.c: (gst_value_collect_int_range),
17556         (gst_string_unwrap), (gst_value_union_int_int_range),
17557         (gst_value_union_int_range_int_range),
17558         (gst_value_intersect_int_int_range),
17559         (gst_value_intersect_int_range_int_range),
17560         (gst_value_intersect_double_double_range),
17561         (gst_value_intersect_double_range_double_range),
17562         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
17563         (gst_value_subtract_int_range_int),
17564         (gst_value_subtract_double_range_double),
17565         (gst_value_subtract_double_range_double_range),
17566         (gst_value_subtract_from_list), (gst_value_subtract_list),
17567         (gst_value_can_compare), (gst_value_compare_fraction):
17568         Cleanups, add comments, remove unneeded asserts.
17569
17570 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
17571
17572         * tools/gst-launch.c: (event_loop):
17573           don't convert NULL structures to strings
17574
17575 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
17576
17577         * docs/gst/gstreamer-sections.txt:
17578           made some defines private
17579         * docs/gst/tmpl/gstconfig.sgml:
17580         * docs/gst/tmpl/gstqueue.sgml:
17581         * docs/gst/tmpl/gsttaglist.sgml:
17582         * docs/gst/tmpl/gsttypes.sgml:
17583         * docs/gst/tmpl/gstutils.sgml:
17584         * docs/pwg/appendix-porting.xml:
17585         * gst/base/gstbasesink.h:
17586         * gst/base/gstbasesrc.c:
17587         * gst/base/gstbasesrc.h:
17588         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
17589         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
17590         * gst/gstelement.c: (gst_element_class_init):
17591         * gst/gstpad.c: (gst_pad_class_init):
17592         * gst/gstqueue.c: (gst_queue_class_init):
17593         * gst/gstxml.c: (gst_xml_class_init):
17594           documented all undocumented signal inline
17595         * libs/gst/controller/gst-controller.h:
17596           added padding
17597
17598 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17599
17600         * docs/pwg/appendix-porting.xml:
17601           Document _set_link_function -> _set_setcaps_function.
17602
17603 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
17604
17605         * check/Makefile.am:
17606           add a .check target for running the check
17607         * check/gst-libs/controller.c: (GST_START_TEST):
17608           cosmetic fixups
17609         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
17610           complete checks for gstbuffer; would be nice if I could get the
17611           gcov stuff to work so I can see if I actually completed gstbuffer.c
17612         * check/gstcheck.h:
17613           add ASSERT_BUFFER_REFCOUNT
17614
17615 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
17616
17617         * docs/gst/gstreamer-sections.txt:
17618         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
17619         * gst/gsttag.h:
17620           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
17621           spew out a warning if a tag that is already registered
17622           is re-registered, unless it is re-registered with a 
17623           different type (#308438).
17624
17625 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
17626
17627         * docs/pwg/appendix-porting.xml:
17628         * docs/pwg/building-state.xml:
17629           Add some paragraphs about state changes in 0.9 to the PWG
17630           and the porting guide, in particular about the new meaning
17631           of GST_STATE_PAUSED and how to write state change functions
17632           with concurrent access by multiple threads in mind.
17633
17634 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
17635
17636         * docs/gst/gstreamer-docs.sgml:
17637         * docs/libs/gstreamer-libs-docs.sgml:
17638           added deprecation and since indexes
17639         * libs/gst/controller/gst-controller.c:
17640         * libs/gst/controller/gst-helper.c:
17641           added since tags
17642
17643
17644 2005-08-11  Wim Taymans  <wim@fluendo.com>
17645
17646         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
17647         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
17648         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
17649         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
17650         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
17651         (gst_ghost_pad_set_target):
17652         Actually implement (re)setting the target on a ghostpad
17653         as described in the docs.
17654
17655 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
17656
17657         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
17658           Check whether GST_DEBUG_NO_COLOR environment variable is
17659           set and disable coloured debug output if that is the case.
17660
17661 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
17662
17663         * gst/base/gsttypefindhelper.c: (helper_find_peek),
17664         (gst_type_find_helper):
17665           The memory returned by gst_type_find_peek() needs to
17666           stay valid until the end of a typefind function, and
17667           typefind functions may keep results from different 
17668           offsets around, so we can't just unref the buffer from
17669           the previous _peek(), but have to save all buffers 
17670           returned by _peek() until typefinding is done and only
17671           free them then.
17672
17673 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
17674
17675         * docs/gst/gstreamer-sections.txt:
17676         * gst/gstutils.h:
17677           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
17678
17679 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17680
17681         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
17682           Fix a pretty good memleak.
17683
17684 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
17685
17686         * gst/gstiterator.h:
17687           Fix wrong include and 'make distcheck'.
17688
17689 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17690
17691         * gst/gstbin.c: (bin_bus_handler):
17692           Use gst_element_post_message() instead.
17693
17694 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
17695
17696         * gst/base/gstadapter.h:
17697         * gst/base/gstbasesink.h:
17698         * gst/base/gstbasesrc.h:
17699         * gst/base/gstbasetransform.h:
17700         * gst/base/gstcollectpads.h:
17701         * gst/base/gstpushsrc.h:
17702         * gst/gstiterator.h:
17703           Add padding to our base elements' class and instance structs and
17704           to GstIterator (you will need to rebuild all plugins and apps!)
17705
17706 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17707
17708         * gst/gstbin.c: (bin_bus_handler):
17709           Make default message forwarding from child->bus to bin->bus
17710           threadsafe and make it not emit warnings if the parent has no bus.
17711
17712 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17713
17714         * gst/gstelement.c: (activate_pads):
17715           On paused->ready, set pad->caps to NULL, as is the documented
17716           behaviour in this state change. Fixes playback of series of
17717           media files when visualization is enabled in Totem.
17718
17719 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17720
17721         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
17722           Allow NULL as filter-caps (which means "any").
17723
17724 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
17725
17726         * docs/libs/gstreamer-libs-sections.txt:
17727         * libs/gst/controller/gst-controller.c:
17728         * libs/gst/controller/gst-controller.h:
17729         * libs/gst/controller/gst-helper.c:
17730           adding more entries to the docs and fix small doc-bugs
17731
17732 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
17733
17734         * docs/gst/gstreamer-docs.sgml:
17735         * docs/gst/gstreamer-sections.txt:
17736         * docs/gst/gstreamer.types:
17737         * docs/gst/tmpl/gstbasesink.sgml:
17738         * docs/gst/tmpl/gstbasesrc.sgml:
17739         * docs/gst/tmpl/gstbasetransform.sgml:
17740         * docs/gst/tmpl/gstfakesrc.sgml:
17741         * gst/base/gstcollectpads.c:
17742         * gst/base/gstcollectpads.h:
17743         * libs/gst/controller/gst-controller.c:
17744         * libs/gst/controller/gst-controller.h:
17745         * libs/gst/controller/gst-helper.c:
17746         * libs/gst/controller/gst-interpolation.c:
17747         * libs/gst/controller/lib.c:
17748           added long/short desc for controller docs
17749           added collectpads base class docs
17750           added correct includes to base-class docs
17751
17752 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
17753
17754         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
17755         (gst_test_mono_source_set_property),
17756         (gst_test_mono_source_class_init), (GST_START_TEST),
17757         (gst_controller_suite):
17758         * docs/gst/gstreamer-docs.sgml:
17759         * docs/gst/gstreamer-sections.txt:
17760         * docs/gst/gstreamer.types:
17761         * docs/libs/gstreamer-libs-docs.sgml:
17762         * docs/libs/gstreamer-libs-sections.txt:
17763         * gst/base/gstadapter.c:
17764         * libs/gst/controller/gst-controller.c:
17765         (gst_controlled_property_new), (gst_controlled_property_free),
17766         (gst_controller_new_valist),
17767         (gst_controller_remove_properties_valist),
17768         (gst_controller_sink_values), (_gst_controller_finalize):
17769         * libs/gst/controller/gst-controller.h:
17770         * libs/gst/controller/gst-helper.c:
17771         (gst_object_control_properties), (gst_object_uncontrol_properties),
17772         (gst_object_get_controller), (gst_object_set_controller),
17773         (gst_object_sink_values), (gst_object_get_value_arrays),
17774         (gst_object_get_value_array):
17775           more tests (and fixes) for the controller
17776           more docs for the controller
17777           integrated companies docs for the adapter 
17778
17779 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
17780
17781         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
17782         (GST_START_TEST), (fakesrc_suite):
17783           add tests for sizetype
17784
17785 2005-08-04  Andy Wingo  <wingo@pobox.com>
17786
17787         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
17788         fixes buffer_alloc proxying among other things.
17789
17790         * gst/base/gstbasetransform.c:
17791         * gst/base/gstbasetransform.h:
17792         Revert patch to gstbasetransform from 7-28 removing
17793         delay_configure.
17794
17795         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
17796         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
17797         Semantics changed, should return not the size of the output buffer
17798         but the byte size of a buffer with a given caps.
17799
17800         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
17801         debug object.
17802         (gst_base_transform_configure_caps): Don't set out_size here: (in,
17803         out) are not the pad caps until setcaps finishes.
17804         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
17805         not-in-place case as well. Deal with changing from in-place to
17806         not-in-place within calling pad_alloc_buffer. Still a bit
17807         concerned about the overhead here...
17808
17809 2005-08-03  Andy Wingo  <wingo@pobox.com>
17810
17811         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
17812         fixating is an error.
17813
17814 2005-08-04  Edward Hervey  <edward@fluendo.com>
17815
17816         * gst/base/gstadapter.h: 
17817         Added gst_adapter_get_type() to the header
17818
17819 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
17820
17821         * check/Makefile.am:
17822         * check/gst-libs/controller.c:
17823         * libs/gst/controller/gst-controller.c:
17824         (gst_controller_new_valist):
17825           added check test suite for the controller
17826         * gst/base/gstpushsrc.c:
17827           fixed a doc typo
17828
17829 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
17830
17831         * docs/gst/Makefile.am:
17832         * docs/gst/gstreamer-docs.sgml:
17833         * docs/gst/gstreamer-sections.txt:
17834         * docs/gst/gstreamer.types:
17835         * docs/gst/tmpl/gstfakesrc.sgml:
17836         * gst/base/README:
17837         * gst/base/gstbasesink.c:
17838         * gst/base/gstbasesink.h:
17839         * gst/base/gstbasesrc.c:
17840         * gst/base/gstbasesrc.h:
17841         * gst/base/gstbasetransform.c:
17842         * gst/base/gstpushsrc.c:
17843         * gst/base/gstpushsrc.h:
17844           add short/long description docs to base classes
17845           add pushsrc to the docs
17846           remove consolidated doc fragments
17847
17848 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
17849
17850         * configure.ac:
17851         * docs/libs/Makefile.am:
17852         * docs/libs/gstreamer-libs-docs.sgml:
17853         * docs/libs/gstreamer-libs-sections.txt:
17854         * docs/libs/gstreamer-libs.types:
17855         * examples/Makefile.am:
17856         * examples/controller/.cvsignore:
17857         * examples/controller/Makefile.am:
17858         * examples/controller/audio-example.c: (main):
17859         * libs/gst/Makefile.am:
17860         * libs/gst/controller/.cvsignore:
17861         * libs/gst/controller/Makefile.am:
17862         * libs/gst/controller/gst-controller.c:
17863         (on_object_controlled_property_changed), (gst_timed_value_compare),
17864         (gst_timed_value_find),
17865         (gst_controlled_property_set_interpolation_mode),
17866         (gst_controlled_property_new), (gst_controlled_property_free),
17867         (gst_controller_find_controlled_property),
17868         (gst_controller_new_valist), (gst_controller_new),
17869         (gst_controller_remove_properties_valist),
17870         (gst_controller_remove_properties), (gst_controller_set),
17871         (gst_controller_set_from_list), (gst_controller_unset),
17872         (gst_controller_get), (gst_controller_get_all),
17873         (gst_controller_sink_values), (gst_controller_get_value_arrays),
17874         (gst_controller_get_value_array),
17875         (gst_controller_set_interpolation_mode),
17876         (_gst_controller_finalize), (_gst_controller_init),
17877         (_gst_controller_class_init), (gst_controller_get_type):
17878         * libs/gst/controller/gst-controller.h:
17879         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
17880         (g_object_uncontrol_properties), (g_object_get_controller),
17881         (g_object_set_controller), (g_object_sink_values),
17882         (g_object_get_value_arrays), (g_object_get_value_array):
17883         * libs/gst/controller/gst-interpolation.c:
17884         (gst_controlled_property_find_timed_value_node),
17885         (interpolate_none_get), (interpolate_trigger_get),
17886         (interpolate_trigger_get_value_array):
17887         * libs/gst/controller/lib.c: (gst_controller_init):
17888         * pkgconfig/Makefile.am:
17889         * pkgconfig/gstreamer-control-uninstalled.pc.in:
17890         * pkgconfig/gstreamer-control.pc.in:
17891         * testsuite/Makefile.am:
17892         * testsuite/controller/.cvsignore:
17893         * testsuite/controller/Makefile.am:
17894         * testsuite/controller/interpolator.c: (main):
17895           added controller code
17896           removed dparam pc files
17897
17898 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
17899         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
17900         (gst_collectpads_stop):
17901           Broadcast the condition when shutting down, to make sure we wake all
17902           threads up. Shut down pads on finalize, for safety.
17903
17904 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
17905         * gst/base/gstbasetransform.c: (gst_base_transform_init),
17906         (gst_base_transform_handle_buffer),
17907         (gst_base_transform_change_state):
17908           Handle PAUSED->READY->PAUSED transition after negotiation
17909           occurred already.
17910         * gst/gstmessage.c: (gst_message_init):
17911           Extra piece of debug for new messages.
17912
17913 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
17914
17915         * configure.ac:
17916         * docs/gst/tmpl/gstbasesrc.sgml:
17917         * docs/gst/tmpl/gstelement.sgml:
17918         * docs/gst/tmpl/gstevent.sgml:
17919         * docs/gst/tmpl/gstfakesrc.sgml:
17920         * docs/gst/tmpl/gstformat.sgml:
17921         * docs/gst/tmpl/gstghostpad.sgml:
17922         * docs/gst/tmpl/gstpad.sgml:
17923         * docs/gst/tmpl/gstquery.sgml:
17924         * docs/gst/tmpl/gststructure.sgml:
17925         * docs/gst/tmpl/gsttaglist.sgml:
17926         * docs/gst/tmpl/gstvalue.sgml:
17927         * docs/libs/gstreamer-libs-docs.sgml:
17928         * docs/libs/gstreamer-libs-sections.txt:
17929         * docs/libs/gstreamer-libs.types:
17930         * libs/gst/Makefile.am:
17931         * libs/gst/control/.cvsignore:
17932         * libs/gst/control/Makefile.am:
17933         * libs/gst/control/control.c:
17934         * libs/gst/control/control.h:
17935         * libs/gst/control/dparam.c:
17936         * libs/gst/control/dparam.h:
17937         * libs/gst/control/dparam_smooth.c:
17938         * libs/gst/control/dparam_smooth.h:
17939         * libs/gst/control/dparamcommon.h:
17940         * libs/gst/control/dparammanager.c:
17941         * libs/gst/control/dparammanager.h:
17942         * libs/gst/control/dplinearinterp.c:
17943         * libs/gst/control/dplinearinterp.h:
17944         * libs/gst/control/unitconvert.c:
17945         * libs/gst/control/unitconvert.h:
17946         * testsuite/Makefile.am:
17947         * testsuite/dynparams/.cvsignore:
17948         * testsuite/dynparams/Makefile.am:
17949         * testsuite/dynparams/dparamstest.c:
17950         * tools/Makefile.am:
17951         * tools/gst-inspect.c: (print_element_info), (main):
17952         * tools/gst-xmlinspect.c: (print_element_info), (main):
17953           deactivate and remove dparams (libgstcontrol)
17954
17955 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
17956
17957         * gst/elements/gsttypefindelement.c:
17958         (gst_type_find_element_have_type), (gst_type_find_element_init),
17959         (stop_typefinding), (gst_type_find_element_handle_event),
17960         (gst_type_find_element_chain), (gst_type_find_element_getrange):
17961         * gst/elements/gsttypefindelement.h:
17962           Set caps on all outgoing buffers, not just the first one.
17963
17964 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
17965
17966         * gst/elements/gsttypefindelement.c:
17967         (gst_type_find_element_have_type),
17968         (gst_type_find_element_check_set_buffer_caps),
17969         (gst_type_find_element_init), (stop_typefinding),
17970         (gst_type_find_element_handle_event),
17971         (gst_type_find_element_chain), (gst_type_find_element_getrange):
17972         * gst/elements/gsttypefindelement.h:
17973           Set caps on first outgoing buffer when we've found the type.
17974
17975 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
17976
17977         * docs/gst/gstreamer-docs.sgml:
17978         * docs/gst/gstreamer-sections.txt:
17979         * docs/gst/tmpl/gstscheduler.sgml:
17980         * docs/gst/tmpl/gstschedulerfactory.sgml:
17981           Remove some old cruft from docs.
17982
17983 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
17984
17985         * gst/gstpad.h:
17986           Fix inline docs for GstPadLinkReturn.
17987           
17988         * gst/gststructure.c: (gst_structure_has_name):
17989         * gst/gststructure.h:
17990         * docs/gst/gstreamer-sections.txt:
17991           New API: gst_structure_has_name().
17992
17993 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
17994
17995         * configure.ac:
17996           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
17997           and _LARGEFILE_SOURCE in config.h as required. Do not 
17998           export those flags in our .pc files any longer (#142209).
17999
18000           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
18001
18002         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
18003         (gst_file_sink_do_seek), (gst_file_sink_event),
18004         (gst_file_sink_get_current_offset), (gst_file_sink_render):
18005           Redo seek/tell calls with large file support in mind; add some
18006           debugging messages; add log message that tells us when large
18007           file support is unavailable or not enabled for some reason.
18008
18009         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
18010           Add log message that tells us when large file support 
18011           is unavailable or not enabled for some reason.
18012
18013 2005-07-29  Wim Taymans  <wim@fluendo.com>
18014
18015         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
18016         Added test for removing an element with ghostpad from a bin.
18017         Fixed test as current implementation does the right thing.
18018
18019         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
18020         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
18021         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
18022         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
18023         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
18024         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
18025         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
18026         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
18027         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
18028         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
18029         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
18030         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
18031         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
18032         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
18033         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
18034         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
18035         * gst/gstghostpad.h:
18036         Clean up ghostpads, remove properties for internal stuff.
18037         Make threadsafe.
18038         Fix refcounting.
18039         Prepare for switching targets, not all use cases work yet.
18040
18041 2005-07-29  Wim Taymans  <wim@fluendo.com>
18042
18043         * docs/design/part-gstghostpad.txt:
18044         Small update.
18045
18046         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
18047         (gst_bin_remove_func):
18048         Unlinking pads while holding the bin LOCK is not a good
18049         idea.
18050
18051         * gst/gstpad.c: (gst_pad_class_init),
18052         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
18053         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
18054         No prob setting template after creating the pad.
18055
18056 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
18057
18058         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
18059         (gst_bus_peek), (gst_bus_source_dispatch),
18060         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
18061         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
18062           gst_bus_poll may be called from other threads. Handle
18063           this nicely by not making poll_data disappear off the
18064           stack once gst_bus_poll returns.
18065           gst_bus_peek now increments the refcount on the returned
18066           message.
18067
18068 2005-07-29  Wim Taymans  <wim@fluendo.com>
18069
18070         * docs/design/part-gstghostpad.txt:
18071         Overview of current GhostPad datastructures and use
18072         cases for changing the target.
18073
18074 2005-07-28  Wim Taymans  <wim@fluendo.com>
18075
18076         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
18077         Added checks for hierarchy consistency whan adding linked
18078         elements to bins.
18079
18080         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
18081         Added check to test element scheduling without bin/pipeline.
18082
18083         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
18084         First add elements to bin, then link.
18085         
18086         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
18087         (gst_bin_remove_func):
18088         Unlink pads from elements added/removed from bin to maintain
18089         hierarchy consistency.
18090
18091 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18092
18093         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
18094         (gst_base_transform_handle_buffer):
18095         * gst/base/gstbasetransform.h:
18096           Remove broken delay_configure (fixes renegotiation of software
18097           scaling pipelines); remove some leftover printf()s.
18098
18099 2005-07-28  Wim Taymans  <wim@fluendo.com>
18100
18101         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
18102         Added some more tests for wrong hierarchy
18103
18104         * docs/design/part-overview.txt:
18105         Some updates.
18106
18107         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
18108         Cleanups.
18109
18110         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
18111         (gst_element_dispose):
18112         Some more cleanups.
18113
18114         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
18115         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
18116         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
18117         (gst_pad_set_caps), (gst_pad_send_event):
18118         Check for correct hierarchy when linking pads. Moving to
18119         strict requirement for ghostpads when linking elements in
18120         different bins.
18121
18122         * gst/gstpad.h:
18123         Clean ups. Added WRONG_HIERARCHY return value.
18124
18125 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18126
18127         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
18128           Better debug if no transform is possible.
18129
18130 2005-07-27  Wim Taymans  <wim@fluendo.com>
18131
18132         * docs/random/wtay/network-transp:
18133         Some old doc I had.
18134
18135 2005-07-27  Wim Taymans  <wim@fluendo.com>
18136
18137         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
18138         (gst_dp_event_from_packet):
18139         Fix serialization of seek events.
18140
18141 2005-07-27  Wim Taymans  <wim@fluendo.com>
18142
18143         * check/gst-libs/gdp.c: (GST_START_TEST):
18144         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
18145         Fix compilation and fix event serialization.
18146
18147 2005-07-27  Wim Taymans  <wim@fluendo.com>
18148
18149         * CHANGES-0.9:
18150         * docs/design/part-TODO.txt:
18151         * docs/design/part-events.txt:
18152         Some docs updates
18153
18154         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18155         (gst_base_sink_event), (gst_base_sink_do_sync),
18156         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
18157         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
18158         (gst_base_src_do_seek), (gst_base_src_event_handler),
18159         (gst_base_src_loop):
18160         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
18161         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
18162         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
18163         (gst_base_transform_event), (gst_base_transform_handle_buffer),
18164         (gst_base_transform_set_passthrough),
18165         (gst_base_transform_is_passthrough):
18166         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
18167         * gst/elements/gstfilesink.c: (gst_file_sink_event):
18168         Event updates.
18169
18170         * gst/gstbuffer.h:
18171         Use faster casts.
18172
18173         * gst/gstelement.c: (gst_element_seek):
18174         * gst/gstelement.h:
18175         Update gst_element_seek.
18176
18177         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
18178         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
18179         (gst_event_new_flush_start), (gst_event_new_flush_stop),
18180         (gst_event_new_eos), (gst_event_new_newsegment),
18181         (gst_event_parse_newsegment), (gst_event_new_tag),
18182         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
18183         (gst_event_parse_qos), (gst_event_new_seek),
18184         (gst_event_parse_seek), (gst_event_new_navigation):
18185         * gst/gstevent.h:
18186         Make GstEvent use GstStructure. Add parsing code, make sure the
18187         API is sufficiently generic.
18188         Mark possible directions of events and serialization.
18189
18190         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
18191         (_gst_message_copy), (gst_message_new_segment_start),
18192         (gst_message_new_segment_done), (gst_message_new_custom),
18193         (gst_message_parse_segment_start),
18194         (gst_message_parse_segment_done):
18195         Small cleanups.
18196
18197         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
18198         (gst_pad_set_caps), (gst_pad_send_event):
18199         Update for new events. 
18200         Catch events sent in wrong directions.
18201
18202         * gst/gstqueue.c: (gst_queue_link_src),
18203         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
18204         (gst_queue_handle_src_query):
18205         Event updates.
18206
18207         * gst/gsttag.c:
18208         * gst/gsttag.h:
18209         Remove event code from this file.
18210
18211         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
18212         (gst_dp_event_from_packet):
18213         Event updates.
18214
18215 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18216
18217         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
18218         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
18219         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
18220           Make debugging actually useful.
18221
18222 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18223
18224         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
18225         (gst_pad_fixate_caps):
18226           Implement default fixation once again, so that gst_pad_fixate()
18227           actually does anything at all. This probably needs to be some
18228           sort of a last resort, and use profile-based fixation first, but
18229           since that doesn't exist yet, this is the best we have. Fixes
18230           visualization in Totem.
18231
18232 2005-07-22  Wim Taymans  <wim@fluendo.com>
18233
18234         * docs/design/part-events.txt:
18235         Small update.
18236
18237         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18238         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
18239         (gst_base_sink_activate_pull):
18240         Some more comments.
18241
18242         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
18243         (gst_fake_src_create):
18244         Fix handoff marshall.
18245
18246         * gst/elements/gstidentity.c: (gst_identity_class_init),
18247         (gst_identity_transform_ip):
18248         We're a real inplace element.
18249
18250         * gst/gstbus.c: (gst_bus_post):
18251         Added some comments.
18252
18253         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
18254         * tests/muxing/case1.c: (main):
18255         * tests/sched/dynamic-pipeline.c: (main):
18256         * tests/sched/interrupt1.c: (main):
18257         * tests/sched/interrupt2.c: (main):
18258         * tests/sched/interrupt3.c: (main):
18259         * tests/sched/runxml.c: (main):
18260         * tests/sched/sched-stress.c: (main):
18261         * tests/seeking/seeking1.c: (event_received), (main):
18262         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
18263         (main):
18264         * tests/threadstate/threadstate3.c: (main):
18265         * tests/threadstate/threadstate4.c: (main):
18266         * tests/threadstate/threadstate5.c: (main):
18267         Fix the tests.
18268
18269 2005-07-21  Wim Taymans  <wim@fluendo.com>
18270
18271         * docs/design/part-seeking.txt:
18272         Some small additions.
18273
18274         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18275         (gst_base_sink_get_times), (gst_base_sink_do_sync),
18276         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
18277         * gst/base/gstbasesink.h:
18278         discont values are gint64, handle the math correctly.
18279
18280         * gst/base/gstbasesrc.c: (gst_base_src_loop):
18281         Make the basesrc report error if the source pad is not linked.
18282
18283         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
18284         (gst_queue_loop), (gst_queue_handle_src_query),
18285         (gst_queue_src_activate_push):
18286         Make queue collect data even if the srcpad is not linked.
18287         Start pushing out data as soon as it is linked.
18288
18289         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
18290         * gst/gstutils.h:
18291         Added gst_flow_get_name() to ease error reporting.
18292
18293 2005-07-20  Wim Taymans  <wim@fluendo.com>
18294
18295         * gst/gstmessage.c: (gst_message_new_segment_start),
18296         (gst_message_new_segment_done), (gst_message_parse_segment_start),
18297         (gst_message_parse_segment_done):
18298         * gst/gstmessage.h:
18299         Added a bunch of messages for advanced seeking.
18300
18301         * gst/parse/grammar.y:
18302         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
18303         (gst_dpman_state_changed):
18304         Fix some new-pad -> pad-added signals
18305
18306 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18307
18308         * docs/manual/appendix-porting.xml:
18309         * docs/pwg/appendix-porting.xml:
18310           Document new-pad/state-change signal renames and the FixedList
18311           type rename.
18312
18313 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18314
18315         * docs/manual/advanced-autoplugging.xml:
18316         * docs/manual/basics-helloworld.xml:
18317         * docs/manual/basics-pads.xml:
18318         * docs/random/ds/0.9-suggested-changes:
18319         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
18320         * gst/gstelement.h:
18321         * gst/gstevent.h:
18322         * gst/gstformat.h:
18323         * gst/gstquery.h:
18324         * gst/gststructure.c: (gst_structure_value_get_generic_type),
18325         (gst_structure_parse_array), (gst_structure_parse_value):
18326         * gst/gstvalue.c: (gst_type_is_fixed),
18327         (gst_value_list_prepend_value), (gst_value_list_append_value),
18328         (gst_value_list_get_size), (gst_value_list_get_value),
18329         (gst_value_transform_array_string), (gst_value_serialize_array),
18330         (gst_value_deserialize_array), (gst_value_intersect_array),
18331         (gst_value_is_fixed), (_gst_value_initialize):
18332         * gst/gstvalue.h:
18333           GstElement::new-pad -> pad-added, GstElement::state-change ->
18334           state-changed, GstValueFixedList -> GstValueArray, add format and
18335           flags as their own arguments in gst_element_seek() (should improve
18336           "bindeability"), remove function generators since they don't work
18337           under a whole bunch of compilers (they were deprecated already
18338           anyway).
18339
18340 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18341
18342         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
18343         (_gst_debug_register_funcptr):
18344         * gst/gstinfo.h:
18345           Fix illegal cast on some platforms (#309253).
18346
18347 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18348
18349         * gst/gstmessage.c: (gst_message_new_custom):
18350         * gst/gstmessage.h:
18351           Add _new_custom, make _new_application a macro to _new_custom.
18352
18353 2005-07-20  Wim Taymans  <wim@fluendo.com>
18354
18355         * gst/base/gstbasesrc.c: (gst_base_src_init),
18356         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
18357         * gst/base/gstbasesrc.h:
18358         Add a gboolean to decide when to push out a discont.
18359
18360         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
18361         (gst_queue_loop), (gst_queue_handle_src_query),
18362         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
18363         (gst_queue_set_property), (gst_queue_get_property):
18364         Some cleanups.
18365
18366         * tests/threadstate/threadstate1.c: (main):
18367         Make a thread test compile and run... very silly..
18368
18369
18370 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18371
18372         * docs/manual/appendix-porting.xml:
18373           Mention removal of libgstgconf-0.9.la and existence of gconf
18374           elements.
18375
18376 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18377
18378         * docs/pwg/advanced-clock.xml:
18379         * docs/pwg/appendix-porting.xml:
18380         * docs/pwg/intro-preface.xml:
18381         * docs/pwg/other-base.xml:
18382         * docs/pwg/other-manager.xml:
18383         * docs/pwg/other-nton.xml:
18384         * docs/pwg/other-ntoone.xml:
18385         * docs/pwg/other-oneton.xml:
18386         * docs/pwg/pwg.xml:
18387           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
18388           demuxer), remove n-to-n (was never written), fix some code examples
18389           and links and update the porting section to include all this.
18390
18391 2005-07-19  Wim Taymans  <wim@fluendo.com>
18392
18393         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
18394         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
18395         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
18396         (gst_queue_src_activate_push), (gst_queue_change_state),
18397         (gst_queue_get_property):
18398         * gst/gstqueue.h:
18399         Propagate GstFlowReturn more intelligently upstream and output
18400         an ERROR/EOS when streaming stopped due to fatal error.
18401
18402 2005-07-19  Wim Taymans  <wim@fluendo.com>
18403
18404         * tools/gst-launch.c: (check_intr), (event_loop), (main):
18405         Don't block forever for the state change to complete, the
18406         pipeline already did with a sensible timeout.
18407
18408 2005-07-19  Wim Taymans  <wim@fluendo.com>
18409
18410         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
18411         Make sure we never call the create function is we
18412         got deactivated.
18413
18414 2005-07-19  Andy Wingo  <wingo@pobox.com>
18415
18416         * gst/parse/parse.l: Attempt to solve bug #172815.
18417
18418 2005-07-19  Wim Taymans  <wim@fluendo.com>
18419
18420         * docs/design/part-clocks.txt:
18421         * docs/design/part-events.txt:
18422         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
18423         Small docs updates.
18424         Only update the seeking values when we are not
18425         busy streaming.
18426
18427 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
18428
18429         * gst/base/gstbasesrc.c: (gst_base_src_loop):
18430           Oops, ignore the result of gst_pad_push_event here.
18431
18432 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
18433
18434         * gst/base/gstbasesrc.c: (gst_base_src_loop),
18435         (gst_base_src_activate_push):
18436           Send discont event from the loop function, as pads
18437           aren't activated yet in the activate_push handler.
18438
18439         * gst/gstbin.c: (bin_bus_handler):
18440           Don't leak element name.
18441
18442 2005-07-18  Andy Wingo  <wingo@pobox.com>
18443
18444         * configure.ac: Use AS_LIBTOOL_TAGS.
18445
18446 2005-07-18  Wim Taymans  <wim@fluendo.com>
18447
18448         * docs/gst/gstreamer.types:
18449         Remove deleted types.
18450
18451 2005-07-18  Wim Taymans  <wim@fluendo.com>
18452
18453         * check/elements/gstfakesrc.c: (GST_START_TEST):
18454         * configure.ac:
18455         * gst/Makefile.am:
18456         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
18457         (init_popt_callback):
18458         * gst/gst.h:
18459         * gst/gst_private.h:
18460         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
18461         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
18462         * gst/gstbin.h:
18463         * gst/gstbus.h:
18464         * gst/gstconfig.h.in:
18465         * gst/gstelement.c: (gst_element_class_init),
18466         (gst_element_set_base_time), (gst_element_get_base_time),
18467         (iterator_fold_with_resync), (gst_element_change_state),
18468         (gst_element_dispose), (gst_element_get_bus):
18469         * gst/gstelement.h:
18470         * gst/gstelementfactory.h:
18471         * gst/gsterror.c: (_gst_core_errors_init):
18472         * gst/gsterror.h:
18473         * gst/gstevent.h:
18474         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
18475         * gst/gstindex.c:
18476         * gst/gstinfo.c: (_gst_debug_init):
18477         * gst/gstmessage.c: (_gst_message_copy):
18478         * gst/gstmessage.h:
18479         * gst/gstminiobject.h:
18480         * gst/gstobject.c:
18481         * gst/gstobject.h:
18482         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
18483         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
18484         * gst/gstpad.h:
18485         * gst/gstparse.h:
18486         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
18487         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
18488         (gst_pipeline_get_last_stream_time):
18489         * gst/gstpipeline.h:
18490         * gst/gstpluginfeature.h:
18491         * gst/gstquery.h:
18492         * gst/gstscheduler.c:
18493         * gst/gstscheduler.h:
18494         * gst/gststructure.h:
18495         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
18496         (gst_task_finalize), (gst_task_func), (gst_task_create),
18497         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
18498         (gst_task_stop), (gst_task_pause):
18499         * gst/gsttask.h:
18500         * gst/gsttypefind.h:
18501         * gst/gsttypes.h:
18502         * gst/registries/gstlibxmlregistry.c: (load_feature),
18503         (gst_xml_registry_load), (gst_xml_registry_save_feature):
18504         * gst/registries/gstxmlregistry.c:
18505         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
18506         * gst/schedulers/threadscheduler.c:
18507         * libs/gst/control/dparammanager.h:
18508         * tools/gst-inspect.c: (print_element_list),
18509         (print_plugin_features), (print_element_features):
18510         * tools/gst-xmlinspect.c: (print_element_list),
18511         (print_plugin_info), (main):
18512         Removed plugable schedulers.
18513         Removed Scheduler/Manager from elements.
18514         Removed gsttypes.h, rearranged includes.
18515         Removed dependency pad<->element, element<>pipeline, and
18516         various others,  fix includes.
18517         implement gst_pad_get_parent() with gst_object_get_parent()
18518         Make GstTask sefcontained.
18519         Fix _get_state() on GstBin, it did not return ASYNC with a 0
18520         timeout.
18521         Fix endless loop in iterator_fold_with_resync.
18522
18523
18524 2005-07-18  Wim Taymans  <wim@fluendo.com>
18525
18526         * gst/Makefile.am:
18527         * gst/gstarch.h:
18528         Remove old file.
18529
18530 2005-07-18  Wim Taymans  <wim@fluendo.com>
18531
18532         * gst/Makefile.am:
18533         No more cothreads.h
18534
18535 2005-07-18  Wim Taymans  <wim@fluendo.com>
18536
18537         * gst/cothreads.c:
18538         * gst/cothreads.h:
18539         Let's remove these.
18540
18541 2005-07-18  Wim Taymans  <wim@fluendo.com>
18542
18543         * docs/design/part-dynamic.txt:
18544         * docs/design/part-events.txt:
18545         * docs/design/part-seeking.txt:
18546         Some more docs in the works.
18547
18548         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
18549         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
18550         (gst_base_transform_setcaps), (gst_base_transform_get_size),
18551         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
18552         (gst_base_transform_handle_buffer),
18553         (gst_base_transform_sink_activate_push),
18554         (gst_base_transform_src_activate_pull),
18555         (gst_base_transform_set_passthrough),
18556         (gst_base_transform_is_passthrough):
18557         Refcounting fixes.
18558
18559         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
18560         Cleanups.
18561
18562         * gst/gstevent.c: (gst_event_finalize):
18563         Set SRC to NULL.
18564
18565         * gst/gstutils.c: (gst_element_unlink),
18566         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
18567         (gst_pad_proxy_setcaps):
18568         * gst/gstutils.h:
18569         Add _get_parent_element() to get a pads parent as an element.
18570
18571 2005-07-18  Wim Taymans  <wim@fluendo.com>
18572
18573         * check/gst/gstbin.c: (GST_START_TEST):
18574         Remove bogus test.
18575
18576 2005-07-18  Wim Taymans  <wim@fluendo.com>
18577
18578         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
18579         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
18580         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
18581         (gst_base_sink_event), (gst_base_sink_do_sync),
18582         (gst_base_sink_chain), (gst_base_sink_loop),
18583         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
18584         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
18585         Refcounting fixes.
18586         Fix logic for returning ASYNC when not prerolled.
18587
18588 2005-07-18  Wim Taymans  <wim@fluendo.com>
18589
18590         * gst/gstqueue.c: (gst_queue_handle_sink_event):
18591         Fix nasty refcount bug.
18592
18593 2005-07-16 Philippe Khalaf <burger@speedy.org>
18594
18595         * gst/elements/gstfdsrc.c:
18596         * gst/elements/gstfdsrc.h:
18597         * gst/elements/gstelements.c:
18598         * gst/elements/Makefile.am:
18599         Ported fdsrc to 0.9.
18600
18601 2005-07-16  Wim Taymans  <wim@fluendo.com>
18602
18603         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18604         (gst_base_sink_do_sync):
18605         Fix compile error.
18606
18607 2005-07-16  Wim Taymans  <wim@fluendo.com>
18608
18609         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18610         (gst_base_sink_event), (gst_base_sink_get_times),
18611         (gst_base_sink_do_sync), (gst_base_sink_change_state):
18612         * gst/base/gstbasesink.h:
18613         Store and use discont values when syncing buffers as described
18614         in design docs.
18615         
18616         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
18617         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
18618         (gst_base_src_activate_push):
18619         Push discont event when starting.
18620
18621         * gst/elements/gstidentity.c: (gst_identity_transform):
18622         Small cleanups.
18623
18624         * gst/gstbin.c: (gst_bin_change_state):
18625         Small cleanups in base_time  distribution.
18626
18627         * gst/gstelement.c: (gst_element_set_base_time),
18628         (gst_element_get_base_time), (gst_element_change_state):
18629         * gst/gstelement.h:
18630         Added methods for the base_time of the element.
18631         Some MT fixes.
18632
18633         * gst/gstpipeline.c: (gst_pipeline_send_event),
18634         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
18635         (gst_pipeline_get_last_stream_time):
18636         * gst/gstpipeline.h:
18637         MT fixes.
18638         Handle seeking as described in design doc, remove stream_time
18639         hack.
18640         Cleanups clock and stream_time selection code. Added accessors
18641         for the stream_time.
18642         
18643
18644 2005-07-16  Andy Wingo  <wingo@pobox.com>
18645
18646         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
18647         (#305291).
18648
18649 2005-07-16  Wim Taymans  <wim@fluendo.com>
18650
18651         * check/gst/gstbin.c: (GST_START_TEST):
18652         Make elements silent as the deep_notify refs the
18653         parent, which might make the test fail.
18654
18655         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
18656         Don't hold the lock for too long.
18657
18658 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
18659
18660         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
18661           Don't unref the caps we passed to gst_caps_make_writable() after
18662           passing them. gst_caps_make_writable() will do that for us.
18663
18664 2005-07-15  Andy Wingo  <wingo@pobox.com>
18665
18666         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
18667         (#157311).
18668
18669         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
18670         own marshalling function for the handoff signal. Properly type the
18671         buffer as a buffer. Fixes some warnings. Should do a more general
18672         solution.
18673         (gst_identity_class_init): Plug into the right marshaller.
18674
18675 2005-07-15  Wim Taymans  <wim@fluendo.com>
18676
18677         * docs/design/part-TODO.txt:
18678         * docs/design/part-clocks.txt:
18679         * docs/design/part-element-sink.txt:
18680         * docs/design/part-events.txt:
18681         * docs/design/part-gstpipeline.txt:
18682         Updated docs, mostly DISCONT related.
18683
18684 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
18685
18686         * docs/pwg/building-pads.xml:
18687           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
18688
18689 2005-07-15  Andy Wingo  <wingo@pobox.com>
18690
18691         * tools/gst-typefind.c: Update, add copyright block.
18692
18693         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
18694         Normalize and truncate caps before fixation.
18695
18696         * gst/gstcaps.h:
18697         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
18698         discards all but the first structure from its argument.
18699
18700 2005-07-15  Wim Taymans  <wim@fluendo.com>
18701
18702         * gst/base/gstbasetransform.c: (gst_base_transform_init),
18703         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
18704         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
18705         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
18706         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
18707         (gst_base_transform_chain), (gst_base_transform_change_state),
18708         (gst_base_transform_set_passthrough),
18709         (gst_base_transform_is_passthrough):
18710         * gst/base/gstbasetransform.h:
18711         Make passthrough work using the bufferpools.
18712         Changed API a bit, subclasses have to write into a buffer
18713         provided by the base class.
18714         More debug info in nego functions.
18715         
18716         * gst/elements/gstidentity.c: (gst_identity_init),
18717         (gst_identity_transform):
18718         Port to new base class.
18719
18720 2005-07-15  Wim Taymans  <wim@fluendo.com>
18721
18722         * gst/gstmessage.c: (gst_message_new_state_changed):
18723         * tools/gst-launch.c: (event_loop), (main):
18724         Totally dump messages in -launch with the -m option.
18725         Fix message name for State messages,
18726
18727 2005-07-14  Wim Taymans  <wim@fluendo.com>
18728
18729         * gst/base/gstbasesrc.c: (gst_base_src_loop):
18730         Post error messages on errors.
18731
18732 2005-07-14  Wim Taymans  <wim@fluendo.com>
18733
18734         * gst/gstcaps.c: (gst_caps_do_simplify):
18735         Remove debug info.
18736
18737         * gst/gsterror.h:
18738         Define error for stream stopped.
18739
18740         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
18741         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
18742         Do proper return values.
18743
18744         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
18745         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
18746         (gst_pad_get_range):
18747         Better return values.
18748
18749         * gst/gstpad.h:
18750         Reorganise return values, add macro to check for fatal errors.
18751
18752         * gst/gstqueue.c: (gst_queue_chain):
18753         Return proper GstFlowReturn values,
18754
18755 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
18756
18757         * docs/gst/gstreamer-sections.txt:
18758         * docs/gst/gstreamer.types:
18759         * docs/gst/tmpl/gst.sgml:
18760         * docs/gst/tmpl/gstbasesink.sgml:
18761         * docs/gst/tmpl/gstbasesrc.sgml:
18762         * docs/gst/tmpl/gstbasetransform.sgml:
18763         * docs/gst/tmpl/gstbin.sgml:
18764         * docs/gst/tmpl/gstbuffer.sgml:
18765         * docs/gst/tmpl/gstcaps.sgml:
18766         * docs/gst/tmpl/gstclock.sgml:
18767         * docs/gst/tmpl/gstcompat.sgml:
18768         * docs/gst/tmpl/gstconfig.sgml:
18769         * docs/gst/tmpl/gstelement.sgml:
18770         * docs/gst/tmpl/gstelementdetails.sgml:
18771         * docs/gst/tmpl/gstelementfactory.sgml:
18772         * docs/gst/tmpl/gstenumtypes.sgml:
18773         * docs/gst/tmpl/gsterror.sgml:
18774         * docs/gst/tmpl/gstevent.sgml:
18775         * docs/gst/tmpl/gstfakesink.sgml:
18776         * docs/gst/tmpl/gstfakesrc.sgml:
18777         * docs/gst/tmpl/gstfilesink.sgml:
18778         * docs/gst/tmpl/gstfilesrc.sgml:
18779         * docs/gst/tmpl/gstfilter.sgml:
18780         * docs/gst/tmpl/gstformat.sgml:
18781         * docs/gst/tmpl/gstghostpad.sgml:
18782         * docs/gst/tmpl/gstimplementsinterface.sgml:
18783         * docs/gst/tmpl/gstindex.sgml:
18784         * docs/gst/tmpl/gstindexfactory.sgml:
18785         * docs/gst/tmpl/gstinfo.sgml:
18786         * docs/gst/tmpl/gstiterator.sgml:
18787         * docs/gst/tmpl/gstmacros.sgml:
18788         * docs/gst/tmpl/gstmemchunk.sgml:
18789         * docs/gst/tmpl/gstminiobject.sgml:
18790         * docs/gst/tmpl/gstobject.sgml:
18791         * docs/gst/tmpl/gstpad.sgml:
18792         * docs/gst/tmpl/gstpadtemplate.sgml:
18793         * docs/gst/tmpl/gstparse.sgml:
18794         * docs/gst/tmpl/gstpipeline.sgml:
18795         * docs/gst/tmpl/gstplugin.sgml:
18796         * docs/gst/tmpl/gstpluginfeature.sgml:
18797         * docs/gst/tmpl/gstquery.sgml:
18798         * docs/gst/tmpl/gstqueue.sgml:
18799         * docs/gst/tmpl/gstregistry.sgml:
18800         * docs/gst/tmpl/gstregistrypool.sgml:
18801         * docs/gst/tmpl/gstscheduler.sgml:
18802         * docs/gst/tmpl/gstschedulerfactory.sgml:
18803         * docs/gst/tmpl/gststructure.sgml:
18804         * docs/gst/tmpl/gstsystemclock.sgml:
18805         * docs/gst/tmpl/gsttaglist.sgml:
18806         * docs/gst/tmpl/gsttagsetter.sgml:
18807         * docs/gst/tmpl/gsttrace.sgml:
18808         * docs/gst/tmpl/gsttrashstack.sgml:
18809         * docs/gst/tmpl/gsttypefind.sgml:
18810         * docs/gst/tmpl/gsttypefindfactory.sgml:
18811         * docs/gst/tmpl/gsttypes.sgml:
18812         * docs/gst/tmpl/gsturihandler.sgml:
18813         * docs/gst/tmpl/gsturitype.sgml:
18814         * docs/gst/tmpl/gstutils.sgml:
18815         * docs/gst/tmpl/gstvalue.sgml:
18816         * docs/gst/tmpl/gstversion.sgml:
18817         * docs/gst/tmpl/gstxml.sgml:
18818         * docs/libs/tmpl/gstcontrol.sgml:
18819         * docs/libs/tmpl/gstdataprotocol.sgml:
18820         * docs/libs/tmpl/gstdparam.sgml:
18821         * docs/libs/tmpl/gstdplinint.sgml:
18822         * docs/libs/tmpl/gstdpman.sgml:
18823         * docs/libs/tmpl/gstdpsmooth.sgml:
18824         * docs/libs/tmpl/gstgetbits.sgml:
18825         * docs/libs/tmpl/gstunitconvert.sgml:
18826         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
18827         (gst_push_src_base_init), (gst_push_src_class_init),
18828         (gst_push_src_init), (gst_push_src_create):
18829         * gst/base/gstpushsrc.h:
18830         * gst/elements/gstelements.c:
18831         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
18832         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
18833         (gst_fake_sink_init), (gst_fake_sink_set_property),
18834         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
18835         (gst_fake_sink_event), (gst_fake_sink_preroll),
18836         (gst_fake_sink_render), (gst_fake_sink_change_state):
18837         * gst/elements/gstfakesink.h:
18838         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
18839         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
18840         (gst_fake_src_base_init), (gst_fake_src_class_init),
18841         (gst_fake_src_init), (gst_fake_src_event_handler),
18842         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
18843         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
18844         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
18845         (gst_fake_src_create_buffer), (gst_fake_src_create),
18846         (gst_fake_src_start), (gst_fake_src_stop):
18847         * gst/elements/gstfakesrc.h:
18848         * gst/elements/gstfilesink.c: (_do_init),
18849         (gst_file_sink_base_init), (gst_file_sink_class_init),
18850         (gst_file_sink_init), (gst_file_sink_dispose),
18851         (gst_file_sink_set_location), (gst_file_sink_set_property),
18852         (gst_file_sink_get_property), (gst_file_sink_open_file),
18853         (gst_file_sink_close_file), (gst_file_sink_query),
18854         (gst_file_sink_event), (gst_file_sink_render),
18855         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
18856         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
18857         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
18858         * gst/elements/gstfilesink.h:
18859         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
18860         (gst_file_src_class_init), (gst_file_src_init),
18861         (gst_file_src_finalize), (gst_file_src_set_location),
18862         (gst_file_src_set_property), (gst_file_src_get_property),
18863         (gst_file_src_map_region), (gst_file_src_map_small_region),
18864         (gst_file_src_create_mmap), (gst_file_src_create_read),
18865         (gst_file_src_create), (gst_file_src_is_seekable),
18866         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
18867         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
18868         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
18869         (gst_file_src_uri_handler_init):
18870         * gst/elements/gstfilesrc.h:
18871           more autistic cleanliness in functions/names/defines
18872
18873 2005-07-13  Andy Wingo  <wingo@pobox.com>
18874
18875         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
18876         source couldn't negotiate.
18877
18878         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
18879         connections again.
18880
18881         * gst/gstutils.h:
18882         * gst/gstutils.c (gst_element_link_pads_filtered): New old
18883         function. I am channeling Hades. Put your boots on suckers!!!
18884
18885 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
18886
18887         * testsuite/caps/Makefile.am:
18888         * testsuite/caps/value_compare.c:
18889         * testsuite/caps/value_intersect.c:
18890         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
18891           move two testsuite apps over to the check dir
18892
18893 2005-07-12  Wim Taymans  <wim@fluendo.com>
18894
18895         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
18896         Added more debug info in the negotiate process.
18897
18898         * gst/gstmessage.h:
18899         Prepare for segment playback.
18900
18901         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
18902         Better debugging.
18903
18904         * gst/gstutils.c:
18905         Some more docs.
18906
18907         * tools/gst-launch.c: (main):
18908         NULL pipeline on errors.
18909
18910 2005-07-12  Andy Wingo  <wingo@pobox.com>
18911
18912         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
18913         not it comes from a malloc region. Make sure our copy gets freed.
18914
18915 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18916
18917         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
18918         * check/gst/gstmessage.c: (GST_START_TEST):
18919         * check/gst/gststructure.c: (GST_START_TEST),
18920         (gst_structure_suite), (main):
18921           more testing
18922         * gst/gstelement.c: (gst_element_message_full):
18923           clean up GError and debug string now that they get copied
18924         * gst/gstmessage.c: (gst_message_new_error),
18925         (gst_message_new_warning), (gst_message_parse_error),
18926         (gst_message_parse_warning):
18927           use GST_TYPE_G_ERROR for structure_new, and take copies of
18928           arguments, so that we don't mess up refcounting
18929
18930 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18931
18932         * check/Makefile.am:
18933           add per-test valgrind targets
18934         * check/gst-libs/gdp.c: (GST_START_TEST),
18935         (gst_data_protocol_suite), (main):
18936           clean up
18937
18938 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18939
18940         * check/Makefile.am:
18941           instate more valgrindable tests
18942         * check/elements/gstfakesrc.c: (chain_func), (event_func),
18943         (GST_START_TEST), (fakesrc_suite):
18944         * check/gst/gstpad.c: (GST_START_TEST):
18945         * check/gst/gststructure.c: (GST_START_TEST):
18946           fix test leaks
18947         * docs/gst/tmpl/gstminiobject.sgml:
18948         * gst/gstpad.c: (gst_pad_finalize):
18949           fix the static mutex leak
18950
18951 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
18952
18953         * check/Makefile.am:
18954           add two more tests for valgrinding
18955         * check/gst/gstvalue.c: (GST_START_TEST):
18956           test refcount of deserialized buffer, found a leak
18957         * docs/gst/gstreamer-docs.sgml:
18958         * docs/gst/gstreamer-sections.txt:
18959         * docs/gst/gstreamer.types:
18960         * docs/gst/tmpl/gstminiobject.sgml:
18961           add miniobject to docs
18962         * gst/gstminiobject.c:
18963           add some docs
18964         * gst/gstvalue.c: (gst_value_deserialize_buffer),
18965         (gst_string_unwrap):
18966           fix a hard-to-find invalid write for one of the tests
18967           fix a leak for deserialized buffers
18968
18969 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18970
18971         * docs/pwg/advanced-events.xml:
18972         * docs/pwg/advanced-request.xml:
18973         * docs/pwg/advanced-scheduling.xml:
18974         * docs/pwg/appendix-porting.xml:
18975         * docs/pwg/building-boiler.xml:
18976         * docs/pwg/intro-preface.xml:
18977         * docs/pwg/other-ntoone.xml:
18978           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
18979           of example code and explanation for pad activation, loop() and
18980           getrange() functions and a bit more. Remove old comments pointing
18981           to loop-functions.
18982         * examples/pwg/Makefile.am:
18983           Add loop/getrange examples.
18984
18985 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
18986
18987         * configure.ac:
18988           check for valgrind binary + some fixes
18989         * check/gst.supp:
18990           valgrind suppressions for the tests
18991         * check/Makefile.am:
18992           add a valgrind: target that valgrinds the unit tests
18993         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
18994         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
18995         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
18996         * check/gst/gstghostpad.c:
18997           added some cleanup
18998         * check/gst/gstdata.c:
18999           removed
19000         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
19001         (thread_unref), (gst_mini_object_suite), (main):
19002           added
19003         * gst/gst.c: (gst_deinit):
19004         * gst/gst.h:
19005           add a method to clean up.
19006         * gst/gstsystemclock.c: (gst_system_clock_dispose),
19007         (gst_system_clock_obtain):
19008           allow for disposing the system clock.
19009         * tools/gst-launch.c: (main):
19010           deinit
19011
19012 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19013
19014         * docs/gst/tmpl/gstbasesrc.sgml:
19015         * docs/gst/tmpl/gstfakesrc.sgml:
19016         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
19017         (gst_base_src_init), (gst_base_src_set_property),
19018         (gst_base_src_get_property), (gst_base_src_get_range),
19019         (gst_base_src_start):
19020         * gst/base/gstbasesrc.h:
19021           add num-buffers property
19022         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
19023         (gst_fakesrc_init), (gst_fakesrc_set_property),
19024         (gst_fakesrc_get_property), (gst_fakesrc_create),
19025         (gst_fakesrc_start):
19026           remove num-buffers property
19027
19028 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19029
19030         * docs/gst/gstreamer-sections.txt:
19031         * docs/gst/tmpl/gstbasesink.sgml:
19032         * docs/gst/tmpl/gstbasesrc.sgml:
19033         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
19034         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
19035         (gst_base_sink_finalize), (gst_base_sink_set_clock),
19036         (gst_base_sink_set_property), (gst_base_sink_get_property),
19037         (gst_base_sink_handle_object), (gst_base_sink_event),
19038         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
19039         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
19040         (gst_base_sink_loop), (gst_base_sink_deactivate),
19041         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
19042         (gst_base_sink_change_state):
19043         * gst/base/gstbasesink.h:
19044         * gst/base/gstbasesrc.h:
19045         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
19046         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
19047         (gst_filesink_init):
19048           more macro splitting
19049
19050 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19051
19052         * gst/gstelement.c: (gst_element_get_bus):
19053           add debug
19054         * tools/gst-launch.c: (check_intr), (event_loop):
19055           fix bus leaks
19056
19057 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19058
19059         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
19060           fix a caps leak
19061
19062 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19063
19064         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
19065         (gst_base_src_finalize):
19066           add finalize method and clean up properly
19067         * gst/gstpipeline.c: (gst_pipeline_dispose):
19068           add debug
19069
19070 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
19071
19072         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
19073         (gst_bin_suite):
19074           add more things to check
19075         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
19076         * gst/gstelement.c:
19077           more debug
19078
19079 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
19080
19081         * check/elements/gstfakesrc.c: (chain_func), (event_func),
19082         (GST_START_TEST), (fakesrc_suite):
19083         * check/gst-libs/gdp.c: (GST_START_TEST):
19084         * check/gst/gst.c: (GST_START_TEST):
19085         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
19086         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
19087         * check/gst/gstbus.c: (GST_START_TEST):
19088         * check/gst/gstcaps.c: (GST_START_TEST):
19089         * check/gst/gstdata.c: (GST_START_TEST):
19090         * check/gst/gstelement.c: (GST_START_TEST):
19091         * check/gst/gstghostpad.c: (GST_START_TEST):
19092         * check/gst/gstiterator.c: (GST_START_TEST):
19093         * check/gst/gstmessage.c: (GST_START_TEST):
19094         * check/gst/gstobject.c: (GST_START_TEST):
19095         * check/gst/gstpad.c: (GST_START_TEST):
19096         * check/gst/gststructure.c: (GST_START_TEST):
19097         * check/gst/gstsystemclock.c: (GST_START_TEST),
19098         (gst_systemclock_suite):
19099         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
19100         * check/gst/gstvalue.c: (GST_START_TEST):
19101         * check/pipelines/cleanup.c: (GST_START_TEST):
19102         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
19103         * check/states/sinks.c: (GST_START_TEST):
19104         * check/gstcheck.c: (gst_check_init):
19105         * check/gstcheck.h:
19106           add debugging category
19107           use GST_START_TEST now, so we add a debug line
19108
19109 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
19110
19111         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
19112           add test for state change message on a bin
19113         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
19114           add another test
19115         * gst/gstbin.c: (gst_bin_init):
19116         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
19117         * gst/gstelement.c: (gst_element_post_message),
19118         (gst_element_set_state):
19119         * gst/gstelementfactory.c: (gst_element_factory_create):
19120         * gst/gstmessage.c: (gst_message_new):
19121         * gst/gstscheduler.c:
19122           various debugging additions and cleanups
19123
19124 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19125
19126         * check/Makefile.am:
19127         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
19128         (main):
19129           adding tests for elements
19130         * gst/gstelement.c: (gst_element_dispose):
19131
19132 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19133
19134         * gst/registries/gstlibxmlregistry.c: (load_feature):
19135           plug more leaks.  A simple gst_init() now is leakfree, yay.
19136
19137 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19138
19139         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
19140         (gst_xml_registry_load):
19141           plug another memleak
19142
19143 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19144
19145         * configure.ac:
19146           use GST_SET_ERROR_CFLAGS
19147         * docs/faq/cvs.xml:
19148           change to ERROR_CFLAGS
19149
19150 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19151
19152         * configure.ac:
19153           make GST_ERROR_CFLAGS overridable and re-enable Werror
19154         * docs/faq/cvs.xml:
19155           add a note about error CFLAGS
19156         * docs/gst/tmpl/gstfakesrc.sgml:
19157         * gst/elements/gstfakesrc.c:
19158           comment out some unused code
19159         * gst/gst.c: (split_and_iterate):
19160         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
19161         (load_feature):
19162           plug some memleaks
19163
19164 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
19165
19166         * common/Makefile.am:
19167         * common/gtk-doc.mak:
19168         * docs/gst/Makefile.am:
19169           factor out gtk-doc.mak
19170
19171 2005-07-07  Wim Taymans  <wim@fluendo.com>
19172
19173         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
19174         (gst_thread_scheduler_dispose):
19175         Unlock the STREAM_LOCK completely.
19176
19177 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
19178
19179         * check/Makefile.am:
19180         * check/elements/.cvsignore:
19181         * check/elements/gstfakesrc.c: (chain_func), (event_func),
19182         (START_TEST), (fakesrc_suite), (main):
19183         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
19184         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
19185         (gst_fakesrc_create), (gst_fakesrc_start):
19186         * gst/elements/gstfakesrc.h:
19187           adding a first element test
19188
19189 2005-07-07  Andy Wingo  <wingo@pobox.com>
19190
19191         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
19192         debug message.
19193
19194 2005-07-07  Wim Taymans  <wim@fluendo.com>
19195
19196         * gst/gstquery.c:
19197         * gst/gstquery.h:
19198         Remove old types
19199
19200 2005-07-07  Wim Taymans  <wim@fluendo.com>
19201
19202         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
19203         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
19204         Allow subclasses to implement their own negotiation.
19205
19206 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
19207
19208         * docs/design/part-gstbin.txt:
19209         * docs/design/part-gstpipeline.txt:
19210           Update design notes to reflect the movement of
19211           responsibility for bus handling from GstPipeline to
19212           GstBin
19213
19214 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
19215
19216         * configure.ac:
19217           Remove unnecessary queue2/3/4 examples.
19218
19219 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
19220
19221         * examples/Makefile.am:
19222         * examples/helloworld/helloworld.c: (event_loop), (main):
19223         * examples/queue/queue.c: (event_loop), (main):
19224         * examples/queue2/queue2.c: (main):
19225           Update a couple of the examples to work again.
19226
19227         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
19228         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
19229          Spelling corrections and extra debug.
19230         
19231         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
19232         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
19233         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
19234         * gst/gstbin.h:
19235         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
19236         (gst_pipeline_change_state):
19237         * gst/gstpipeline.h:
19238           Move the bus handler for children to the GstBin, and create a
19239           separate bus for receiving messages from children to the one the
19240           bus sends 'upwards' on.
19241
19242 2005-07-06  Wim Taymans  <wim@fluendo.com>
19243
19244         * gst/base/README:
19245         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
19246         (gst_base_sink_handle_object), (gst_base_sink_loop),
19247         (gst_base_sink_change_state):
19248         * gst/base/gstbasesink.h:
19249         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
19250         (gst_base_src_init), (gst_base_src_setcaps),
19251         (gst_base_src_getcaps), (gst_base_src_loop),
19252         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
19253         (gst_base_src_start), (gst_base_src_change_state):
19254         * gst/base/gstbasesrc.h:
19255         Make basesrc negotiate.
19256         Handle the case where preroll fails in basesink.
19257         Update README.
19258
19259 2005-07-06  Wim Taymans  <wim@fluendo.com>
19260
19261         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
19262         Implement the fixate function.
19263         Clean up acceptcaps.
19264
19265 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19266
19267         * docs/pwg/building-filterfactory.xml:
19268         * docs/pwg/pwg.xml:
19269           Remove never-written filter-factory chapter; I'll add the various
19270           base classes to part 4 ("other element types") later on.
19271
19272 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19273
19274         * docs/pwg/advanced-negotiation.xml:
19275         * docs/pwg/building-boiler.xml:
19276         * docs/pwg/building-pads.xml:
19277         * docs/pwg/pwg.xml:
19278         * examples/pwg/Makefile.am:
19279           Add a chapter on caps negotiation, simplify the original code
19280           samples a bit w.r.t. caps negotiation, add link to the advanced
19281           section. Add a bunch of examples showing different use cases of
19282           different types of caps negotiation. Upstream renegotiation isn't
19283           fully documented yet since nobody knows how that works.
19284
19285 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
19286
19287         * check/gst/gstpad.c:
19288         * check/gstcheck.c:
19289         * gst/gstpad.c: (gst_pad_get_internal_links_default):
19290           if pad has no parent, return NULL as list of internal links
19291
19292 2005-07-05  Andy Wingo  <wingo@pobox.com>
19293
19294         * gst/elements/gstfilesrc.c:
19295         * gst/elements/gstfakesrc.c: 
19296         * gst/base/gstpushsrc.c:
19297         * gst/base/gstbasesrc.h: 
19298         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
19299         
19300 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
19301
19302         * Makefile.am:
19303           better report generation target (lcov needs a patch)
19304
19305 2005-07-05  Andy Wingo  <wingo@pobox.com>
19306
19307         * gst/elements, testsuite: Null if we got it...
19308
19309 2005-07-05  Wim Taymans  <wim@fluendo.com>
19310
19311         * configure.ac:
19312         * libs/gst/dataprotocol/Makefile.am:
19313         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
19314         * libs/gst/dataprotocol/dataprotocol.h:
19315         * pkgconfig/Makefile.am:
19316         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
19317         * pkgconfig/gstreamer-dataprotocol.pc.in:
19318         Ported dataprotol to 0.9. 
19319         Added pkgconfig files.
19320
19321 2005-07-05  Andy Wingo  <wingo@pobox.com>
19322
19323         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
19324         Default to returning TRUE for the case when tranform_caps returns
19325         a fixed caps, like for identity or volume.
19326
19327         * check/gst/gstbus.c (pound_bus_with_messages): 
19328         * check/gst/gstmessage.c (START_TEST): 
19329         * check/pipelines/simple_launch_lines.c (got_handoff): Application
19330         message API change.
19331
19332         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
19333         logic weaks here: always run transform_caps, trying passthrough
19334         operation only if the original caps intersects with the transform.
19335
19336         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
19337         source and sink caps.
19338
19339         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
19340         Intersect the peer caps with the pad template before going into
19341         transform_caps.
19342         (gst_base_transform_transform_caps): More debugging.
19343
19344         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
19345         src argument.
19346
19347 2005-07-04  Edward Hervey  <edward@fluendo.com>
19348
19349         * gst/gstutils.c:
19350         * gst/gstutils.h:
19351         (gst_pad_add_*_probe): now returns the signal id for better wrapping
19352         in bindings.
19353
19354 2005-07-04  Andy Wingo  <wingo@pobox.com>
19355
19356         * check/gst/gstpad.c: Only set explicit caps on pads.
19357
19358 2005-07-01  Andy Wingo  <wingo@pobox.com>
19359
19360         * tests/network-clock.scm: Commentary update.
19361
19362         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
19363         Didn't really make sense, not implementable with basetransform,
19364         etc.
19365         (gst_identity_transform): Unref inbuf via make_writable. Feeble
19366         attempt at implementing the sync property, needs an unlock method.
19367
19368         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
19369         New func, by default returns the same caps (the identity
19370         transformation).
19371         (gst_base_transform_getcaps): Uses transform_caps to return
19372         something sensible.
19373         (gst_base_transform_setcaps): Complicated logic to get caps on
19374         both pads, even if they are different, and to call set_caps once
19375         for every time both pads get their caps set.
19376         (gst_base_transform_handle_buffer): Give the ref to the transform
19377         function. Allows in-place modification of the buffer.
19378
19379         * gst/base/gstbasetransform.h (transform_caps): New class method.
19380         Given caps on one side, what can I do on the other.
19381         (set_caps): Take two caps, one for each side of the element.
19382
19383         * gst/gstpad.h:
19384         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
19385         caps in place. This is safe because we can check the mutability of
19386         the caps, and a good idea because fixate functions are just called
19387         as a matter of last resort. (Not actually implemented.)
19388         (gst_pad_set_caps): If the caps we're setting is actually the same
19389         as the existing pad caps, just update the pointer without calling
19390         setcaps. Assert that caps is either NULL or fixed, as per the
19391         docs.
19392
19393         * gst/gstghostpad.c: Update for fixate changes.
19394
19395 2005-07-02  Andy Wingo  <wingo@pobox.com>
19396
19397         * gst/gstcaps.c:
19398         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
19399         two refcounts makes it immutable, which is enough. Doc more.
19400
19401 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
19402
19403         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
19404           Put the mini_object into GValue as a mini_object,
19405           not a gpointer, since that's how we declared
19406           the signal.
19407
19408 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19409
19410         * examples/pwg/Makefile.am:
19411           Fix buildbot again.
19412
19413 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19414
19415         * docs/pwg/building-testapp.xml:
19416           Add extra check.
19417         * examples/pwg/Makefile.am:
19418           Fix buildbot.
19419
19420 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19421
19422         * configure.ac:
19423         * examples/Makefile.am:
19424         * examples/pwg/Makefile.am:
19425         * examples/pwg/extract.pl:
19426           Enable building the PWG examples.
19427         * docs/pwg/advanced-interfaces.xml:
19428           Add URI interface stub.
19429         * docs/pwg/advanced-types.xml:
19430         * docs/pwg/other-autoplugger.xml:
19431         * docs/pwg/appendix-porting.xml:
19432         * docs/pwg/pwg.xml:
19433           Add porting guide (mostly stubs), remove autoplugging (see ADM).
19434         * docs/pwg/building-boiler.xml:
19435         * docs/pwg/building-chainfn.xml:
19436         * docs/pwg/building-pads.xml:
19437         * docs/pwg/building-props.xml:
19438         * docs/pwg/building-state.xml:
19439         * docs/pwg/building-testapp.xml:
19440           Update the building-*.xml parts for 0.9 changes. All examples
19441           code blocks compile in examples/pwg/*.
19442
19443 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19444
19445         * docs/manual/advanced-autoplugging.xml:
19446         * docs/manual/appendix-checklist.xml:
19447         * docs/manual/appendix-integration.xml:
19448         * docs/manual/highlevel-components.xml:
19449           Fix playbin/decodebin examples, update docs a bit, mention bus
19450           instead of signals in various places, mention kmplayer and
19451           kaffeine since they have a working GStreamer backend in the KDE
19452           section.
19453
19454 2005-06-30  Wim Taymans  <wim@fluendo.com>
19455
19456         * CHANGES-0.9:
19457         * docs/design/draft-ghostpads.txt:
19458         * docs/design/draft-push-pull.txt:
19459         * docs/design/draft-query.txt:
19460         * docs/design/part-TODO.txt:
19461         * docs/design/part-query.txt:
19462         Added CHANGES-0.9 doc, updated status of other docs.
19463         
19464         * gst/gstquery.h:
19465         Remove "hmm" macro
19466
19467 2005-06-30  Wim Taymans  <wim@fluendo.com>
19468
19469         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
19470         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
19471         (gst_base_sink_change_state):
19472         * gst/base/gstbasesink.h:
19473         Some tweaks, only EOS and a buffer complete a preroll.
19474
19475 2005-06-30  Andy Wingo  <wingo@pobox.com>
19476
19477         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
19478         activate_push down to the internal pad as well.
19479
19480 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
19481
19482         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19483
19484         * gst/gsttaginterface.c:
19485           Some documentation fixes (#307394 and #307397).
19486
19487 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
19488
19489         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19490
19491         * gst/gstvalue.c: (gst_value_intersect_list):
19492           Fix memleak (#309125).
19493
19494 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19495
19496         * docs/manual/advanced-dataaccess.xml:
19497           Fix fakesrc example to compile; doesn't work, bug somewhere...?
19498         * docs/manual/basics-pads.xml:
19499           Add reference for filtered caps to above chapter.
19500
19501 2005-06-30  Wim Taymans  <wim@fluendo.com>
19502
19503         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
19504         (gst_bin_change_state):
19505         Probes are gone.
19506         Lame attempt at making the state change function a bit
19507         more readable.
19508
19509 2005-06-30  Wim Taymans  <wim@fluendo.com>
19510
19511         * docs/design/part-clocks.txt:
19512         * docs/design/part-element-sink.txt:
19513         * docs/design/part-events.txt:
19514         * docs/design/part-preroll.txt:
19515         * docs/design/part-states.txt:
19516         Some more tweeks and additions to the docs.
19517
19518 2005-06-30  Wim Taymans  <wim@fluendo.com>
19519
19520         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
19521         (default_have_data), (gst_pad_class_init), (gst_pad_init),
19522         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
19523         (gst_pad_check_pull_range), (gst_pad_get_range),
19524         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
19525         * gst/gstpad.h:
19526         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
19527         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
19528         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
19529         (gst_pad_remove_buffer_probe):
19530         Removed atomic operations, use existing LOCK.
19531         Move exception handling out of main code path.
19532
19533 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19534
19535         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
19536         (silly_return_true_function), (gst_pad_class_init),
19537         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
19538         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
19539         (gst_pad_send_event):
19540           Fix accumulator, add default value by using _emitv() instead
19541           of _emit() for signal emission.
19542
19543 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19544
19545         * docs/manual/advanced-dataaccess.xml:
19546         * examples/manual/Makefile.am:
19547           Add probe example.
19548         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
19549           Make work (??).
19550
19551 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
19552
19553         * gst/elements/gstfilesink.c: (gst_filesink_render):
19554           Simplify code so that we don't have to handle short
19555           writes and return GST_FLOW_ERROR if an error occured.
19556
19557 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19558
19559         * docs/gst/gstreamer-docs.sgml:
19560           Remove probes more.
19561
19562 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19563
19564         * docs/gst/gstreamer-sections.txt:
19565         * docs/gst/tmpl/gstpad.sgml:
19566         * docs/gst/tmpl/gstprobe.sgml:
19567         * gst/Makefile.am:
19568         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
19569         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
19570         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
19571         (gst_pad_push_event), (gst_pad_send_event):
19572         * gst/gstpad.h:
19573         * gst/gstutils.c: (gst_pad_add_data_probe),
19574         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
19575         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
19576         (gst_pad_remove_buffer_probe):
19577         * gst/gstutils.h:
19578           Remove old probes, add new g-signal-based probes and some utility
19579           functions.
19580
19581 2005-06-29  Edward Hervey  <edward@fluendo.com>
19582
19583         * gst/gstelementfactory.c:
19584         * gst/gstutils.h:
19585         * gst/gstutils.c:
19586         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
19587         the definition to the header file.
19588
19589 2005-06-29  Andy Wingo  <wingo@pobox.com>
19590
19591         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
19592         plugins from the source directory.
19593
19594 2005-06-29  Wim Taymans  <wim@fluendo.com>
19595
19596         * docs/gst/tmpl/gstbuffer.sgml:
19597         * docs/gst/tmpl/gstclock.sgml:
19598         Some fixings for blantently wrong text.
19599
19600 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19601
19602         * check/Makefile.am:
19603         * gst/gst.c: (add_path_func), (init_pre):
19604         * gst/gstregistry.c: (gst_registry_add_path):
19605           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
19606           only scan the GST_PLUGIN_PATH locations, and not add
19607           system locations
19608
19609 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19610
19611         * docs/gst/gstreamer-sections.txt:
19612         * docs/gst/tmpl/gstbasesrc.sgml:
19613         * gst/gstelement.c:
19614         * gst/gstelement.h:
19615         * gst/gstevent.c:
19616         * gst/gstutils.c:
19617           doc fixes
19618
19619 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19620
19621         * docs/manual/advanced-autoplugging.xml:
19622           Fix autoplugging example.
19623
19624 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19625
19626         * docs/manual/advanced-autoplugging.xml:
19627         * docs/manual/mime-world.fig:
19628           Try to get autoplugging working, fix type detection. Fix text
19629           in hello-world image.
19630
19631 2005-06-29  Wim Taymans  <wim@fluendo.com>
19632
19633         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19634         (gst_base_sink_change_state):
19635         Small debug line.
19636
19637         * gst/gstclock.h:
19638         map SIGNAL and BROADCAST to the right function.
19639
19640         * gst/gstobject.h:
19641         Remove redundant braces.
19642
19643         * gst/gstpad.c: (gst_pad_set_caps):
19644         Don't call setcaps function when reseting caps to NULL.
19645
19646         * gst/gstsystemclock.c: (gst_system_clock_dispose),
19647         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
19648         (gst_system_clock_id_unschedule):
19649         Use BROADCAST as this is what we do.
19650
19651 2005-06-29  Wim Taymans  <wim@fluendo.com>
19652
19653         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19654         We are actually prerolling before commiting the state
19655         change. 
19656
19657 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19658
19659         * docs/manual/advanced-clocks.xml:
19660         * docs/manual/advanced-interfaces.xml:
19661         * docs/manual/advanced-metadata.xml:
19662         * docs/manual/advanced-position.xml:
19663         * docs/manual/advanced-schedulers.xml:
19664         * docs/manual/advanced-threads.xml:
19665         * docs/manual/appendix-porting.xml:
19666         * docs/manual/basics-bins.xml:
19667         * docs/manual/basics-bus.xml:
19668         * docs/manual/basics-elements.xml:
19669         * docs/manual/basics-helloworld.xml:
19670         * docs/manual/basics-pads.xml:
19671         * docs/manual/highlevel-components.xml:
19672         * docs/manual/manual.xml:
19673         * docs/manual/thread.fig:
19674           Update (until threads/scheduling) Application Development Manual;
19675           remove GstThread, add GstBus, add simple porting checklist, add
19676           documentation for tag writing, clocks, make all examples until this
19677           part compile and run.
19678         * examples/manual/Makefile.am:
19679           Update from changes to Application Development Manual; add bus
19680           example, remove thread example.
19681
19682 2005-06-28  Wim Taymans  <wim@fluendo.com>
19683
19684         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
19685         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
19686         (gst_bus_source_dispatch):
19687         Add debugging messages.
19688         Make internal methods static.
19689         Handle the case where the bus is flushed in the handler.
19690         
19691         * gst/gstelement.c: (gst_element_get_bus):
19692         Fix refcount in _get_bus();
19693
19694         * gst/gstpipeline.c: (gst_pipeline_change_state),
19695         (gst_pipeline_get_clock_func):
19696         Clock refcounting fixes.
19697         Handle the case where preroll timed out more gracefully.
19698         
19699         * gst/gstsystemclock.c: (gst_system_clock_dispose):
19700         Clean up the internal thread in dispose. This is needed
19701         for subclasses that actually get disposed.
19702         
19703         * gst/schedulers/threadscheduler.c:
19704         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
19705         (gst_thread_scheduler_dispose):
19706         Free thread pool in dispose.
19707
19708 2005-06-28  Andy Wingo  <wingo@pobox.com>
19709
19710         * tests/network-clock-utils.scm (debug, print-event): New utils.
19711
19712         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
19713         (*packet-loss*): Unified loss probability.
19714         (network-time): Report out-of-band events.
19715
19716         * tests/plot-data: Add support for out-of-band events. Hack it
19717         into this script instead of passing it down the pipe; should fix
19718         this later.
19719
19720 2005-06-28  Wim Taymans  <wim@fluendo.com>
19721
19722         * docs/gst/gstreamer.types:
19723         * docs/gst/tmpl/gstbasesrc.sgml:
19724         * docs/gst/tmpl/gstpad.sgml:
19725         Docs fixes.
19726
19727 2005-06-28  Wim Taymans  <wim@fluendo.com>
19728
19729         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
19730         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
19731         (gst_proxy_pad_do_fixatecaps):
19732         Correctly proxy the check_pull_range function.
19733
19734 2005-06-28  Andy Wingo  <wingo@pobox.com>
19735
19736         * tests/network-clock.scm: Removed need for slib.
19737         
19738 2005-06-28  Wim Taymans  <wim@fluendo.com>
19739
19740         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
19741         (gst_basesink_preroll_queue_flush):
19742         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
19743         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
19744         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
19745         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
19746         (gst_proxy_pad_set_property):
19747         * gst/gstpad.c:
19748         * gst/gstpad.h:
19749         * gst/gstqueue.c: (gst_queue_init):
19750         The deprecated pad loop function is removed now.
19751
19752 2005-06-28  Andy Wingo  <wingo@pobox.com>
19753
19754         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
19755         New parameters, simulate network packet loss.
19756
19757         * tests/network-clock-utils.scm: Initialize the RNG.
19758
19759 2005-06-28  Wim Taymans  <wim@fluendo.com>
19760
19761         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
19762         (gst_basesink_event), (gst_basesink_deactivate):
19763         Flushing the preroll queue always needs to unlock the waiters.
19764
19765 2005-06-28  Edward Hervey  <edward@fluendo.com>
19766
19767         * gst/gstpipeline.c: (gst_pipeline_send_event): 
19768         Wheen a seek was successful on a pipeline, set the stream_time to the
19769         seek offset in order to have a synchronized stream_time.
19770
19771 2005-06-28  Wim Taymans  <wim@fluendo.com>
19772
19773         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
19774         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
19775         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
19776         (gst_proxy_pad_do_fixatecaps):
19777         Call wrapper function instead of just calling the function
19778         pointers. This takes care of any locking and whatmore.
19779
19780 2005-06-28  Wim Taymans  <wim@fluendo.com>
19781
19782         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
19783         (gst_pad_pull_range):
19784         * gst/gstpad.h:
19785         CONNECTED -> LINKED.
19786
19787 2005-06-28  Andy Wingo  <wingo@pobox.com>
19788
19789         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
19790         source-munging commit!!!
19791
19792         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
19793         (gst_object_sink): Take gpointer arguments, not GstObject --
19794         avoids casts. Like GLib.
19795
19796         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
19797         activate.
19798
19799 2005-06-27  Andy Wingo  <wingo@pobox.com>
19800
19801         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
19802         remaining buffer.
19803
19804         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
19805         returns a sorted copy of the trace list.
19806         (gst_alloc_trace_print_live): New API, only prints traces with
19807         live objects. Sort the list.
19808         (gst_alloc_trace_print_all): Sort the list.
19809         (gst_alloc_trace_print): Align columns.
19810
19811         * gst/elements/gstttypefindelement.c:
19812         * gst/elements/gsttee.c:
19813         * gst/base/gstbasesrc.c:
19814         * gst/base/gstbasesink.c:
19815         * gst/base/gstbasetransform.c:
19816         * gst/gstqueue.c: Adapt for pad activation changes.
19817
19818         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
19819         sched.
19820         (gst_pipeline_dispose): Drop ref on sched.
19821
19822         * gst/gstpad.c (gst_pad_init): Set the default activate func.
19823         (gst_pad_activate_default): Push mode by default.
19824         (pre_activate_switch, post_activate_switch): New stubs, things to
19825         do before and after switching activation modes on pads.
19826         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
19827         the pad's activate function to choose which mode to activate.
19828         Shortcut on deactivation and call the right function directly.
19829         (gst_pad_activate_pull): New API, (de)activates a pad in pull
19830         mode.
19831         (gst_pad_activate_push): New API, same for push mode.
19832         (gst_pad_set_activate_function) 
19833         (gst_pad_set_activatepull_function) 
19834         (gst_pad_set_activatepush_function): Setters for new API.
19835
19836         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
19837         Trace all miniobjects.
19838         (gst_mini_object_make_writable): Unref the arg if we copy, like
19839         gst_caps_make_writable.
19840
19841         * gst/gstmessage.c (_gst_message_initialize): No trace init.
19842
19843         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
19844         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
19845         Adapt for new pad API.
19846
19847         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
19848
19849         * gst/gstelement.h:
19850         * gst/gstelement.c (gst_element_iterate_src_pads) 
19851         (gst_element_iterate_sink_pads): New API functions.
19852         
19853         * gst/gstelement.c (iterator_fold_with_resync): New utility,
19854         should fold into gstiterator.c in some form.
19855         (gst_element_pads_activate): Simplified via use of fold and
19856         delegation of decisions to gstpad->activate.
19857
19858         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
19859         help in debugging.
19860
19861         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
19862         class once in init, like gstmessage. Didn't run into this issue
19863         but it seems correct. Don't initialize a trace, gstminiobject does
19864         that.
19865
19866         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
19867         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
19868         to the bus.
19869         (assert_live_count): New util function, uses alloc traces to check
19870         cleanup.
19871
19872         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
19873         To be modified when unlink drops the internal pad.
19874
19875 2005-06-27  Wim Taymans  <wim@fluendo.com>
19876
19877         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
19878         (gst_bin_change_state):
19879         Cleanup the get_state() function a little, make sure it
19880         iterates the same set of elements.
19881         Added stub iterate_state_order().
19882
19883 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
19884
19885         * docs/gst/gstreamer-docs.sgml:
19886         * docs/gst/gstreamer-sections.txt:
19887         * docs/gst/gstreamer.types:
19888         * docs/gst/tmpl/gstbasesink.sgml:
19889         * docs/gst/tmpl/gstbasesrc.sgml:
19890         * docs/gst/tmpl/gstbasetransform.sgml:
19891         * docs/gst/tmpl/gstelement.sgml:
19892         * docs/gst/tmpl/gstiterator.sgml:
19893         * gst/base/gstbasesrc.c:
19894         * gst/base/gstbasesrc.h:
19895         * gst/base/gstbasetransform.h:
19896         * gst/gstelement.c:
19897         * gst/gstiterator.h:
19898           adding basetransform and iterator docs
19899
19900 2005-06-27  Andy Wingo  <wingo@pobox.com>
19901
19902         * docs/design/part-activation.txt: Notes on how activation should
19903         work -- not quite implemented yet.
19904
19905 2005-06-25  Wim Taymans  <wim@fluendo.com>
19906
19907         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
19908         At least get the chain function correct, needs more
19909         fixing.
19910
19911 2005-06-25  Wim Taymans  <wim@fluendo.com>
19912
19913         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
19914         (gst_basesink_handle_object), (gst_basesink_event),
19915         (gst_basesink_do_sync), (gst_basesink_handle_event),
19916         (gst_basesink_change_state):
19917         * gst/gsttask.h:
19918         Right, two problems here: ghostpads don't take locks and
19919         glib _rec_mutex_lock_full() with depth==0 still locks.
19920         Catch illegal locking and g_warn them.
19921
19922 2005-06-25  Wim Taymans  <wim@fluendo.com>
19923
19924         * check/states/sinks.c: (START_TEST), (gst_object_suite):
19925         Have to check for completion now...
19926
19927 2005-06-25  Wim Taymans  <wim@fluendo.com>
19928
19929         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
19930         (gst_basesink_handle_object), (gst_basesink_event),
19931         (gst_basesink_do_sync), (gst_basesink_handle_event),
19932         (gst_basesink_change_state):
19933         * gst/gstpad.h:
19934         Unlock STREAM_LOCK whatever the recursion was.
19935
19936 2005-06-25  Wim Taymans  <wim@fluendo.com>
19937
19938         * gst/base/gstbasesink.c: (gst_basesink_set_property),
19939         (gst_basesink_preroll_queue_empty),
19940         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
19941         (gst_basesink_event), (gst_basesink_do_sync),
19942         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
19943         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
19944         (gst_basesink_change_state):
19945         Reworked the base sink, handle event and buffer serialisation
19946         correctly and removed possible deadlock.
19947         Handle EOS correctly.
19948
19949 2005-06-25  Wim Taymans  <wim@fluendo.com>
19950
19951         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
19952         (gst_pipeline_change_state):
19953         * tools/gst-launch.c: (check_intr), (event_loop), (main):
19954         Allow elements to post EOS in the state change function.
19955         Fix up -launch, make it exit the poll loop when the
19956         pipeline actually changed state.
19957         Fix up warning parsing in -launch.
19958
19959 2005-06-25  Wim Taymans  <wim@fluendo.com>
19960
19961         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
19962         (gst_tee_sink_activate):
19963         Core takes STREAM_LOCK for us now.
19964
19965 2005-06-25  Wim Taymans  <wim@fluendo.com>
19966
19967         * gst/gstelement.c: (gst_element_get_state_func),
19968         (gst_element_set_state):
19969         * gst/gstelement.h:
19970         * gst/gstmessage.c: (gst_message_parse_error),
19971         (gst_message_parse_warning):
19972         Keep track of current target state while performing a state
19973         change so that subclasses can do something interesting.
19974         Fix parsing of warning/error messages when GError is NULL.
19975
19976 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
19977
19978         * docs/gst/Makefile.am:
19979         * docs/gst/gstreamer-docs.sgml:
19980         * docs/gst/gstreamer-sections.txt:
19981         * docs/gst/gstreamer.types:
19982         * docs/gst/tmpl/gstbasesink.sgml:
19983         * docs/gst/tmpl/gstbasesrc.sgml:
19984         * docs/gst/tmpl/gstbin.sgml:
19985         * docs/gst/tmpl/gstcompat.sgml:
19986         * docs/gst/tmpl/gstfakesink.sgml:
19987         * docs/gst/tmpl/gstfakesrc.sgml:
19988         * docs/gst/tmpl/gstfilesink.sgml:
19989         * docs/gst/tmpl/gstfilesrc.sgml:
19990         * docs/gst/tmpl/gstindex.sgml:
19991         * docs/manual/appendix-quotes.xml:
19992         * gst/base/gstbasesrc.h:
19993         * gst/elements/gstfakesrc.h:
19994         * gst/gstmessage.h:
19995           start pulling in base classes and elements in our docs
19996
19997 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
19998
19999         * docs/gst/Makefile.am:
20000         * docs/libs/Makefile.am:
20001           fixed make distcheck with gtk-doc 1.3
20002
20003 2005-06-23  Wim Taymans  <wim@fluendo.com>
20004
20005         * gst/gstelement.c: (gst_element_get_state_func),
20006         (gst_element_set_state), (gst_element_change_state):
20007         When the state did not change, also report NO_PREROLL
20008         when it matters.
20009
20010 2005-06-23  Wim Taymans  <wim@fluendo.com>
20011
20012         * gst/gstpad.c: (gst_pad_event_default):
20013         * gst/gstqueue.c: (gst_queue_loop):
20014         No unsafe task pausing please.
20015
20016 2005-06-23  Wim Taymans  <wim@fluendo.com>
20017
20018         * gst/schedulers/threadscheduler.c:
20019         (gst_thread_scheduler_task_start),
20020         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
20021         Ref the task before pushing it on the threadpool. This
20022         makes sure that we have a ref when the threadfunction is
20023         actually called.
20024
20025 2005-06-23  Andy Wingo  <wingo@pobox.com>
20026
20027         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
20028         offset is greater than the file's size.
20029
20030         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
20031         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
20032         * gst/gstobject.c (gst_object_class_init): Make the class lock
20033         recursive. Wim won't let me drop deep_notify. Decodebin works
20034         again, whoopdy doo.
20035
20036         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
20037         internal pad, and hacks accordingly. Doesn't do it on the target
20038         pad because we change its caps. Probably catches all cases of
20039         interest tho.
20040         (gst_ghost_pad_set_property): Connect to notify::caps as
20041         appropritate.
20042
20043         * tests/network-clock.scm (plot-simulation): Pipe data to the
20044         elite python skript.
20045
20046         * tests/network-clock-utils.scm (define-parameter): New macro,
20047         defines a parameter that can be set via the command line.
20048         (set-parameter!, parse-parameter-arguments): Command line args
20049         parser.
20050
20051         * tests/plot-data: Simple matplotlib-based plotter, takes input on
20052         stdin.
20053
20054 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
20055
20056         * gst/elements/gsttypefindelement.c:
20057         (gst_type_find_element_handle_event):
20058           Don't restart typefinding on a discont.
20059         * gst/gstelement.c: (gst_element_set_state):
20060           Debug spelling fix.
20061         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
20062           Allow changing mode of an active pad.
20063           Debug output fixes.
20064         * gst/registries/gstlibxmlregistry.c: (load_feature):
20065           Don't cast a static pad template to a normal pad template.
20066
20067 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20068
20069         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
20070         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
20071           remove gst_strtoll completely, since it didn't actually do
20072           anything more than what g_ascii_strtoull already does.
20073           check for range errors when deserializing
20074           do a cast for the unsigned cases; but further fixing needs
20075           a decision on what the interpretation of "(int)" and
20076           deserialization should be for values that fall outside the
20077           type's boundaries (ie, refuse, or interpret as casting)
20078
20079 2005-06-23  Wim Taymans  <wim@fluendo.com>
20080
20081         * check/Makefile.am:
20082         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
20083         * docs/design/part-live-source.txt:
20084         * docs/design/part-states.txt:
20085         * gst/base/gstbasesrc.c: (gst_basesrc_init),
20086         (gst_basesrc_set_live), (gst_basesrc_is_live),
20087         (gst_basesrc_get_range), (gst_basesrc_activate),
20088         (gst_basesrc_change_state):
20089         * gst/base/gstbasesrc.h:
20090         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
20091         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
20092         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
20093         * gst/gstelement.c: (gst_element_get_state_func),
20094         (gst_element_set_state):
20095         * gst/gstelement.h:
20096         * gst/gsttypes.h:
20097         * tools/gst-launch.c: (event_loop), (main):
20098         Added support for live sources and other elements that
20099         cannot do preroll.
20100         Updated design docs, added live-source design doc.
20101         Implemented live source functionality in basesrc
20102         Fix error condition in _bin_get_state()
20103         Implement live source handling in -launch.
20104         Added check for live sources.
20105         Fixed case in GstBin where elements were changed state
20106         multiple times.
20107
20108
20109 2005-06-23  Andy Wingo  <wingo@pobox.com>
20110
20111         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
20112         borken refcounting.
20113
20114         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
20115         gst_caps_replace takes care of this for us.
20116
20117         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
20118         gst_pad_set_caps on the target, not just its setcaps() function.
20119
20120         * tests/network-clock.scm: 
20121         * tests/network-clock-utils.scm: A network clock simulator.
20122         Something of an algorithmic testbed before doing something in C.
20123
20124 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20125
20126         * check/Makefile.am:
20127         * check/gst/capslist.h:
20128           copy over from 0.8, and add two with bitmasks specified with
20129           (int) 0xFF...
20130         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
20131           add test to parse everything from capslist.h
20132         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
20133         (main):
20134           add test for structure deserialization
20135         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
20136           add tests for deserialization of strings to int types
20137         * gst/gststructure.c: (gst_structure_nth_field_name):
20138         * gst/gststructure.h:
20139           add a way to get the name of a field referenced by index
20140         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
20141           instead of checking if the resulting long long lies between
20142           min and max, we check if the long long would fit into
20143           a number of bytes for the final type.
20144           This fixes cases where a string represents 2^32 - 1, which
20145           when cast to int would be the (valid) -1, but is bigger than
20146           G_MAXINT
20147
20148 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20149
20150         * gst/parse/grammar.y:
20151           add a log line for type deserialization
20152
20153 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20154
20155         * check/gst/gstvalue.c: (START_TEST):
20156         * gst/gstvalue.c: (gst_value_deserialize):
20157           return long long, not int, so gint64 deserialization actually
20158           works.  Is there any flag that makes the compiler check this ?
20159           Fixes #308559
20160
20161 2005-06-22  Wim Taymans  <wim@fluendo.com>
20162
20163         * gst/gstbuffer.h:
20164         Added convenience macros for setting buffers in GValue.
20165
20166 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
20167
20168         * check/gst/.cvsignore:
20169         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
20170           add a test deserializing int64, and comment part out because
20171           it fails, yay !
20172
20173 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
20174
20175         * check/Makefile.am:
20176         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
20177         * testsuite/Makefile.am:
20178         * testsuite/caps/Makefile.am:
20179         * testsuite/caps/value_serialize.c:
20180         * testsuite/test_gst_init.c:
20181           move a value_serialize test over
20182
20183 2005-06-20  Wim Taymans  <wim@fluendo.com>
20184
20185         * gst/gstpad.c:
20186         Small doc updates.
20187         
20188         * gst/gstvalue.c: (gst_value_compare_buffer),
20189         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
20190         (gst_value_compare_flags), (gst_value_serialize_flags),
20191         (gst_value_deserialize_flags), (_gst_value_initialize):
20192         Fix serialisation of buffers, they are not boxed types anymore
20193
20194 2005-06-20  Wim Taymans  <wim@fluendo.com>
20195
20196         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
20197         Testcase to show error in buffer-on-caps serialisation.
20198
20199 2005-06-20  Andy Wingo  <wingo@pobox.com>
20200
20201         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
20202         will be adding to later.
20203
20204         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
20205         if its socks fill with rocks.
20206         (gst_system_clock_obtain): Set the name on object construction.
20207         Avoid double-checked locking.
20208
20209 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
20210
20211         * gst/gsturi.c: (gst_element_make_from_uri):
20212           Fix potential endless loop.
20213
20214 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20215
20216         * check/Makefile.am:
20217           add gsttag
20218         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
20219         (main):
20220           move over from testsuite dir and clean up
20221         * configure.ac:
20222         * gst/gsttag.c:
20223         * testsuite/Makefile.am:
20224         * testsuite/tags/.cvsignore:
20225         * testsuite/tags/Makefile.am:
20226         * testsuite/tags/merge.c:
20227           remove testsuite/tags
20228
20229 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20230
20231         * docs/gst/gstreamer-sections.txt:
20232         * docs/gst/tmpl/gstenumtypes.sgml:
20233         * win32/gstenumtypes.c:
20234           clean up documentation build a little
20235
20236 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20237
20238         * check/gstcheck.h:
20239           add macros for checking refcounts on objects and caps
20240         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
20241           add some more unit tests
20242         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
20243         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
20244           fix leaked refcounts (I hope :)) so unittest works
20245         * gst/gstpad.h:
20246           whitespace removal
20247
20248 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20249
20250         * configure.ac: back to HEAD
20251
20252 === release 0.9.1 ===
20253
20254 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
20255
20256         * NEWS:
20257         * RELEASE:
20258           updated
20259
20260 2005-06-17  Andy Wingo  <wingo@pobox.com>
20261
20262         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
20263         assert; it's always possible that the pad gets deactivated in
20264         between the checks in gstpad.c and the implementation. Rely on
20265         finish_preroll() to return a FLUSHING or similar instead of on the
20266         assert.
20267         
20268         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
20269         clock and post an EOS message if we come out of finish_preroll in
20270         the playing state.
20271
20272 2005-06-16  David Schleef  <ds@schleef.org>
20273
20274         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
20275         (gst_capsfilter_set_property): Allow NULL as possible value
20276         for filter_caps property, indicating GST_CAPS_ANY.
20277
20278 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
20279
20280         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
20281           fix debug output
20282         * gst/schedulers/Makefile.am:
20283           use libgst prefix
20284         * gstreamer.spec.in:
20285           fix spec for it
20286
20287 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
20288
20289         * gstreamer.spec.in:
20290           clean up
20291
20292 2005-06-08  Andy Wingo  <wingo@pobox.com>
20293
20294         * gst/gstutils.c: RPAD fixes all around.
20295         (gst_element_link_pads): Refcounting fixes.
20296
20297         * tools/gst-inspect.c:
20298         * tools/gst-xmlinspect.c:
20299         * parse/grammar.y:
20300         * gst/base/gsttypefindhelper.c:
20301         * gst/base/gstbasesink.c:
20302         * gst/gstqueue.c: RPAD fixes.
20303
20304         * gst/gstghostpad.h:
20305         * gst/gstghostpad.c: New ghost pad implementation as full proxy
20306         pads. The tricky thing is they provide both source and sink
20307         interfaces, since they proxy the internal pad for the external
20308         pad, and vice versa. Implement with lower-level ProxyPad objects,
20309         with the interior proxy pad as a child of the exterior ghost pad.
20310         Should write a doc on this.
20311         
20312         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
20313         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
20314         gst_object API.
20315         
20316         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
20317         pads are real pads. No ghost pads in this file. Not documenting
20318         the myriad s/RPAD/PAD/ and REALIZE fixes.
20319         (gst_pad_class_init): Add properties for "direction" and
20320         "template". Both are construct-only, so they can't change during
20321         the life of the pad. Fixes properly deriving from GstPad.
20322         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
20323         derived objects, just set properties when creating the objects via
20324         g_object_new.
20325         (gst_pad_get_parent): Implement as a function, return NULL if the
20326         parent is not an element.
20327         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
20328         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
20329         
20330         * gst/gstobject.c (gst_object_class_init): Make name a construct
20331         property. Don't set it in the object init.
20332
20333         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
20334         with UNKNOWN direction.
20335         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
20336         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
20337         (gst_element_remove_pad): Remove ghost-pad special cases.
20338         (gst_element_pads_activate): Remove rpad cruft.
20339
20340         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
20341         catch the pad's-parent-not-an-element case.
20342
20343         * gst/gst.h: Include gstghostpad.h.
20344
20345         * gst/gst.c (init_post): No more real, ghost pads.
20346
20347         * gst/Makefile.am: Add gstghostpad.[ch].
20348
20349         * check/Makefile.am:
20350         * check/gst/gstbin.c:
20351         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
20352         into a bin creates ghost pads, and that the refcounts are right.
20353         Partly moved from gstbin.c.
20354
20355 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20356
20357         * check/gst-libs/.cvsignore:
20358         * check/gst/.cvsignore:
20359         * check/pipelines/.cvsignore:
20360           ignore more
20361         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
20362         (START_TEST), (cleanup_suite), (main):
20363           add some tests related to cleanup after running pipelines
20364
20365 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20366
20367         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
20368           add a testsuite for GstBuffer
20369
20370 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20371
20372         * gst/gstminiobject.h:
20373           add defines for accessing the refcount
20374
20375 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
20376
20377         * Makefile.am: added support for html unit test coverage reports
20378
20379 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
20380
20381         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
20382           Free existing caps if the capsfilter changes. Add a FIXME about
20383           setting those caps on the pads.
20384
20385         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
20386           Before adding a ghost pad to a parent bin, check that there isn't
20387           already one for the element on the bin. Prevents infinite recursion
20388           when using decodebin in parse pipelines. Andy says he'll rewrite the
20389           way this works anyway, so ignore the hack.
20390
20391 2005-06-02  Andy Wingo  <wingo@pobox.com>
20392
20393         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
20394         file size, pass it on to the type find helper.
20395
20396         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
20397         segment_start and segment_end properly according to the seek
20398         method. Segment_end is still a bit flaky because offset can be
20399         negative for CUR and END cases, but it takes -1 as an "unset"
20400         value.
20401
20402 2005-06-02  Wim Taymans  <wim@fluendo.com>
20403
20404         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
20405         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
20406         (gst_basesink_activate):
20407         * gst/base/gstbasesink.h:
20408         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
20409         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
20410         (gst_pad_query), (gst_pad_start_task):
20411         * gst/gstpad.h:
20412         * gst/gstqueue.c: (gst_queue_bufferalloc),
20413         (gst_queue_handle_sink_event), (gst_queue_chain):
20414         Bufferalloc: return GstFlowReturn to more accuratly report
20415         why allocation failed.
20416
20417 2005-06-02  Wim Taymans  <wim@fluendo.com>
20418
20419         * gst/gstpipeline.c: (gst_pipeline_send_event):
20420         Take snapshot of state without blocking.
20421
20422 2005-06-02  Wim Taymans  <wim@fluendo.com>
20423
20424         * docs/design/part-TODO.txt:
20425         * docs/design/part-caps.txt:
20426         * docs/design/part-clocks.txt:
20427         * docs/design/part-negotiation.txt:
20428         * docs/design/part-preroll.txt:
20429         Small doc updates 
20430
20431 2005-05-30  Wim Taymans  <wim@fluendo.com>
20432
20433         * gst/elements/gstidentity.c: (gst_identity_event),
20434         (gst_identity_transform), (gst_identity_get_property):
20435         Protect last_message property as it is accessed from
20436         multiple threads.
20437
20438 2005-05-30  Wim Taymans  <wim@fluendo.com>
20439
20440         * gst/gstelement.c: (gst_element_init),
20441         (gst_element_pads_activate), (gst_element_change_state):
20442         Slicker pad activation code.
20443
20444 2005-05-30  Wim Taymans  <wim@fluendo.com>
20445
20446         * gst/Makefile.am:
20447         * gst/gstelement.h:
20448         * gst/gstelementfactory.h:
20449         * gst/gsttypes.h:
20450         Move elementfactory methods to separate .h file.
20451
20452 2005-05-30  Wim Taymans  <wim@fluendo.com>
20453
20454         * docs/design/part-overview.txt:
20455         * gst/gstsystemclock.h:
20456         Small typo fixes, doc updates.
20457
20458 2005-05-30  Wim Taymans  <wim@fluendo.com>
20459
20460         * gst/gst.c: (gst_init_get_popt_table), (init_post),
20461         (init_popt_callback):
20462         Remove cpu-opt flag.
20463
20464 2005-05-30  Wim Taymans  <wim@fluendo.com>
20465
20466         * gst/gstbuffer.c: (gst_subbuffer_finalize),
20467         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
20468         * gst/gstbuffer.h:
20469         Avoid typechecking in places where not needed.
20470         Added accessor for malloc_data.
20471
20472 2005-05-30  Wim Taymans  <wim@fluendo.com>
20473
20474         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
20475         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
20476         (gst_pad_configure_sink), (gst_pad_configure_src),
20477         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
20478         (gst_pad_start_task):
20479         Propagate errors from _set_caps() in configure_src/sink
20480         functions instead of returning TRUE.
20481         FLUSH events can travel up and downstream
20482
20483
20484 2005-05-30  Wim Taymans  <wim@fluendo.com>
20485
20486         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
20487         (gst_basesink_activate):
20488         Handle EOS in preroll.
20489
20490 2005-05-30  Wim Taymans  <wim@fluendo.com>
20491
20492         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
20493         (gst_queue_loop), (gst_queue_handle_src_event):
20494         Remove old pieces of code
20495         Flushing the queue in an upstream event is a very bad idea.
20496
20497 2005-05-26  Andy Wingo  <wingo@pobox.com>
20498
20499         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
20500         gst_value_set_mini_object so as to add a ref on the object (which
20501         will be removed when the value is unset).
20502
20503         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
20504         arg type in ::handoff.
20505
20506         * gst/gstelement.c (gst_element_change_state): Also deactivate
20507         pads in READY->NULL, just in case the element didn't make it to
20508         PAUSED. Wingo tested, Wim approved.
20509
20510 2005-05-26  Wim Taymans  <wim@fluendo.com>
20511
20512         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
20513         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
20514         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
20515         A flushing pad cannot be used to alloc_buffer from.
20516
20517 2005-05-26  Wim Taymans  <wim@fluendo.com>
20518
20519         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
20520         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
20521         (gst_bus_source_dispatch), (gst_bus_source_finalize),
20522         (gst_bus_create_watch), (gst_bus_add_watch_full):
20523         * gst/gstbus.h:
20524         Implement a real GSource and use g_main_context_wakeup() to
20525         signal new messages instead of the socketpair.
20526
20527 2005-05-25  Wim Taymans  <wim@fluendo.com>
20528
20529         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
20530         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
20531         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
20532         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
20533         (gst_pad_send_event), (gst_pad_start_task):
20534         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
20535         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
20536         (gst_queue_sink_activate), (gst_queue_src_activate),
20537         (gst_queue_change_state):
20538         * gst/gstqueue.h:
20539         Fix state changes for non sinks. We now change sinks, then elements
20540         with unconnected srcpads, then the rest.
20541         More efficient queue unlocking in flush and state changes.
20542         Set the pad activate mode even if it does not have an activate
20543         function.
20544
20545 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20546
20547         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
20548           Don't go in pull mode for non-seekable sources.
20549         * gst/elements/gsttypefindelement.h:
20550         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
20551         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
20552         (free_entry), (stop_typefinding),
20553         (gst_type_find_element_handle_event), (find_peek),
20554         (gst_type_find_element_chain), (do_pull_typefind),
20555         (gst_type_find_element_change_state):
20556           Allow typefinding (w/o seeking) in push-mode, simplified version
20557           of what was in 0.8.
20558         * gst/gstutils.c: (gst_buffer_join):
20559         * gst/gstutils.h:
20560           gst_buffer_join() from 0.8.
20561
20562 2005-05-25  Wim Taymans  <wim@fluendo.com>
20563
20564         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
20565         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
20566         (gst_pad_send_event), (gst_pad_start_task):
20567         Disable attempt at mode switching until it is figured out.
20568
20569 2005-05-25  Wim Taymans  <wim@fluendo.com>
20570
20571         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
20572         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
20573         (gst_basesink_finish_preroll), (gst_basesink_chain),
20574         (gst_basesink_loop), (gst_basesink_activate),
20575         (gst_basesink_change_state):
20576         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
20577         (gst_basesrc_get_range), (gst_basesrc_loop),
20578         (gst_basesrc_activate):
20579         * gst/elements/gsttee.c: (gst_tee_sink_activate):
20580         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
20581         (gst_real_pad_init), (gst_real_pad_set_property),
20582         (gst_real_pad_get_property), (gst_pad_set_active),
20583         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
20584         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
20585         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
20586         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
20587         (gst_pad_event_default_dispatch), (gst_pad_event_default),
20588         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
20589         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
20590         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
20591         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
20592         (gst_pad_stop_task):
20593         * gst/gstpad.h:
20594         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
20595         (gst_queue_loop), (gst_queue_src_activate):
20596         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
20597         (gst_task_get_state):
20598         * gst/gsttask.h:
20599         * gst/schedulers/threadscheduler.c:
20600         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
20601         Implement gst_pad_pause/start/stop_task(), take STREAM lock
20602         in task function.
20603         Remove ACTIVE pad flag, use FLUSHING everywhere
20604         Added _pad_chain(), _pad_get_range() to call chain/getrange 
20605         functions.
20606         Add locks around IS_FLUSHING when reading.
20607         Take STREAM lock in chain(), get_range() functions so plugins
20608         don't need to take it anymore.
20609         
20610
20611
20612 2005-05-25  Wim Taymans  <wim@fluendo.com>
20613
20614         * tools/gst-launch.c: (event_loop):
20615         Unref message after using its contents instead of
20616         before.
20617
20618 2005-05-24  Wim Taymans  <wim@fluendo.com>
20619
20620         * docs/design/draft-ghostpads.txt:
20621         * docs/design/draft-push-pull.txt:
20622         * docs/design/draft-query.txt:
20623         * docs/design/part-overview.txt:
20624         Docs updates, added general overview doc.
20625
20626 2005-05-21  David Schleef  <ds@schleef.org>
20627
20628         * docs/gst/tmpl/old/GstBin.sgml:
20629         * docs/gst/tmpl/old/GstBuffer.sgml:
20630         * docs/gst/tmpl/old/GstCaps.sgml:
20631         * docs/gst/tmpl/old/GstClock.sgml:
20632         * docs/gst/tmpl/old/GstCompat.sgml:
20633         * docs/gst/tmpl/old/GstData.sgml:
20634         * docs/gst/tmpl/old/GstElement.sgml:
20635         * docs/gst/tmpl/old/GstEvent.sgml:
20636         * docs/gst/tmpl/old/GstIndex.sgml:
20637         * docs/gst/tmpl/old/GstStructure.sgml:
20638         * docs/gst/tmpl/old/GstTag.sgml:
20639         * docs/gst/tmpl/old/cothreads.sgml:
20640         * docs/gst/tmpl/old/cothreads_compat.sgml:
20641         * docs/gst/tmpl/old/gettext.sgml:
20642         * docs/gst/tmpl/old/gobject2gtk.sgml:
20643         * docs/gst/tmpl/old/grammar.tab.sgml:
20644         * docs/gst/tmpl/old/gst-i18n-app.sgml:
20645         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
20646         * docs/gst/tmpl/old/gst_private.sgml:
20647         * docs/gst/tmpl/old/gstaggregator.sgml:
20648         * docs/gst/tmpl/old/gstarch.sgml:
20649         * docs/gst/tmpl/old/gstatomic_impl.sgml:
20650         * docs/gst/tmpl/old/gstbufferstore.sgml:
20651         * docs/gst/tmpl/old/gstdata_private.sgml:
20652         * docs/gst/tmpl/old/gstdisksink.sgml:
20653         * docs/gst/tmpl/old/gstdisksrc.sgml:
20654         * docs/gst/tmpl/old/gstelementfactory.sgml:
20655         * docs/gst/tmpl/old/gstextratypes.sgml:
20656         * docs/gst/tmpl/old/gstfakesink.sgml:
20657         * docs/gst/tmpl/old/gstfakesrc.sgml:
20658         * docs/gst/tmpl/old/gstfdsink.sgml:
20659         * docs/gst/tmpl/old/gstfdsrc.sgml:
20660         * docs/gst/tmpl/old/gstfilesink.sgml:
20661         * docs/gst/tmpl/old/gstfilesrc.sgml:
20662         * docs/gst/tmpl/old/gsthttpsrc.sgml:
20663         * docs/gst/tmpl/old/gstidentity.sgml:
20664         * docs/gst/tmpl/old/gstindexfactory.sgml:
20665         * docs/gst/tmpl/old/gstmarshal.sgml:
20666         * docs/gst/tmpl/old/gstmd5sink.sgml:
20667         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
20668         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
20669         * docs/gst/tmpl/old/gstpadtemplate.sgml:
20670         * docs/gst/tmpl/old/gstpipefilter.sgml:
20671         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
20672         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
20673         * docs/gst/tmpl/old/gstshaper.sgml:
20674         * docs/gst/tmpl/old/gstspider.sgml:
20675         * docs/gst/tmpl/old/gstspideridentity.sgml:
20676         * docs/gst/tmpl/old/gststatistics.sgml:
20677         * docs/gst/tmpl/old/gsttee.sgml:
20678         * docs/gst/tmpl/old/gsttimecache.sgml:
20679         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
20680         * docs/gst/tmpl/old/gstxmlregistry.sgml:
20681         * docs/gst/tmpl/old/gthread-cothreads.sgml:
20682         * docs/gst/tmpl/old/types.sgml:
20683           I didn't intend to add these or check them in.
20684
20685 2005-05-19  David Schleef  <ds@schleef.org>
20686
20687         * configure.ac: Use -no-common everywhere.  In a sane world, it
20688           would be the default in libtool, because without it, you can't
20689           build DLLs on Windows.
20690         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
20691         * docs/gst/gstreamer-sections.txt:
20692         * docs/gst/tmpl/gstcpu.sgml:
20693         * docs/gst/tmpl/gstdata.sgml:
20694         * docs/gst/tmpl/gstthread.sgml:
20695
20696 2005-05-19  David Schleef  <ds@schleef.org>
20697
20698         * gst/gstminiobject.c: (gst_value_set_mini_object),
20699         (gst_value_take_mini_object), (gst_value_get_mini_object):
20700         * gst/gstminiobject.h: Add GValue set/get functions.
20701
20702 2005-05-19  Wim Taymans  <wim@fluendo.com>
20703
20704         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
20705         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
20706         (gst_subbuffer_init), (gst_buffer_is_span_fast):
20707         * gst/gstbuffer.h:
20708         * gst/gstbus.c: (gst_bus_post):
20709         * gst/gstelement.c: (gst_element_get_random_pad):
20710         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
20711         Make subbufer unref the parent in finalize.
20712         some more debugging info.
20713
20714
20715 2005-05-19  Wim Taymans  <wim@fluendo.com>
20716
20717         * gst/base/gstbasesink.c: (gst_basesink_class_init),
20718         (gst_basesink_init), (gst_basesink_finalize),
20719         (gst_basesink_activate), (gst_basesink_change_state):
20720         Don't free preroll queue too early.
20721
20722 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20723
20724         * gst/Makefile.am:
20725         * gst/ROADMAP:
20726           Hi, I'm outdated. Please shoot me.
20727
20728 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20729
20730         * gst/gstpipeline.c: (gst_pipeline_send_event):
20731           Do not access variables after they have been deleted.
20732
20733 2005-05-19  Wim Taymans  <wim@fluendo.com>
20734
20735         * tools/gst-inspect.c: (print_plugin_features):
20736         A plugin feature does unfortunatly not use the
20737         object name yet...
20738
20739 2005-05-18  Wim Taymans  <wim@fluendo.com>
20740
20741         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
20742         Port _span() functions to new subbuffers.
20743
20744 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20745
20746         * gst/gstbin.c: (gst_bin_add_func):
20747           Fix clock settery in bins when adding kids after the clock has
20748           been selected.
20749
20750 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20751
20752         * gst/elements/gstidentity.c: (gst_identity_class_init):
20753           Workaround until signals support GstMiniObject.
20754
20755 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
20756
20757         * gst/gstbuffer.c:
20758         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
20759
20760 2005-05-18  Wim Taymans  <wim@fluendo.com>
20761
20762         * gst/base/Makefile.am:
20763         * gst/base/gstadapter.c: (gst_adapter_base_init),
20764         (gst_adapter_class_init), (gst_adapter_init),
20765         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
20766         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
20767         (gst_adapter_flush), (gst_adapter_available),
20768         (gst_adapter_available_fast):
20769         * gst/base/gstadapter.h:
20770         Ported and added adapter to the base classes.
20771
20772 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
20773
20774         * gst/gst.c:
20775         * gst/gstmessage.c:
20776           Make sure the class is reffed/unreffed once before threads can be
20777           used.  Fixes #304551.
20778
20779 2005-05-17  Wim Taymans  <wim@fluendo.com>
20780
20781         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
20782         (gst_basesink_chain_unlocked), (gst_basesink_activate):
20783         * gst/gstminiobject.c: (gst_mini_object_get_type),
20784         (gst_mini_object_free):
20785         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
20786         (gst_pad_push), (gst_pad_push_event):
20787         * gst/gstqueue.c: (gst_queue_change_state):
20788         Don't queue buffers in basesink when we are flushing.
20789         Unref buffer when flushing in basesink.
20790         Flush queue when going to READY
20791         Unref buffer when _push() returns an error.
20792         Don't free MiniObject instance when refcount is incremented
20793         in _finalize() so that we can recover objects.
20794
20795 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
20796
20797         * docs/manual/advanced-schedulers.xml:
20798         * docs/manual/appendix-checklist.xml:
20799         * docs/pwg/advanced-clock.xml:
20800         * docs/pwg/advanced-interfaces.xml:
20801         * docs/pwg/advanced-request.xml:
20802         * docs/pwg/advanced-types.xml:
20803         * docs/pwg/intro-preface.xml:
20804         * examples/plugins/example.c: (gst_example_get_type),
20805         (gst_example_class_init), (gst_example_chain),
20806         (gst_example_set_property), (gst_example_get_property),
20807         (gst_example_change_state), (plugin_init):
20808         * examples/plugins/example.h:
20809           small doc fixes
20810
20811 2005-05-17  Wim Taymans  <wim@fluendo.com>
20812
20813         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
20814         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
20815         * gst/gstqueue.c: (gst_queue_change_state):
20816         Clear queue when going to READY.
20817         Remove IN_SETCAPS flag too.
20818
20819 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
20820
20821         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
20822           Remove implicit cast from gboolean to GstElementStateReturn;
20823           make sure we still return failure in paused => ready case if
20824           the parent class fails to change state and our own stop 
20825           vfunc succeeds.
20826
20827 2005-05-17  Wim Taymans  <wim@fluendo.com>
20828
20829         * tools/gst-launch.c: (event_loop):
20830         Message was unreffed too soon.
20831
20832 2005-05-16  Andy Wingo  <wingo@pobox.com>
20833
20834         * gst/gstbin.c (sink_iterator_filter): Err... um...
20835
20836         * check/gst/gstbin.c (test_ghost_pads): New test for the
20837         ghosting-if-elements-not-in-same-bin behavior.
20838
20839 2005-05-16  David Schleef  <ds@schleef.org>
20840
20841         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
20842         accessing refcount directly.
20843
20844 2005-05-15  David Schleef  <ds@schleef.org>
20845
20846         * check/Makefile.am: remove GstData checks
20847         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
20848         * gst/Makefile.am: add miniobject, remove data
20849         * gst/gst.h: add miniobject, remove data
20850         * gst/gstdata.c: remove
20851         * gst/gstdata.h: remove
20852         * gst/gstdata_private.h: remove
20853         * gst/gsttypes.h: remove GstEvent and GstMessage
20854         * gst/gstelement.c: (gst_element_post_message): fix for API changes
20855         * gst/gstmarshal.list: change BOXED -> OBJECT
20856
20857         Implement GstMiniObject.
20858         * gst/gstminiobject.c:
20859         * gst/gstminiobject.h:
20860
20861         Modify to be subclasses of GstMiniObject.
20862         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
20863         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
20864         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
20865         (gst_subbuffer_get_type), (gst_subbuffer_init),
20866         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
20867         (gst_buffer_span):
20868         * gst/gstbuffer.h:
20869         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
20870         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
20871         (_gst_event_copy), (gst_event_new):
20872         * gst/gstevent.h:
20873         * gst/gstmessage.c: (_gst_message_initialize),
20874         (gst_message_get_type), (gst_message_class_init),
20875         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
20876         (gst_message_new), (gst_message_new_error),
20877         (gst_message_new_warning), (gst_message_new_tag),
20878         (gst_message_new_state_changed), (gst_message_new_application):
20879         * gst/gstmessage.h:
20880         * gst/gstprobe.c: (gst_probe_perform),
20881         (gst_probe_dispatcher_dispatch):
20882         * gst/gstprobe.h:
20883         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
20884         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
20885         (_gst_query_copy), (gst_query_new):
20886
20887         Update elements for GstData -> GstMiniObject changes
20888         * gst/gstquery.h:
20889         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
20890         (gst_queue_chain), (gst_queue_loop):
20891         * gst/elements/gstbufferstore.c:
20892         (gst_buffer_store_add_buffer_func),
20893         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
20894         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
20895         (gst_fakesink_render):
20896         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
20897         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
20898         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
20899         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
20900         (gst_filesrc_create_read):
20901         * gst/elements/gstidentity.c: (gst_identity_class_init):
20902         * gst/elements/gsttypefindelement.c:
20903         (gst_type_find_element_src_event), (free_entry_buffers),
20904         (gst_type_find_element_handle_event):
20905         * libs/gst/dataprotocol/dataprotocol.c:
20906         (gst_dp_header_from_buffer):
20907         * libs/gst/dataprotocol/dataprotocol.h:
20908         * libs/gst/dataprotocol/dp-private.h:
20909
20910 2005-05-15  David Schleef  <ds@schleef.org>
20911
20912         * gst/elements/gstelements.c: Don't include headers that were
20913         just removed.
20914
20915 2005-05-15  David Schleef  <ds@schleef.org>
20916
20917         * gst/elements/Makefile.am: Remove some elements that don't
20918         need to be in the core (or even exist at all).
20919         * gst/elements/gstaggregator.c:
20920         * gst/elements/gstaggregator.h:
20921         * gst/elements/gstmd5sink.c:
20922         * gst/elements/gstmd5sink.h:
20923         * gst/elements/gstmultifilesrc.c:
20924         * gst/elements/gstmultifilesrc.h:
20925         * gst/elements/gstpipefilter.c:
20926         * gst/elements/gstpipefilter.h:
20927         * gst/elements/gstshaper.c:
20928         * gst/elements/gstshaper.h:
20929         * gst/elements/gststatistics.c:
20930         * gst/elements/gststatistics.h:
20931         * po/POTFILES.in: Remove above files.
20932
20933 2005-05-14  Andy Wingo  <wingo@pobox.com>
20934
20935         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
20936         so as to get the refs right.
20937         (sink_iterator_filter): New function, wraps bin_element_is_sink,
20938         unreffing objects that don't pass the filter.
20939
20940         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
20941         gst_element_set_bus.
20942         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
20943         normal cases, this will destroy the bus.
20944
20945         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
20946         object.
20947
20948         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
20949         has no sinks.
20950
20951 2005-05-13  Andy Wingo  <wingo@pobox.com>
20952
20953         * gst/gstutils.c (gst_element_link_pads): Instead of calling
20954         gst_pad_link, call pad_link_maybe_ghosting,
20955         (pad_link_maybe_ghosting): Links pads, making sure that the
20956         elements being linked are in the same bin.
20957         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
20958         Helpers for pad_link_maybe_ghosting.
20959
20960 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
20961
20962         * configure.ac:
20963           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
20964
20965 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
20966
20967         * docs/design/part-element-source.txt:
20968           Mention GstPushSrc
20969
20970 2005-05-12  Wim Taymans  <wim@fluendo.com>
20971
20972         * gst/base/gstbasesink.c: (gst_basesink_init),
20973         (gst_basesink_activate):
20974         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
20975         (gst_basesrc_is_seekable):
20976         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
20977         (bin_element_is_sink), (gst_bin_change_state):
20978         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
20979         * gst/gstelement.h:
20980         Identify sinks by their flag to avoid overly complicated
20981         checks (fow now).
20982         Do state changes even for elements not reachable from the
20983         sinks.
20984         BaseSink is a sink now :)
20985         Some more debugging info in the basesrc.
20986
20987
20988 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20989
20990         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
20991           Implement _query on a bin, similar to _send_event.
20992
20993 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
20994
20995         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
20996           Discont event offset format should be GST_FORMAT_BYTES,
20997           not GST_FORMAT_TIME.
20998
20999 2005-05-12  Wim Taymans  <wim@fluendo.com>
21000
21001         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
21002         Same fix as Ronald's but without the signal. 
21003
21004 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21005
21006         * gst/gstutils.c: (gst_element_query_position):
21007           No, an element is not a pad.
21008
21009 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21010
21011         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
21012         (gst_bin_get_state):
21013           If a child is removed from a bin while we remove the child from
21014           the bin and while we're retrieving its state, signal this to the
21015           get_state function so we abort the wait (instead of waiting for
21016           a timeout) and can immediately re-iterate over all other elements.
21017
21018 2005-05-12  Wim Taymans  <wim@fluendo.com>
21019
21020         * gst/base/Makefile.am:
21021         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
21022         (gst_basesrc_start):
21023         * gst/base/gstbasesrc.h:
21024         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
21025         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
21026         (gst_pushsrc_init), (gst_pushsrc_create):
21027         * gst/base/gstpushsrc.h:
21028         Added is_seekable to BaseSrc
21029         Added simple PushSrc.
21030
21031 2005-05-11  Wim Taymans  <wim@fluendo.com>
21032
21033         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
21034         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21035         (gst_element_link_pads), (gst_element_query_position),
21036         (gst_element_query_convert), (intersect_caps_func),
21037         (gst_pad_query_position), (gst_pad_query_convert):
21038         Fix refcounting in utils function.
21039         No point in trying to activate a pad when it's added, it could
21040         be added from the state change function and then we deadlock, the
21041         element has to decide what to do.
21042
21043 2005-05-10  Andy Wingo  <wingo@pobox.com>
21044
21045         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
21046         *all* the arguments.
21047
21048         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
21049         stream lock if it's a FLUSH_DONE; normal flushes don't get the
21050         lock (according to the docs -- if this is wrong change the docs).
21051
21052         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
21053         flush messages in the NULL state.
21054
21055         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
21056         message immediately and return.
21057         (gst_bus_set_flushing): New function. If a bus is flushing, it
21058         flushes out any queued messages and immediately unrefs new
21059         messages. This is so when an element goes to NULL, all of the
21060         unhandled messages coming from it can be freed, and their
21061         references to the element dropped. In other words: message source
21062         ref considered harmful :P
21063
21064         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
21065         we're finished with it.
21066
21067         * gst/gstmessage.c (gst_message_new_state_changed): 
21068
21069 2005-05-10  Wim Taymans  <wim@fluendo.com>
21070
21071         * gst/gstvalue.c: (gst_value_compare_flags),
21072         (gst_value_serialize_flags), (gst_value_deserialize_flags),
21073         (_gst_value_initialize):
21074         Added flags serialize/deserialize/compare code.
21075
21076 2005-05-09  Andy Wingo  <wingo@pobox.com>
21077
21078         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
21079         Intersect the peer's caps with our caps.
21080
21081 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21082
21083         * gst/base/gsttypefindhelper.c: (helper_find_peek):
21084         * gst/elements/gsttypefindelement.c: (find_peek):
21085           Handle negative offsets better. Fixes decodebin.
21086
21087 2005-05-09  Wim Taymans  <wim@fluendo.com>
21088
21089         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
21090         (gst_base_transform_event):
21091         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
21092         Implement accept_caps.
21093         Fix silly lock/unlock mismatch in base class.
21094
21095 2005-05-09  Wim Taymans  <wim@fluendo.com>
21096
21097         * docs/design/draft-push-pull.txt:
21098         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
21099         * gst/elements/gstfilesink.c: (gst_filesink_init),
21100         (gst_filesink_query):
21101         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
21102         (gst_type_find_handle_src_query), (find_element_get_length):
21103         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
21104         * gst/gstelement.h:
21105         * gst/gstmessage.c:
21106         * gst/gstmessage.h:
21107         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
21108         (gst_real_pad_get_caps_unlocked),
21109         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
21110         (gst_pad_event_default_dispatch), (gst_pad_event_default),
21111         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
21112         (gst_real_pad_dispose), (gst_real_pad_finalize),
21113         (gst_pad_load_and_link), (gst_pad_save_thyself),
21114         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
21115         (gst_pad_check_pull_range), (gst_pad_pull_range),
21116         (gst_pad_template_get_type), (gst_pad_template_class_init),
21117         (gst_pad_template_init), (gst_pad_template_dispose),
21118         (name_is_valid), (gst_static_pad_template_get),
21119         (gst_pad_template_new), (gst_static_pad_template_get_caps),
21120         (gst_pad_template_get_caps), (gst_pad_set_element_private),
21121         (gst_pad_get_element_private), (gst_pad_start_task),
21122         (gst_pad_pause_task), (gst_pad_stop_task),
21123         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
21124         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
21125         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
21126         (gst_ghost_pad_new):
21127         * gst/gstpad.h:
21128         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
21129         (gst_query_new_position), (gst_query_set_position),
21130         (gst_query_parse_position), (gst_query_new_convert),
21131         (gst_query_set_convert), (gst_query_parse_convert):
21132         * gst/gstquery.h:
21133         * gst/gstqueryutils.c:
21134         * gst/gstqueryutils.h:
21135         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
21136         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
21137         (gst_queue_handle_src_query):
21138         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21139         (gst_element_query_position), (gst_element_query_convert),
21140         (intersect_caps_func), (gst_pad_query_position),
21141         (gst_pad_query_convert):
21142         * gst/gstutils.h:
21143         * tools/gst-inspect.c: (print_pad_info):
21144         * tools/gst-xmlinspect.c: (print_element_info):
21145         Remove old query functions. Ported old code.
21146         Added position/convert helper functions to gstutils.
21147         Reordered gstpad.c code, grouping relevant things.
21148         Remove gst_message_new(), always need to speficy a specific
21149         message.
21150
21151
21152 2005-05-09  Andy Wingo  <wingo@pobox.com>
21153
21154         * gst/gstiterator.h: Add some includes.
21155
21156         * gst/gstqueryutils.h: Include more headers.
21157
21158         * gst/gstpad.h:
21159         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
21160         some uses of gst_pad_query.
21161
21162         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
21163         NULL out parameters.
21164         (gst_query_new_position): New proc, allocates a new position
21165         query.
21166
21167         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
21168         gstqueryutils.c to the build.
21169
21170         * gst/gststructure.c (gst_structure_set_valist): Implement with
21171         the generic G_VALUE_COLLECT.
21172         
21173 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
21174
21175         * gst/Makefile.am: (gst_headers):
21176         Added gstqueryutils.h to the list of headers to install, that was
21177         a 'nachty' move wingo :)
21178
21179 2005-05-06  Andy Wingo  <wingo@pobox.com>
21180
21181         * gst/gstquery.h
21182         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
21183         GstData, init a memchunk.
21184         (standard_definitions): Add a few query types, deprecate a few.
21185         (gst_query_get_type): New proc.
21186         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
21187         implementation.
21188         (gst_query_new_application, gst_query_get_structure): New public
21189         procs.
21190
21191         * docs/design/draft-query.txt: Removed LINKS from the query types,
21192         because all the rest can be dispatched to other pads -- seemed
21193         ugly to have a query that couldn't be dispatched. internal_links
21194         is fine as a pad method.
21195
21196         * gst/gstpad.h: Add query2 as a pad method, add the new functions
21197         in gstpad.c, but maintain binary compatibility for the moment.
21198         Will fix before 0.9 is out.
21199
21200         * gst/gstqueryutils.c: 
21201         * gst/gstqueryutils.h: New files, implement 3 methods for each
21202         query type: parse_query, parse_response, and set. Probably need an
21203         allocator as well.
21204
21205         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
21206
21207         * gst/elements/gstfilesink.c (gst_filesink_query2):
21208         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
21209         query_types, and formats methods.
21210
21211         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
21212         (gst_pad_set_query2_function): New functions.
21213         (gst_real_pad_init): Set query2_default as the default query2
21214         function. Basically just dispatches to internally linked pads.
21215
21216         Needs review!
21217         
21218         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
21219         without using the atomic operations. Only one thread can possibly
21220         be accessing the data at this point. Changed so as to avoid
21221         gst_atomic operations.
21222
21223 2005-05-06  Wim Taymans  <wim@fluendo.com>
21224
21225         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
21226         Also set caps if we use the fallback buffer alloc.
21227
21228 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
21229
21230         * docs/gst/Makefile.am:
21231         * docs/gst/gstreamer-docs.sgml:
21232         * docs/gst/gstreamer-sections.txt:
21233         * docs/gst/tmpl/gstatomic.sgml:
21234         * docs/gst/tmpl/gstmemchunk.sgml:
21235         * testsuite/elements/struct_i386.h:
21236         * win32/GStreamer.vcproj:
21237         * win32/Makefile:
21238           Purge GstAtomic stuff from docs and win32 makefiles as well
21239
21240 2005-05-06  Wim Taymans  <wim@fluendo.com>
21241
21242         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
21243         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
21244         * gst/gstpad.c: (gst_pad_peer_get_caps):
21245         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
21246         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
21247         (gst_queue_src_activate), (gst_queue_change_state):
21248         * gst/gstqueue.h:
21249         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21250         (intersect_caps_func):
21251         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
21252         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
21253         Some fixes for the peer_get_caps() change.
21254
21255 2005-05-06  Wim Taymans  <wim@fluendo.com>
21256
21257         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
21258         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
21259         (gst_basesink_activate):
21260         Actually do something with error codes returned from the push
21261         functions.
21262
21263 2005-05-06  Wim Taymans  <wim@fluendo.com>
21264
21265         * docs/design/part-element-sink.txt:
21266         * docs/design/part-element-source.txt:
21267         * gst/base/gstbasesink.c: (gst_basesink_class_init),
21268         (gst_basesink_event), (gst_basesink_activate):
21269         * gst/base/gstbasesink.h:
21270         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
21271         (gst_basesrc_activate):
21272         * gst/base/gstbasesrc.h:
21273         * gst/gstelement.c: (gst_element_pads_activate):
21274         Some more documentation.
21275         Fixed scheduling decision in _pads_activate().
21276
21277 2005-05-05  Andy Wingo  <wingo@pobox.com>
21278
21279         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
21280         the test suite.
21281
21282 2005-05-05  Wim Taymans  <wim@fluendo.com>
21283
21284         * gst/base/Makefile.am:
21285         * gst/base/gstbasesink.h:
21286         * gst/base/gstbasesrc.c: (gst_basesrc_init),
21287         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
21288         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
21289         (gst_collectpads_class_init), (gst_collectpads_init),
21290         (gst_collectpads_finalize), (gst_collectpads_new),
21291         (gst_collectpads_set_function), (gst_collectpads_add_pad),
21292         (find_pad), (gst_collectpads_remove_pad),
21293         (gst_collectpads_is_active), (gst_collectpads_collect),
21294         (gst_collectpads_collect_range), (gst_collectpads_start),
21295         (gst_collectpads_stop), (gst_collectpads_peek),
21296         (gst_collectpads_pop), (gst_collectpads_available),
21297         (gst_collectpads_read), (gst_collectpads_flush),
21298         (gst_collectpads_chain):
21299         * gst/base/gstcollectpads.h:
21300         * gst/elements/Makefile.am:
21301         * gst/elements/gstelements.c:
21302         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
21303         (gst_fakesink_get_times), (gst_fakesink_event),
21304         (gst_fakesink_preroll), (gst_fakesink_render):
21305         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
21306         (gst_filesink_init), (gst_filesink_set_location),
21307         (gst_filesink_open_file), (gst_filesink_close_file),
21308         (gst_filesink_pad_query), (gst_filesink_event),
21309         (gst_filesink_render), (gst_filesink_change_state):
21310         * gst/elements/gstfilesink.h:
21311         Added object to help in making collect pad based elements.
21312         Ported filesink.
21313         Make event function in sink baseclass return gboolean.
21314
21315 2005-05-05  Wim Taymans  <wim@fluendo.com>
21316
21317         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
21318         (gst_bin_get_by_name):
21319         * gst/gstbuffer.h:
21320         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
21321         (gst_clock_finalize):
21322         * gst/gstdata.c: (gst_data_replace):
21323         * gst/gstdata.h:
21324         * gst/gstelement.c: (gst_element_request_pad),
21325         (gst_element_pads_activate):
21326         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
21327         (gst_object_unref):
21328         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21329         (gst_pad_set_checkgetrange_function),
21330         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
21331         (gst_pad_check_pull_range), (gst_pad_pull_range),
21332         (gst_static_pad_template_get_caps), (gst_pad_start_task),
21333         (gst_pad_pause_task), (gst_pad_stop_task):
21334         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21335         (gst_element_request_pad), (gst_pad_proxy_getcaps):
21336         Fix name lookup in GstBin.
21337         Added _data_replace() function and _buffer_replace()
21338         Use finalize method to clean up clock.
21339         Fix refcounting on request pads.
21340         Fix pad schedule mode error.
21341         Some more object refcounting debug info,
21342
21343
21344 2005-05-04  Andy Wingo <wingo@pobox.com>
21345
21346         * check/Makefile.am:
21347         * docs/gst/tmpl/gstatomic.sgml:
21348         * docs/gst/tmpl/gstplugin.sgml:
21349         * gst/base/gstbasesink.c: (gst_basesink_activate):
21350         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
21351         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
21352         (gst_basesrc_query), (gst_basesrc_set_property),
21353         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
21354         (gst_basesrc_activate):
21355         * gst/base/gstbasesrc.h:
21356         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
21357         (gst_base_transform_src_activate):
21358         * gst/elements/gstelements.c:
21359         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
21360         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
21361         * gst/elements/gsttee.c: (gst_tee_sink_activate):
21362         * gst/elements/gsttypefindelement.c: (find_element_get_length),
21363         (gst_type_find_element_checkgetrange),
21364         (gst_type_find_element_activate):
21365         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
21366         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
21367         (gst_caps_load_thyself):
21368         * gst/gstelement.c: (gst_element_pads_activate),
21369         (gst_element_save_thyself), (gst_element_restore_thyself):
21370         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
21371         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
21372         * gst/gstpad.h:
21373         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
21374         (gst_xml_parse_file), (gst_xml_parse_memory),
21375         (gst_xml_get_element), (gst_xml_make_element):
21376         * gst/indexers/gstfileindex.c: (gst_file_index_load),
21377         (_file_index_id_save_xml), (gst_file_index_commit):
21378         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
21379         (read_enum), (load_pad_template), (load_feature), (load_plugin),
21380         (load_paths):
21381         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
21382         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
21383         * tools/gst-complete.c: (main):
21384         * tools/gst-compprep.c: (main):
21385         * tools/gst-inspect.c: (print_element_properties_info):
21386         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
21387         * tools/gst-xmlinspect.c: (print_element_properties):
21388         GCC 4 fixen.
21389         
21390 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
21391
21392         * gst/gstplugin.c: (gst_plugin_check_module),
21393         (gst_plugin_check_file), (gst_plugin_load_file):
21394             apply patch from #172526 to make register work on MacOSX
21395
21396 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21397
21398         * docs/gst/tmpl/gstconfig.sgml:
21399         * gst/gstconfig.h.in:
21400           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
21401         * testsuite/debug/printf_extension.c: (main):
21402           Do not use GST_PTR_FORMAT on pointers to types with
21403           sizeof < sizeof(gpointer).  Fixes test on 64-bit
21404         * testsuite/elements/property.h:
21405           use correct printf format
21406
21407 2005-05-02  Wim Taymans  <wim@fluendo.com>
21408
21409         * docs/design/draft-push-pull.txt:
21410         * docs/design/draft-query.txt:
21411         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
21412         (gst_basesrc_start):
21413         Added draft for new query API.
21414         Added draft for better selecting scheduling methods.
21415         Make basesrc ignore length if the subclass does not support
21416         it.
21417
21418 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21419
21420         * gst/Makefile.am:
21421           possible fixes for automake-1.5 - _LIBADD is reserved
21422
21423 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21424
21425         * docs/faq/Makefile.am:
21426         * docs/manual/Makefile.am:
21427         * docs/manuals.mak:
21428         * docs/pwg/Makefile.am:
21429         * gst/Makefile.am:
21430           possible fixes for automake-1.5
21431
21432 2005-04-28  Wim Taymans  <wim@fluendo.com>
21433
21434         * gst/base/gstbasesink.c: (gst_basesink_base_init),
21435         (gst_basesink_pad_getcaps), (gst_basesink_init),
21436         (gst_basesink_do_sync):
21437         * gst/gstclock.c: (gst_clock_entry_new):
21438         * gst/gstevent.c: (gst_event_discont_get_value):
21439         * gst/gstpipeline.c: (pipeline_bus_handler),
21440         (gst_pipeline_change_state):
21441         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
21442         Better debugging of clocking info.
21443         Allow NULL values when getting discont values.
21444
21445 2005-04-27  Wim Taymans  <wim@fluendo.com>
21446
21447         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
21448         * check/gst/gstpad.c: (gst_pad_suite):
21449         Increase timeout for checks.
21450
21451 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
21452
21453         * check/Makefile.am:
21454           fix the broken rule for cleanup.  Apparently this rule is
21455           only needed on FC2, so maybe this warrants further autotool
21456           inspection.
21457
21458 2005-04-26  Wim Taymans  <wim@fluendo.com>
21459
21460         * gst/gsttrashstack.h:
21461         Ooohh. a nasty one! After having a failed pop() from the stack,
21462         it's possible that the stack is empty. In that case, don't
21463         follow the NULL pointer.
21464
21465 2005-04-25  Wim Taymans  <wim@fluendo.com>
21466
21467         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21468         (gst_pad_set_checkgetrange_function),
21469         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
21470         (gst_pad_check_pull_range), (gst_pad_pull_range),
21471         (gst_static_pad_template_get_caps), (gst_pad_start_task),
21472         (gst_pad_pause_task), (gst_pad_stop_task):
21473         * gst/gstplugin.c: (gst_plugin_load):
21474         * gst/gstplugin.h:
21475         Remove gst_library_load as it does more harm than good with
21476         the new g_module flags.
21477         Revert bogus caps template check in pad linking, pad caps
21478         are important when linking not the template, which is more
21479         general than the current caps.
21480
21481 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21482
21483         * gst/autoplug/.cvsignore:
21484         * gst/autoplug/Makefile.am:
21485         * gst/autoplug/gstsearchfuncs.c:
21486         * gst/autoplug/gstsearchfuncs.h:
21487         * gst/autoplug/gstspider.c:
21488         * gst/autoplug/gstspider.h:
21489         * gst/autoplug/gstspideridentity.c:
21490         * gst/autoplug/gstspideridentity.h:
21491         * gst/autoplug/spidertest.c:
21492           Die, spider, die.
21493
21494 2005-04-25  Wim Taymans  <wim@fluendo.com>
21495
21496         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21497         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
21498         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
21499         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
21500         * gst/gstpad.h:
21501         Added stubs for unimplemented functions. 
21502
21503 2005-04-24  David Schleef  <ds@schleef.org>
21504
21505         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
21506         please fix.
21507
21508 2005-04-24  David Schleef  <ds@schleef.org>
21509
21510         Convert everything from GstAtomicInt to g_atomic_int_*, and
21511         remove gstatomic.
21512         * gst/Makefile.am:
21513         * gst/gstatomic.c:
21514         * gst/gstatomic.h:
21515         * gst/gstatomic_impl.h:
21516         * gst/gstbuffer.c:
21517         * gst/gstcaps.c:
21518         * gst/gstcaps.h:
21519         * gst/gstclock.c:
21520         * gst/gstclock.h:
21521         * gst/gstdata.c:
21522         * gst/gstdata.h:
21523         * gst/gstdata_private.h:
21524         * gst/gstevent.c:
21525         * gst/gstinfo.c:
21526         * gst/gstinfo.h:
21527         * gst/gstmessage.c:
21528         * gst/gstobject.c:
21529         * gst/gstobject.h:
21530         * gst/gststructure.c:
21531         * gst/gststructure.h:
21532         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
21533         * gst/gstutils.h:
21534
21535 2005-04-24  David Schleef  <ds@schleef.org>
21536
21537         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
21538         make the regressions tests work.  Remove some code that is no
21539         longer true.
21540         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
21541         Disable warning for pads without templates.
21542
21543 2005-04-24  David Schleef  <ds@schleef.org>
21544
21545         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
21546         functions that handle filtered links.
21547         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
21548         removed functions.
21549         * gst/gstutils.c: Fix/remove utility functions that handle
21550         filtered caps.
21551         * gst/gstutils.h:
21552         * gst/gstvalue.c: Add serialization/deserialization of caps
21553         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
21554         requires fixing so that the filter caps notation creates
21555         a capsfilter element and sets the filter_caps property.  I
21556         think everyone probably wants to keep the shorthand notation.
21557         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
21558         * docs/gst/tmpl/gstpad.sgml:
21559
21560         * gst/elements/gstelements.c: Register capsfilter element.
21561         * gst/Makefile.am: fix spacing
21562         * docs/random/ds/0.9-suggested-changes: random
21563
21564 2005-04-23  David Schleef  <ds@schleef.org>
21565
21566         * gst/elements/Makefile.am:
21567         * gst/elements/gstcapsfilter.c: New element that acts like an
21568         identity, but filters caps.  Will eventually replace filtered
21569         caps in pad linking.
21570         * gst/gstutils.c: (gst_element_create_all_pads): New function
21571         to create all the ALWAYS pads that are registered with an
21572         element class.  This functionality should eventually be
21573         merged in with GstElement initialization.
21574         * gst/gstutils.h:
21575         * testsuite/trigger/README: part of trigger test code that should
21576         have been checked in a long time ago.
21577
21578 2005-04-23  David Schleef  <ds@schleef.org>
21579
21580         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
21581         needed with new versions of libtool (nobody will confirm this),
21582         and hard to carry around.
21583         * gst/autoplug/Makefile.am:
21584         * gst/base/Makefile.am:
21585         * gst/elements/Makefile.am:
21586         * gst/indexers/Makefile.am:
21587         * gst/schedulers/Makefile.am:
21588         * libs/gst/bytestream/Makefile.am:
21589         * libs/gst/control/Makefile.am:
21590         * libs/gst/dataprotocol/Makefile.am:
21591         * libs/gst/getbits/Makefile.am:
21592
21593 2005-04-21  Wim Taymans  <wim@fluendo.com>
21594
21595         * docs/design/draft-push-pull.txt:
21596         * docs/design/part-MT-refcounting.txt:
21597         * docs/design/part-TODO.txt:
21598         * docs/design/part-caps.txt:
21599         * docs/design/part-events.txt:
21600         * docs/design/part-gstbus.txt:
21601         * docs/design/part-gstpipeline.txt:
21602         * docs/design/part-messages.txt:
21603         * docs/design/part-push-pull.txt:
21604         * docs/design/part-query.txt:
21605         Some more docs.
21606
21607 2005-04-21  Wim Taymans  <wim@fluendo.com>
21608
21609         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
21610         (gst_message_new), (gst_message_new_error),
21611         (gst_message_new_warning), (gst_message_new_tag),
21612         (gst_message_new_state_changed), (gst_message_new_application),
21613         (gst_message_get_structure):
21614         * gst/gstmessage.h:
21615         * gst/gststructure.c: (gst_structure_set_parent_refcount),
21616         (gst_structure_copy_conditional):
21617         Use parent refcount in GstMessage to ensure GstStructure
21618         consistency.
21619         Cleaned up headers a bit.
21620         
21621
21622 2005-04-20  Wim Taymans  <wim@fluendo.com>
21623
21624         * gst/base/gstbasesink.c: (gst_basesink_base_init),
21625         (gst_basesink_pad_getcaps), (gst_basesink_init),
21626         (gst_basesink_chain_unlocked):
21627         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
21628         (gst_type_find_helper):
21629         * gst/elements/gsttypefindelement.c:
21630         (gst_type_find_element_have_type), (gst_type_find_element_init),
21631         (stop_typefinding), (gst_type_find_element_handle_event),
21632         (find_suggest), (gst_type_find_element_chain),
21633         (gst_type_find_element_checkgetrange),
21634         (gst_type_find_element_getrange), (do_typefind),
21635         (gst_type_find_element_activate):
21636         * gst/gstbuffer.c: (_gst_buffer_sub_free),
21637         (gst_buffer_default_free), (gst_buffer_default_copy),
21638         (gst_buffer_set_caps):
21639         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
21640         (gst_caps_replace):
21641         * gst/gstmessage.c: (gst_message_new),
21642         (gst_message_new_state_changed):
21643         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21644         (gst_pad_set_checkgetrange_function),
21645         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
21646         (gst_pad_set_caps), (gst_pad_check_pull_range),
21647         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
21648         * gst/gstpad.h:
21649         * gst/gsttypefind.c: (gst_type_find_register):
21650         Make gst_caps_replace() work like other _replace() functions.
21651         Use _caps_replace() where possible.
21652         Make sure _message_new() initialises its field.
21653         Add gst_static_pad_template_get_caps()
21654
21655
21656 2005-04-18  Andy Wingo  <wingo@pobox.com>
21657
21658         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
21659         on the peer, not the pad. I think that was a typo. Pass an extra
21660         arg to see if random access is possible. Activate the pads as
21661         PULL_RANGE if possible.
21662
21663         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
21664
21665         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
21666         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
21667         to PROP_....
21668
21669 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21670
21671         * docs/faq/using.xml:
21672           Add note on gstreamer-properties (#154996).
21673
21674 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21675
21676         * docs/random/bbb/optional-properties:
21677           Some analysis on optional properties.
21678
21679 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21680
21681         * docs/gst/tmpl/gstelementfactory.sgml:
21682         * gst/gstelement.h:
21683         * gst/gstelementfactory.c: (gst_element_factory_init),
21684         (gst_element_factory_cleanup), (gst_element_register),
21685         (__gst_element_factory_add_static_pad_template),
21686         (gst_element_factory_get_static_pad_templates),
21687         (gst_element_factory_can_src_caps),
21688         (gst_element_factory_can_sink_caps):
21689         * gst/registries/Makefile.am:
21690         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
21691         (gst_xml_registry_class_init), (gst_xml_registry_init),
21692         (gst_xml_registry_new), (gst_xml_registry_set_property),
21693         (gst_xml_registry_get_property), (get_time), (make_dir),
21694         (gst_xml_registry_get_perms_func),
21695         (plugin_times_older_than_recurse), (plugin_times_older_than),
21696         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
21697         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
21698         (add_to_char_array), (read_string), (read_uint), (read_enum),
21699         (load_pad_template), (load_feature), (load_plugin), (load_paths),
21700         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
21701         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
21702         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
21703         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
21704         (gst_xml_registry_rebuild):
21705         * gst/registries/gstlibxmlregistry.h:
21706         * tools/gst-compprep.c: (main):
21707         * tools/gst-inspect.c: (print_pad_templates_info):
21708         * tools/gst-xmlinspect.c: (print_element_info):
21709           Use libxml2 for registry parsing, use staticpadtemplates in
21710           elementfactories. Makes gst_init() +/- 10x faster.
21711
21712 2005-04-12  Wim Taymans  <wim@fluendo.com>
21713
21714         * gst/base/Makefile.am:
21715         * gst/base/gstbasesink.c: (gst_basesink_base_init),
21716         (gst_basesink_pad_getcaps), (gst_basesink_init),
21717         (gst_basesink_event), (gst_basesink_change_state):
21718         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
21719         (gst_basesrc_init), (gst_basesrc_query),
21720         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
21721         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
21722         (gst_basesrc_check_get_range), (gst_basesrc_loop),
21723         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
21724         (gst_basesrc_stop), (gst_basesrc_activate),
21725         (gst_basesrc_change_state):
21726         * gst/base/gsttypefindhelper.c: (helper_find_peek),
21727         (helper_find_suggest), (gst_type_find_helper):
21728         * gst/base/gsttypefindhelper.h:
21729         * gst/elements/Makefile.am:
21730         * gst/elements/gstelements.c:
21731         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
21732         (gst_fakesink_get_times), (gst_fakesink_event),
21733         (gst_fakesink_preroll), (gst_fakesink_render):
21734         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
21735         (gst_fakesrc_init), (gst_fakesrc_event_handler),
21736         (gst_fakesrc_get_property), (gst_fakesrc_create),
21737         (gst_fakesrc_start), (gst_fakesrc_stop):
21738         * gst/elements/gstfakesrc.h:
21739         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
21740         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
21741         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
21742         (gst_filesrc_create_read), (gst_filesrc_create),
21743         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
21744         (gst_filesrc_start):
21745         * gst/elements/gsttypefindelement.c:
21746         (gst_type_find_element_have_type), (gst_type_find_element_init),
21747         (start_typefinding), (stop_typefinding), (push_buffer_store),
21748         (gst_type_find_element_handle_event),
21749         (gst_type_find_element_chain),
21750         (gst_type_find_element_checkgetrange),
21751         (gst_type_find_element_getrange), (do_typefind),
21752         (gst_type_find_element_activate),
21753         (gst_type_find_element_change_state):
21754         * gst/elements/gsttypefindelement.h:
21755         * gst/gstpipeline.c: (pipeline_bus_handler):
21756         Added typefind helper.
21757         Small preroll fix in the base sink.
21758         Disable typefind code in basesrc.
21759         Crude port of typefindelement.
21760         Fakesrc cleanups.
21761
21762
21763 2005-04-11  Wim Taymans  <wim@fluendo.com>
21764
21765         * check/gst/gstbus.c: (gstbus_suite):
21766         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
21767         * check/gstcheck.h:
21768           Fix up the timeout so that the test does not fail.
21769
21770 2005-04-06  Wim Taymans  <wim@fluendo.com>
21771
21772         * gst/base/README:
21773         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
21774         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
21775         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
21776         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
21777         (gst_basesrc_check_get_range), (gst_basesrc_loop),
21778         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
21779         (gst_basesrc_stop), (gst_basesrc_activate),
21780         (gst_basesrc_change_state), (basesrc_find_peek),
21781         (basesrc_find_suggest), (gst_basesrc_type_find):
21782         * gst/base/gstbasesrc.h:
21783         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
21784         (gst_filesrc_class_init), (gst_filesrc_init),
21785         (gst_filesrc_finalize), (gst_filesrc_set_location),
21786         (gst_filesrc_set_property), (gst_filesrc_get_property),
21787         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
21788         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
21789         (gst_filesrc_create_read), (gst_filesrc_create),
21790         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
21791         * gst/elements/gstfilesrc.h:
21792         * gst/gstelement.c: (gst_element_get_state_func),
21793         (gst_element_lost_state), (gst_element_pads_activate):
21794         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21795         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
21796         (gst_pad_pull_range):
21797         * gst/gstpad.h:
21798         More work on the generic source base class, implement seeking,
21799         query.
21800         Make filesrc extend the base source class.
21801         Added gst_pad_set_checkgetrange_function to GstPad.
21802
21803 2005-04-06  Andy Wingo  <wingo@pobox.com>
21804
21805         * pkgconfig/gstreamer-base.pc.in:
21806         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
21807
21808         * pkgconfig/Makefile.am:
21809         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
21810
21811 2005-04-04  Wim Taymans  <wim@fluendo.com>
21812
21813         * gst/base/Makefile.am:
21814         * gst/base/README:
21815         * gst/base/gstbasesink.c: (gst_basesink_base_init),
21816         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
21817         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
21818         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
21819         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
21820         (gst_basesrc_base_init), (gst_basesrc_class_init),
21821         (gst_basesrc_init), (gst_basesrc_get_formats),
21822         (gst_basesrc_get_query_types), (gst_basesrc_query),
21823         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
21824         (gst_basesrc_set_property), (gst_basesrc_get_property),
21825         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
21826         (gst_basesrc_loop), (gst_basesrc_activate),
21827         (gst_basesrc_change_state):
21828         * gst/base/gstbasesrc.h:
21829         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
21830         (gst_fakesrc_class_init), (gst_fakesrc_init),
21831         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
21832         (gst_fakesrc_get_property), (gst_fakesrc_create):
21833         * gst/elements/gstfakesrc.h:
21834         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
21835         (gst_filesrc_open_file), (gst_filesrc_loop),
21836         (gst_filesrc_activate), (filesrc_find_peek),
21837         (gst_filesrc_type_find):
21838         Made base source class, make fakesrc extend it.
21839         Add comments to basesink class.
21840         Some filesrc cleanup.
21841
21842 2005-03-31  David Schleef  <ds@schleef.org>
21843
21844         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
21845         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
21846         expected to link against libgstreamer.
21847         * gst/base/Makefile.am: link against libgstreamer
21848         * gst/elements/Makefile.am: same
21849
21850 2005-03-31  Andy Wingo  <wingo@pobox.com>
21851
21852         * tests/instantiate/Makefile.am:
21853         * tests/instantiate/caps.c: Add test to test speed of caps copy
21854         and free.
21855
21856         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
21857         GMemChunk to be fair.
21858
21859         * gst/gsttrashstack.h: Remove warning about using the fallback
21860         trash stack implementation, it's still faster than malloc.
21861
21862 2005-03-30  Andy Wingo  <wingo@pobox.com>
21863
21864         * tests/complexity.c: Add a copyright.
21865
21866 2005-03-31  Wim Taymans  <wim@fluendo.com>
21867
21868         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
21869         (gst_base_transform_class_init), (gst_base_transform_init),
21870         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
21871         (gst_base_transform_get_property),
21872         (gst_base_transform_sink_activate),
21873         (gst_base_transform_src_activate),
21874         (gst_base_transform_change_state):
21875         * gst/base/gstbasetransform.h:
21876         * gst/elements/gstidentity.c: (gst_identity_class_init),
21877         (gst_identity_event), (gst_identity_check_perfect),
21878         (gst_identity_transform), (gst_identity_start),
21879         (gst_identity_stop):
21880         Added start/stop methods to transform base class so subclasses 
21881         don't need to deal with state changes even.
21882
21883 2005-03-31  Wim Taymans  <wim@fluendo.com>
21884
21885         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
21886         (gst_event_new_discontinuous), (gst_event_discont_get_value):
21887         * gst/gstevent.h:
21888         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21889         (gst_pad_pull_range):
21890         Added rate to the discont event to prepare for variable speed
21891         and reverse playback.
21892
21893 2005-03-29  David Schleef  <ds@schleef.org>
21894
21895         * configure.ac:
21896         * testsuite/trigger/Makefile.am:
21897         * testsuite/trigger/trigger.c: A little example program to show
21898         how trigger-based elements can work.
21899
21900 2005-03-29  Wim Taymans  <wim@fluendo.com>
21901
21902         * gst/base/Makefile.am:
21903         * gst/base/README:
21904         * gst/base/gstbasesink.c: (gst_basesink_get_type),
21905         (gst_basesink_base_init), (gst_basesink_class_init),
21906         (gst_basesink_pad_getcaps), (gst_basesink_init),
21907         (gst_basesink_activate), (gst_basesink_change_state):
21908         * gst/base/gstbasesink.h:
21909         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
21910         (gst_base_transform_base_init), (gst_base_transform_finalize),
21911         (gst_base_transform_class_init), (gst_base_transform_init),
21912         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
21913         (gst_base_transform_event), (gst_base_transform_getrange),
21914         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
21915         (gst_base_transform_set_property),
21916         (gst_base_transform_get_property),
21917         (gst_base_transform_sink_activate),
21918         (gst_base_transform_src_activate),
21919         (gst_base_transform_change_state):
21920         * gst/base/gstbasetransform.h:
21921         * gst/elements/gstidentity.c: (gst_identity_finalize),
21922         (gst_identity_class_init), (gst_identity_init),
21923         (gst_identity_event), (gst_identity_check_perfect),
21924         (gst_identity_transform), (gst_identity_set_property),
21925         (gst_identity_get_property), (gst_identity_change_state):
21926         * gst/elements/gstidentity.h:
21927         * gst/gstelement.c: (gst_element_get_state_func),
21928         (gst_element_lost_state), (gst_element_pads_activate):
21929         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21930         (gst_pad_check_pull_range), (gst_pad_pull_range):
21931         * gst/gstpad.h:
21932         Simplify pad activation.
21933         Added function to check if pull_range can be performed.
21934         Error out when pulling inactive or flushing pads.
21935         Removed const from refcounted types as it does not make sense.
21936         Simplify pad templates in basesink
21937         Added base class for simple 1-to-1 transforms.
21938         Make identity subclass the base transform.
21939
21940 2005-03-29  Andy Wingo  <wingo@pobox.com>
21941
21942         * docs/libs/gstreamer-libs-overrides.txt: 
21943         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
21944         really don't understand what's going on, but like whatever. I want
21945         green buildbot!
21946
21947         * docs/gst/Makefile.am:
21948         * docs/libs/Makefile.am: Dist the overrides files.
21949
21950         * check/Makefile.am (clean-local): Remove .libs directories.
21951
21952         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
21953         elements to EXTRA_DIST, so po/ files are happy.
21954
21955         * po/POTFILES.in: Er, remove it here.
21956
21957         * po/POTFILES: Remove gstspider.c.
21958
21959         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
21960
21961         * docs/libs/gstreamer-libs-docs.sgml: 
21962         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
21963         bytestream.
21964
21965         * tests/complexity.c (main): Set the length of the preroll queue
21966         on the sinks to prevent a lockup.
21967
21968         * libs/gst/dataprotocol/Makefile.am: 
21969         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
21970         the same as the one in check/gst-libs/gdp.c.
21971
21972         * po/, docs/gst/: Commit automatic changes to docs and po files.
21973
21974         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
21975         the versioned libgstbase.
21976
21977         * check/Makefile.am: Depend on an unversioned gst-register, seems
21978         to make autoconf happier.
21979
21980         * gst/base/Makefile.am: Make libgstbase a versioned lib.
21981
21982 2005-03-28  Wim Taymans  <wim@fluendo.com>
21983
21984         * configure.ac:
21985         * docs/design/part-gstelement.txt:
21986         * docs/design/part-negotiation.txt:
21987         * docs/design/part-preroll.txt:
21988         * docs/design/part-scheduling.txt:
21989         * docs/design/part-states.txt:
21990         * gst/Makefile.am:
21991         * gst/base/Makefile.am:
21992         * gst/base/README:
21993         * gst/base/gstbasesink.c: (gst_basesink_get_template),
21994         (gst_basesink_base_init), (gst_basesink_class_init),
21995         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
21996         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
21997         (gst_basesink_set_pad_functions),
21998         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
21999         (gst_basesink_set_property), (gst_basesink_get_property),
22000         (gst_base_sink_get_template), (gst_base_sink_get_caps),
22001         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
22002         (gst_basesink_preroll_queue_push),
22003         (gst_basesink_preroll_queue_empty),
22004         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
22005         (gst_basesink_event), (gst_basesink_get_times),
22006         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
22007         (gst_basesink_chain_unlocked), (gst_basesink_chain),
22008         (gst_basesink_loop), (gst_basesink_activate),
22009         (gst_basesink_change_state):
22010         * gst/base/gstbasesink.h:
22011         * gst/elements/Makefile.am:
22012         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
22013         (gst_fakesink_class_init), (gst_fakesink_init),
22014         (gst_fakesink_set_property), (gst_fakesink_get_property),
22015         (gst_fakesink_get_times), (gst_fakesink_event),
22016         (gst_fakesink_preroll), (gst_fakesink_render),
22017         (gst_fakesink_change_state):
22018         * gst/elements/gstfakesink.h:
22019         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
22020         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
22021         * gst/gstelement.c: (gst_element_add_pad),
22022         (gst_element_get_state_func), (gst_element_abort_state),
22023         (gst_element_commit_state), (gst_element_lost_state),
22024         (gst_element_set_state), (gst_element_pads_activate):
22025         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
22026         * gst/gstpipeline.c: (gst_pipeline_send_event),
22027         (gst_pipeline_change_state):
22028         Added state change code.
22029         Added/updated docs.
22030         Added sink base class, make fakesink extend the base class.
22031         Small cleanups in GstPipeline.
22032
22033 2005-03-26  David Schleef  <ds@schleef.org>
22034
22035         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
22036         is broken and should be implemented in a different library.
22037         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
22038         * gst/gst.h: remove gstcpu.h
22039         * gst/gstcpu.c: remove
22040         * gst/gstcpu.h: remove
22041         * gst/Makefile.am.future: Remove this file.  It's ancient.
22042
22043 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22044
22045         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
22046         (gst_bin_send_event):
22047           Add default event/set_manager handlers. The set_manager handler
22048           takes care that the manager is distributed over kids that were
22049           already in the bin before the manager was set. The event handler
22050           is a utility virtual function that sends the event over all sinks,
22051           so that gst_element_send_event (bin, event); has the expected
22052           behaviour.
22053         * gst/gstpad.c: (gst_pad_event_default):
22054           Re-install default event handling for discontinuities, so that
22055           seeking works without requiring hacks in applications or extra
22056           code in sinks.
22057         * gst/gstpipeline.c: (gst_pipeline_class_init),
22058         (gst_pipeline_send_event):
22059           Half hack, half utility: set a pipeline to PAUSED for seek events,
22060           since that is the only way we can guarantee a/v sync. Means that
22061           you can do gst_element_seek (pipeline, method, pos); on a pipeline
22062           and it "just works".
22063
22064 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22065
22066         * gst/gstpipeline.c: (gst_pipeline_use_clock):
22067           Lock/unlock mismatch.
22068
22069 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
22070
22071         * docs/faq/gst-uninstalled:
22072           add gst-plugins-base
22073         * docs/gst/Makefile.am:
22074           don't error out until docs are fixed
22075         * docs/gst/gstreamer.types:
22076           remove thread
22077
22078 2005-03-22  Wim Taymans  <wim@fluendo.com>
22079
22080         * check/Makefile.am:
22081         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
22082         * gst/gststructure.c: (gst_structure_set_valist),
22083         (gst_structure_copy_conditional):
22084         Activated more tests.
22085         Added message test.
22086         Added G_TYPE_POINTER to GstStructure.
22087         
22088
22089 2005-03-22  Wim Taymans  <wim@fluendo.com>
22090
22091         * docs/design/part-TODO.txt:
22092         * docs/design/part-events.txt:
22093         * docs/design/part-gstbin.txt:
22094         * docs/design/part-gstbus.txt:
22095         * docs/design/part-gstpipeline.txt:
22096         * docs/design/part-messages.txt:
22097         * gst/gstbus.c:
22098         * gst/gstmessage.c:
22099         Docs updates
22100
22101 2005-03-21  Wim Taymans  <wim@fluendo.com>
22102
22103         * gst/gstbus.c: (gst_bus_post):
22104         Fix copy-and-paste error.
22105
22106 2005-03-21  Wim Taymans  <wim@fluendo.com>
22107
22108         * check/Makefile.am:
22109         * gst/Makefile.am:
22110         * gst/elements/Makefile.am:
22111         * gst/elements/gstelements.c:
22112         * gst/elements/gstfakesink.c: (gst_fakesink_init),
22113         (gst_fakesink_event), (gst_fakesink_chain):
22114         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
22115         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
22116         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
22117         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
22118         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
22119         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
22120         (gst_fakesrc_loop), (gst_fakesrc_activate),
22121         (gst_fakesrc_change_state):
22122         * gst/elements/gstfakesrc.h:
22123         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
22124         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
22125         (gst_filesrc_open_file), (gst_filesrc_loop),
22126         (gst_filesrc_activate), (gst_filesrc_change_state),
22127         (filesrc_find_peek), (filesrc_find_suggest),
22128         (gst_filesrc_type_find):
22129         * gst/elements/gstidentity.c: (gst_identity_finalize),
22130         (gst_identity_class_init), (gst_identity_init),
22131         (gst_identity_proxy_getcaps), (identity_queue_push),
22132         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
22133         (gst_identity_getrange), (gst_identity_chain),
22134         (gst_identity_sink_loop), (gst_identity_src_loop),
22135         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
22136         (gst_identity_set_property), (gst_identity_get_property),
22137         (gst_identity_change_state):
22138         * gst/elements/gstidentity.h:
22139         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
22140         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
22141         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
22142         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
22143         (gst_tee_sink_activate):
22144         * gst/elements/gsttee.h:
22145         * gst/gst.c: (gst_register_core_elements), (init_post):
22146         * gst/gst.h:
22147         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
22148         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
22149         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
22150         (gst_bin_change_state):
22151         * gst/gstbin.h:
22152         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
22153         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
22154         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
22155         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
22156         (gst_bus_set_sync_handler), (gst_bus_create_watch),
22157         (bus_watch_callback), (bus_watch_destroy),
22158         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
22159         (poll_timeout), (gst_bus_poll):
22160         * gst/gstbus.h:
22161         * gst/gstcaps.h:
22162         * gst/gstdata.h:
22163         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
22164         (gst_element_post_message), (gst_element_message_full),
22165         (gst_element_get_state_func), (gst_element_get_state),
22166         (gst_element_abort_state), (gst_element_commit_state),
22167         (gst_element_lost_state), (gst_element_set_state),
22168         (gst_element_pads_activate), (gst_element_change_state),
22169         (gst_element_dispose), (gst_element_set_manager_func),
22170         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
22171         (gst_element_set_manager), (gst_element_get_manager),
22172         (gst_element_set_bus), (gst_element_get_bus),
22173         (gst_element_set_scheduler), (gst_element_get_scheduler):
22174         * gst/gstelement.h:
22175         * gst/gstevent.c: (gst_event_new_segment_seek),
22176         (gst_event_new_flush):
22177         * gst/gstevent.h:
22178         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
22179         (_gst_message_free), (gst_message_get_type), (gst_message_new),
22180         (gst_message_new_eos), (gst_message_new_error),
22181         (gst_message_new_warning), (gst_message_new_tag),
22182         (gst_message_new_state_changed), (gst_message_new_application),
22183         (gst_message_get_structure), (gst_message_parse_tag),
22184         (gst_message_parse_state_changed), (gst_message_parse_error),
22185         (gst_message_parse_warning):
22186         * gst/gstmessage.h:
22187         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
22188         (gst_real_pad_set_property), (gst_pad_set_active),
22189         (gst_pad_is_active), (gst_pad_set_blocked_async),
22190         (gst_pad_set_blocked), (gst_pad_is_blocked),
22191         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
22192         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
22193         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
22194         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
22195         (gst_pad_link_filtered), (gst_pad_relink_filtered),
22196         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
22197         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
22198         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
22199         (gst_pad_set_caps), (gst_pad_configure_sink),
22200         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
22201         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
22202         (gst_real_pad_dispose), (gst_real_pad_finalize),
22203         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
22204         (gst_pad_event_default_dispatch), (gst_pad_event_default),
22205         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
22206         * gst/gstpad.h:
22207         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
22208         (pipeline_bus_handler), (gst_pipeline_change_state),
22209         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
22210         * gst/gstpipeline.h:
22211         * gst/gstprobe.h:
22212         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
22213         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
22214         (gst_queue_link_src), (gst_queue_bufferalloc),
22215         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
22216         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
22217         (gst_queue_loop), (gst_queue_handle_src_event),
22218         (gst_queue_handle_src_query), (gst_queue_src_activate),
22219         (gst_queue_change_state):
22220         * gst/gstqueue.h:
22221         * gst/gstscheduler.c: (gst_scheduler_init),
22222         (gst_scheduler_dispose), (gst_scheduler_create_task),
22223         (gst_scheduler_factory_create):
22224         * gst/gstscheduler.h:
22225         * gst/gststructure.c: (gst_structure_get_type),
22226         (gst_structure_copy_conditional):
22227         * gst/gststructure.h:
22228         * gst/gsttaginterface.h:
22229         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
22230         (gst_task_init), (gst_task_dispose), (gst_task_create),
22231         (gst_task_get_state), (gst_task_start), (gst_task_stop),
22232         (gst_task_pause):
22233         * gst/gsttask.h:
22234         * gst/gstthread.c:
22235         * gst/gstthread.h:
22236         * gst/gsttypes.h:
22237         * gst/schedulers/Makefile.am:
22238         * gst/schedulers/cothreads_compat.h:
22239         * gst/schedulers/entryscheduler.c:
22240         * gst/schedulers/faircothreads.c:
22241         * gst/schedulers/faircothreads.h:
22242         * gst/schedulers/fairscheduler.c:
22243         * gst/schedulers/gstbasicscheduler.c:
22244         * gst/schedulers/gstoptimalscheduler.c:
22245         * gst/schedulers/gthread-cothreads.h:
22246         * gst/schedulers/threadscheduler.c:
22247         (gst_thread_scheduler_task_get_type),
22248         (gst_thread_scheduler_task_class_init),
22249         (gst_thread_scheduler_task_init),
22250         (gst_thread_scheduler_task_start),
22251         (gst_thread_scheduler_task_stop),
22252         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
22253         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
22254         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
22255         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
22256         (plugin_init):
22257         * libs/gst/Makefile.am:
22258         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
22259         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
22260         (gst_file_pad_parent_set):
22261         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
22262         (gst_dp_event_from_packet):
22263         * tests/complexity.c: (main):
22264         * tests/mass_elements.c: (main):
22265         * testsuite/states/locked.c: (message_received), (main):
22266         * testsuite/states/parent.c: (main):
22267         * tools/gst-inspect.c: (print_element_flag_info),
22268         (print_implementation_info), (print_pad_info):
22269         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
22270         (main):
22271         * tools/gst-md5sum.c: (event_loop), (main):
22272         * tools/gst-typefind.c: (main):
22273         * tools/gst-xmlinspect.c: (print_element_info):
22274         Next big merge.
22275         Added GstBus for mainloop integration.
22276         Added GstMessage for sending notifications on the bus.
22277         Added GstTask as an abstraction for pipeline entry points.
22278         Removed GstThread.
22279         Removed Schedulers.
22280         Simplified GstQueue for multithreaded core.
22281         Made _link threadsafe, removed old capsnego.
22282         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
22283         Added pad blocking functions.
22284         Reworked scheduling functions in GstPad to prepare for
22285         scheduling updates soon.
22286         Moved events out of data stream.
22287         Simplified GstEvent types.
22288         Added return values to push/pull.
22289         Removed clocking from GstElement.
22290         Added prototypes for state change function for next merge.
22291         Removed iterate from bins and state change management.
22292         Fixed some elements, disabled others for now.
22293         Fixed -inspect and -launch.
22294         Added check for GstBus.
22295
22296 2005-03-10  Wim Taymans  <wim@fluendo.com>
22297
22298         * docs/design/part-MT-refcounting.txt:
22299         * docs/design/part-clocks.txt:
22300         * docs/design/part-gstelement.txt:
22301         * docs/design/part-gstobject.txt:
22302         * docs/design/part-standards.txt:
22303         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
22304         (gst_bin_remove_func), (gst_bin_remove):
22305         * gst/gstbin.h:
22306         * gst/gstbuffer.c:
22307         * gst/gstcaps.h:
22308         * testsuite/clock/clock1.c: (main):
22309         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
22310         (main):
22311         * testsuite/dlopen/loadgst.c: (do_test):
22312         * testsuite/refcounting/bin.c: (add_remove_test1),
22313         (add_remove_test2), (main):
22314         * testsuite/refcounting/element.c: (main):
22315         * testsuite/refcounting/element_pad.c: (main):
22316         * testsuite/refcounting/pad.c: (main):
22317         * tools/gst-launch.c: (sigint_handler_sighandler):
22318         * tools/gst-typefind.c: (main):
22319         Doc updates.
22320         Added doc about clock.
22321         removed gst_bin_iterate_recurse_up(), marked methods
22322         for removal.
22323         Fix more testsuites.
22324
22325 2005-03-09  Wim Taymans  <wim@fluendo.com>
22326
22327         * gst/gstpad.c: (gst_pad_get_direction),
22328         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
22329         (gst_pad_collect_valist):
22330         * testsuite/bins/interface.c: (main):
22331         * testsuite/caps/audioscale.c: (test_caps):
22332         * testsuite/caps/caps.c: (test1), (test2), (test3):
22333         * testsuite/caps/deserialize.c: (main):
22334         * testsuite/caps/enumcaps.c: (main):
22335         * testsuite/caps/filtercaps.c: (main):
22336         * testsuite/caps/intersect2.c: (main):
22337         * testsuite/caps/random.c: (main):
22338         * testsuite/caps/renegotiate.c: (my_fixate), (main):
22339         * testsuite/caps/sets.c: (check_caps):
22340         * testsuite/caps/simplify.c: (check_caps), (main):
22341         * testsuite/caps/subtract.c: (check_caps):
22342         Fix _pad_get_direction wrt ghostpads.
22343         Fix caps testsuite.
22344
22345 2005-03-09  Wim Taymans  <wim@fluendo.com>
22346
22347         * check/Makefile.am:
22348         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
22349         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
22350         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
22351         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
22352         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
22353         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
22354         (gst_bin_remove), (gst_bin_iterate_recurse_up),
22355         (bin_element_is_sink), (gst_bin_iterate_sinks),
22356         (gst_bin_iterate_all_by_interface):
22357         * gst/gstbin.h:
22358         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
22359         (gst_element_change_state), (gst_element_dispose),
22360         (gst_element_finalize), (gst_element_set_loop_function):
22361         * gst/gstelement.h:
22362         * gst/gstiterator.c: (find_custom_fold_func):
22363         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
22364         (gst_pad_collectv), (gst_pad_collect_valist),
22365         (gst_pad_template_new):
22366         * gst/gstpipeline.c: (gst_pipeline_class_init),
22367         (gst_pipeline_dispose), (gst_pipeline_set_property),
22368         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
22369         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
22370         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
22371         * gst/gstutils.h:
22372         * gst/schedulers/entryscheduler.c:
22373         * gst/schedulers/gstbasicscheduler.c:
22374         (gst_basic_scheduler_cothreaded_chain),
22375         (gst_basic_scheduler_chain_add_element):
22376         * testsuite/bins/interface.c: (main):
22377         Added GstBin test.
22378         Added GstSystemClock test.
22379         Implemented clock distribution code in GstBin.
22380         Implemented iterate sinks method for future use.
22381         Rearranged gstelement.h
22382         Fix GstIterator comparison bug.
22383         Moved some code to GstPipeline, mostly clocking related.
22384
22385 2005-03-09  Wim Taymans  <wim@fluendo.com>
22386
22387         * configure.ac:
22388         * gst/gst_private.h:
22389         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
22390         (gst_bin_remove_func), (gst_bin_remove),
22391         (gst_bin_get_by_name_recurse_up):
22392         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
22393         (gst_clock_id_compare_func), (gst_clock_id_wait),
22394         (gst_clock_id_wait_async), (gst_clock_init),
22395         (gst_clock_adjust_unlocked), (gst_clock_get_time):
22396         * gst/gstelement.h:
22397         * gst/gstinfo.c: (_gst_debug_init):
22398         * gst/gstobject.h:
22399         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
22400         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
22401         * gst/gstpad.h:
22402         Bump version number, we're now 0.9.0
22403         Add future debugging category.
22404         Fix NULL _unref() in _get_by_name_recurse_up
22405         Rearrange gstpad.h.
22406         Update some docs.
22407
22408 2005-03-08  Wim Taymans  <wim@fluendo.com>
22409
22410         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
22411         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
22412         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
22413         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
22414         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
22415         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
22416         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
22417         * gst/elements/gstidentity.c: (gst_identity_class_init):
22418         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
22419         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
22420         * gst/elements/gstshaper.c: (gst_shaper_class_init):
22421         * gst/elements/gststatistics.c: (gst_statistics_class_init):
22422         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
22423         (gst_tee_link):
22424         * gst/gstelement.c: (gst_element_class_init),
22425         (gst_element_base_class_init), (gst_element_init),
22426         (gst_element_get_random_pad), (gst_element_wait_state_change),
22427         (gst_element_change_state), (gst_element_dispose),
22428         (gst_element_finalize), (gst_element_set_loop_function):
22429         * gst/gstelement.h:
22430         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
22431         * gst/gstthread.c: (gst_thread_class_init),
22432         (gst_thread_release_children_locks), (gst_thread_change_state):
22433         * gst/schedulers/gstbasicscheduler.c:
22434         (gst_basic_scheduler_loopfunc_wrapper),
22435         (gst_basic_scheduler_chain_wrapper),
22436         (gst_basic_scheduler_src_wrapper),
22437         (gst_basic_scheduler_remove_element):
22438         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
22439         Remove threadsafe properties. Fix elements because GObject
22440         complains when installing a property before declaring a
22441         set/get_property handler.
22442         Rearrange gstelement.h file, use STATE macros for state locks.
22443         Free mutexes in the finalize method instead of dispose.
22444
22445 2005-03-08  Wim Taymans  <wim@fluendo.com>
22446
22447         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
22448         * gst/gstthread.c: (gst_thread_release_children_locks):
22449         Added parentage check.
22450         Fix build og GstThread again.
22451
22452 2005-03-08  Wim Taymans  <wim@fluendo.com>
22453
22454         * docs/design/part-MT-refcounting.txt:
22455         * docs/design/part-conventions.txt:
22456         * docs/design/part-gstobject.txt:
22457         * docs/design/part-relations.txt:
22458         * docs/design/part-standards.txt:
22459         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
22460         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
22461         (gst_bin_get_by_name), (gst_bin_get_by_interface),
22462         (gst_bin_iterate_all_by_interface):
22463         * gst/gstbuffer.h:
22464         * gst/gstclock.h:
22465         * gst/gstelement.c: (gst_element_class_init),
22466         (gst_element_change_state), (gst_element_set_loop_function):
22467         * gst/gstelement.h:
22468         * gst/gstiterator.c:
22469         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
22470         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
22471         (gst_object_dispatch_properties_changed), (gst_object_set_name),
22472         (gst_object_set_parent), (gst_object_unparent),
22473         (gst_object_check_uniqueness):
22474         * gst/gstobject.h:
22475         Docs updates, clean up some headers.
22476
22477 2005-03-07  Wim Taymans  <wim@fluendo.com>
22478
22479         * check/.cvsignore:
22480         * check/Makefile.am:
22481         * check/gst-libs/.cvsignore:
22482         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
22483         * check/gst/.cvsignore:
22484         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
22485         (START_TEST), (gstbus_suite), (main):
22486         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
22487         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
22488         (gst_data_suite), (main):
22489         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
22490         (add_fold_func), (gstiterator_suite), (main):
22491         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
22492         (thread_name_object), (thread_name_object_default),
22493         (gst_object_name_compare), (gst_object_suite), (main):
22494         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
22495         (gst_pad_suite), (main):
22496         * check/gstcheck.c: (gst_check_log_message_func),
22497         (gst_check_log_critical_func), (gst_check_init):
22498         * check/gstcheck.h:
22499         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
22500         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
22501         Added checks.
22502
22503 2005-03-07  Wim Taymans  <wim@fluendo.com>
22504
22505         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
22506         (gst_list_iterator_next), (gst_list_iterator_resync),
22507         (gst_list_iterator_free), (gst_iterator_new_list),
22508         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
22509         (gst_iterator_free), (gst_iterator_push), (filter_next),
22510         (filter_resync), (filter_uninit), (filter_free),
22511         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
22512         (gst_iterator_foreach), (find_custom_fold_func),
22513         (gst_iterator_find_custom):
22514         * gst/gstiterator.h:
22515         Added missing files.
22516
22517 2005-03-07  Wim Taymans  <wim@fluendo.com>
22518
22519         * Makefile.am:
22520         * configure.ac:
22521         * docs/design/part-MT-refcounting.txt:
22522         * docs/design/part-conventions.txt:
22523         * docs/design/part-gstobject.txt:
22524         * docs/design/part-relations.txt:
22525         * examples/mixer/mixer.c: (main):
22526         * examples/thread/thread.c: (eos), (main):
22527         * gst/Makefile.am:
22528         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
22529         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
22530         (gst_spider_plug_from_srcpad):
22531         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
22532         (gst_spider_identity_change_state),
22533         (gst_spider_identity_sink_loop_type_finding):
22534         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
22535         * gst/elements/gstidentity.c: (gst_identity_init):
22536         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
22537         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
22538         * gst/elements/gsttypefindelement.c: (free_entry):
22539         * gst/gst.c:
22540         * gst/gst.h:
22541         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
22542         (gst_bin_set_clock_func), (gst_bin_auto_clock),
22543         (gst_bin_set_index), (gst_bin_set_element_sched),
22544         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
22545         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
22546         (gst_bin_iterate_elements), (iterate_child_recurse),
22547         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
22548         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
22549         (compare_interface), (gst_bin_get_by_interface),
22550         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
22551         * gst/gstbin.h:
22552         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
22553         (gst_buffer_default_free), (gst_buffer_default_copy),
22554         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
22555         (gst_buffer_create_sub):
22556         * gst/gstbuffer.h:
22557         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
22558         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
22559         (gst_caps_unref), (gst_static_caps_get),
22560         (gst_caps_remove_and_get_structure), (gst_caps_append),
22561         (gst_caps_append_structure), (gst_caps_remove_structure),
22562         (gst_caps_copy_nth), (gst_caps_set_simple),
22563         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
22564         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
22565         (gst_caps_structure_intersect_field), (gst_caps_intersect),
22566         (gst_caps_structure_subtract_field), (gst_caps_subtract),
22567         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
22568         (gst_caps_structure_figure_out_union),
22569         (gst_caps_switch_structures), (gst_caps_do_simplify),
22570         (gst_caps_replace), (gst_caps_from_string),
22571         (gst_caps_copy_conditional):
22572         * gst/gstcaps.h:
22573         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
22574         (_gst_clock_id_free), (gst_clock_id_unref),
22575         (gst_clock_id_compare_func), (gst_clock_id_wait),
22576         (gst_clock_id_wait_async), (gst_clock_class_init),
22577         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
22578         (gst_clock_get_time), (gst_clock_set_time_adjust),
22579         (gst_clock_set_property), (gst_clock_get_property):
22580         * gst/gstclock.h:
22581         * gst/gstcompat.h:
22582         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
22583         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
22584         * gst/gstdata.h:
22585         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
22586         (gst_element_requires_clock), (gst_element_provides_clock),
22587         (gst_element_set_clock), (gst_element_clock_wait),
22588         (gst_element_wait), (gst_element_set_time_delay),
22589         (gst_element_is_indexable), (gst_element_add_pad),
22590         (gst_element_add_ghost_pad), (gst_element_remove_pad),
22591         (pad_compare_name), (gst_element_get_static_pad),
22592         (gst_element_request_pad), (gst_element_get_request_pad),
22593         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
22594         (gst_element_class_get_pad_template_list),
22595         (gst_element_class_get_pad_template), (gst_element_error_func),
22596         (gst_element_get_random_pad), (gst_element_get_event_masks),
22597         (gst_element_send_event), (gst_element_seek),
22598         (gst_element_get_query_types), (gst_element_query),
22599         (gst_element_get_formats), (gst_element_convert),
22600         (gst_element_is_locked_state), (gst_element_set_locked_state),
22601         (gst_element_sync_state_with_parent), (gst_element_change_state),
22602         (gst_element_finalize), (gst_element_yield),
22603         (gst_element_interrupt), (gst_element_set_scheduler),
22604         (gst_element_get_scheduler), (gst_element_set_loop_function):
22605         * gst/gstelement.h:
22606         * gst/gstevent.h:
22607         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
22608         (gst_format_get_by_nick), (gst_format_get_details),
22609         (gst_format_iterate_definitions):
22610         * gst/gstformat.h:
22611         * gst/gstindex.c: (gst_index_gtype_resolver):
22612         * gst/gstinfo.c:
22613         * gst/gstinfo.h:
22614         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
22615         (gst_mem_chunk_free):
22616         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
22617         (gst_object_ref), (gst_object_unref), (gst_object_sink),
22618         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
22619         (gst_object_dispatch_properties_changed),
22620         (gst_object_set_name_default), (gst_object_set_name),
22621         (gst_object_get_name), (gst_object_set_name_prefix),
22622         (gst_object_get_name_prefix), (gst_object_set_parent),
22623         (gst_object_get_parent), (gst_object_unparent),
22624         (gst_object_check_uniqueness), (gst_object_save_thyself),
22625         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
22626         (gst_object_set_property), (gst_object_get_property),
22627         (gst_object_get_path_string):
22628         * gst/gstobject.h:
22629         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
22630         (gst_real_pad_init), (gst_real_pad_get_property),
22631         (gst_pad_custom_new), (gst_pad_get_direction),
22632         (gst_pad_set_active), (gst_pad_is_active),
22633         (gst_pad_set_event_function), (gst_pad_is_linked),
22634         (gst_pad_link_free), (gst_pad_link_intersect),
22635         (gst_pad_link_fixate), (gst_pad_set_caps),
22636         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
22637         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
22638         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
22639         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
22640         (gst_pad_get_caps), (gst_pad_peer_get_caps),
22641         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
22642         (gst_pad_realize), (gst_pad_get_allowed_caps),
22643         (gst_real_pad_dispose), (gst_real_pad_finalize),
22644         (gst_pad_collectv), (gst_pad_collect_valist),
22645         (gst_pad_template_dispose), (gst_pad_template_new),
22646         (gst_pad_get_internal_links):
22647         * gst/gstpad.h:
22648         * gst/gstpipeline.c: (gst_pipeline_dispose),
22649         (gst_pipeline_change_state):
22650         * gst/gstpipeline.h:
22651         * gst/gstplugin.c:
22652         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
22653         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
22654         * gst/gstpluginfeature.h:
22655         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
22656         * gst/gstquery.c: (_gst_query_type_initialize),
22657         (gst_query_type_register), (gst_query_type_get_by_nick),
22658         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
22659         * gst/gstquery.h:
22660         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
22661         * gst/gstscheduler.c: (gst_scheduler_add_element),
22662         (gst_scheduler_factory_create):
22663         * gst/gststructure.c: (gst_structure_set_parent_refcount),
22664         (gst_structure_free), (gst_structure_set_name),
22665         (gst_structure_id_set_value), (gst_structure_set_value),
22666         (gst_structure_set_valist), (gst_structure_remove_field),
22667         (gst_structure_remove_fields),
22668         (gst_structure_remove_fields_valist),
22669         (gst_structure_remove_all_fields), (gst_structure_foreach),
22670         (gst_structure_map_in_place),
22671         (gst_caps_structure_fixate_field_nearest_int),
22672         (gst_caps_structure_fixate_field_nearest_double):
22673         * gst/gststructure.h:
22674         * gst/gstsystemclock.c: (gst_system_clock_class_init),
22675         (gst_system_clock_init), (gst_system_clock_dispose),
22676         (gst_system_clock_async_thread),
22677         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
22678         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
22679         * gst/gstsystemclock.h:
22680         * gst/gsttag.c: (gst_tag_list_add_value_internal),
22681         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
22682         * gst/gsttaginterface.c:
22683         * gst/gstthread.c: (gst_thread_dispose),
22684         (gst_thread_release_children_locks), (gst_thread_change_state),
22685         (gst_thread_main_loop):
22686         * gst/gsttrashstack.h:
22687         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
22688         * gst/gsttypes.h:
22689         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
22690         (gst_element_request_pad), (gst_element_get_pad_from_template),
22691         (gst_element_request_compatible_pad),
22692         (gst_element_get_compatible_pad_filtered),
22693         (gst_element_get_compatible_pad), (gst_element_state_get_name),
22694         (gst_element_link_pads_filtered), (gst_element_link_filtered),
22695         (gst_element_link_many), (gst_element_link),
22696         (gst_element_link_pads), (gst_element_unlink_pads),
22697         (gst_element_unlink_many), (gst_element_unlink),
22698         (gst_pad_can_link_filtered), (gst_pad_can_link),
22699         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
22700         (gst_object_default_error), (gst_bin_add_many),
22701         (gst_bin_remove_many), (gst_element_populate_std_props),
22702         (gst_element_class_install_std_props), (gst_buffer_merge),
22703         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
22704         (link_fold_func), (gst_pad_proxy_setcaps):
22705         * gst/gstutils.h:
22706         * gst/gstvalue.c: (gst_value_deserialize_string):
22707         * gst/parse/grammar.y:
22708         * gst/schedulers/gstbasicscheduler.c:
22709         (gst_basic_scheduler_cothreaded_chain),
22710         (gst_basic_scheduler_chain_recursive_add),
22711         (gst_basic_scheduler_pad_link):
22712         * gst/schedulers/gstoptimalscheduler.c:
22713         (get_group_schedule_function),
22714         (gst_opt_scheduler_state_transition),
22715         (gst_opt_scheduler_add_element), (element_get_reachables_func):
22716         * libs/gst/bytestream/bytestream.c:
22717         * libs/gst/dataprotocol/dataprotocol.c:
22718         (gst_dp_header_from_buffer):
22719         * po/nb.po:
22720         * po/ru.po:
22721         * tests/threadstate/threadstate2.c: (eos):
22722         * tools/gst-compprep.c: (main):
22723         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
22724         (print_pad_info), (print_children_info):
22725         * tools/gst-launch.c: (idle_func), (main):
22726         * tools/gst-md5sum.c: (idle_func), (main):
22727         * tools/gst-xmlinspect.c: (print_element_info):
22728         First THREADED backport attempt, focusing on adding locks and
22729         making sure the API is threadsafe. Needs more work. More docs
22730         follow this week.
22731
22732 2005-02-24  Andy Wingo  <wingo@pobox.com>
22733
22734         * tests/bench-complexity.scm:
22735         * tests/complexity.gnuplot: New files, good for running complexity
22736         benchmarks.
22737
22738         * tests/Makefile.am:
22739         * tests/complexity.c: New test, sets up N elements, at each level
22740         teeing into M streams per element. Eeeenteresting.
22741
22742         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
22743         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
22744         running bench-mass_elements.scm.
22745
22746         * tests/bench-mass_elements.scm: New script, runs mass_elements
22747         for various numbers of identities, outputting the results to a
22748         file. Requires guile 1.6. Just for testing.
22749
22750 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22751
22752         * gst/schedulers/fairscheduler.c:
22753           compile with debug disabled
22754
22755 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
22756
22757         * configure.ac:
22758           hunting season on 0.9 is now OPEN