libs/gst/base/gstbasesink.c: Don't accept anything after an EOS, return UNEXPECTED...
[platform/upstream/gstreamer.git] / ChangeLog
1 2007-04-05  Wim Taymans  <wim@fluendo.com>
2
3         * libs/gst/base/gstbasesink.c:
4         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
5         (gst_base_sink_change_state):
6         Don't accept anything after an EOS, return UNEXPECTED instead.
7
8         * tests/check/elements/fakesink.c: (GST_START_TEST),
9         (fakesink_suite):
10         Unit test for new EOS behaviour.
11
12 2007-04-05  Wim Taymans  <wim@fluendo.com>
13
14         * gst/gstelement.c: (gst_element_get_request_pad):
15         Make padtemplates also work when they don't contain %s or %d.
16
17 2007-04-05  Wim Taymans  <wim@fluendo.com>
18
19         * docs/gst/gstreamer-sections.txt:
20         * gst/gstclock.c: (gst_clock_adjust_unlocked),
21         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
22         * gst/gstclock.h:
23         Improve _adjust_unlocked() so that it overflows less.
24         Add gst_clock_unadjust_unlocked to convert from external time to
25         internal time based on calibration.
26         Add some more debug.
27         API: GstClock::gst_clock_unadjust_unlocked()
28
29 2007-04-03  Wim Taymans  <wim@fluendo.com>
30
31         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
32
33         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
34         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
35         when releasing sink pad. Fixes #425400.
36
37 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
38
39         * docs/random/ensonic/dynlink.txt:
40           More work on proposal for new core api.
41
42         * docs/libs/gstreamer-libs-sections.txt:
43         * libs/gst/base/gstbasetransform.h:
44           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
45           
46         * libs/gst/controller/gstcontroller.c:
47         (on_object_controlled_property_changed),
48         (gst_controller_sync_values),
49         (gst_controller_set_interpolation_mode):
50         * libs/gst/controller/gstcontroller.h:
51           Less verbose logging add docs for unimplemented parts and correctly
52           return when using unavailable parts.
53
54 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
55
56         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
57         Move all the debug to the CLOCK category, and associate it with
58         the clock object.
59
60 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
61
62         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
63         Make take_buffer a bit quicker by removing redundant checks
64         caused by calling gst_adapter_take.
65
66 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
67
68         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
69           Don't leak GCond.
70
71         * tests/check/Makefile.am:
72         * tests/check/elements/.cvsignore:
73         * tests/check/elements/multiqueue.c: (setup_multiqueue),
74         (GST_START_TEST), (multiqueue_suite):
75           Add some dead simple unit tests for the 'multiqueue' element
76           (some bits don't work yet and are disabled for now).
77
78 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
79
80         * gst/gstelement.c: (gst_element_get_request_pad),
81         (gst_element_class_get_request_pad_template):
82           Make gst_element_get_request_pad() create request pads only for
83           request pad templates and not for, say, sometimes pad templates.
84
85 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
86
87         * docs/design/draft-klass.txt:
88           Add example that needs more thinking.
89         
90         * docs/design/draft-missing-plugins.txt:
91           More thoughts about wrapper plugins.
92         
93         * docs/random/ensonic/embedded.txt:
94         * docs/random/ensonic/profiling.txt:
95           More design work.
96
97 2007-03-25  Wim Taymans  <wim@fluendo.com>
98
99         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
100         (gst_base_src_loop):
101         Only push the segment events in the PLAYING state for live sources.
102
103 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
104
105         * gst/gstpipeline.c: (gst_pipeline_change_state):
106         Modify the clock distribution path in PAUSED->PLAYING so that we 
107         never attempt to choose a new clock unless we're actually leaving
108         the PAUSED state for the first time. This prevents choosing a
109         different clock when the state_change gets called for a 2nd time due
110         to some element doing an async state change.
111
112 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
113
114         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
115         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
116         (gst_pad_chain_unchecked), (gst_pad_push):
117         Revert last commit. This needs some more thoughts.
118
119 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
120
121         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
122         (gst_pad_chain_unchecked), (gst_pad_push):
123         Check in set_caps if the caps are compatible with the pad and remove
124         two functions that are redundant now. Fixes #421543.
125
126 2007-03-22  Wim Taymans  <wim@fluendo.com>
127
128         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
129         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
130         Unref some more to make valgrind happy.
131
132 2007-03-22  Wim Taymans  <wim@fluendo.com>
133
134         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
135         (gst_system_clock_id_wait_jitter),
136         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
137         Fix anoying regression that survived a few releases. When adding an
138         async entry while blocking on a sync entry, the sync entry will unblock
139         but still be busy, so it should continue to wait instead of returning
140         _BUSY to the app.
141         Add some comments here and there.
142
143         * tests/check/gst/gstsystemclock.c: (mixed_thread),
144         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
145         Add testcase for this.
146
147 2007-03-22  Wim Taymans  <wim@fluendo.com>
148
149         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
150         Handle errors from the clock sync better, only UNSCHEDULED indicates a
151         WRONG_STATE and can silently pause the task. All other cases should
152         error out.
153
154 2007-03-22  Wim Taymans  <wim@fluendo.com>
155
156         Patch by: <syrjala at sci dot fi>
157
158         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
159         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
160         Improve debugging.
161
162 2007-03-21  Michael Smith  <msmith@fluendo.com>
163
164         * docs/pwg/advanced-types.xml:
165           Fix some errors in the typefinding docs pointed out on irc.
166
167 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
168
169         * libs/gst/base/gstbasesrc.c:
170         Clarify FIXME comment in the face of having added unlock_stop()
171
172 2007-03-21  Wim Taymans  <wim@fluendo.com>
173
174         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
175         Prepare for release where we warn against possible app breakage in the
176         case of live pipelines along with an env var to enable/disable live
177         preroll mode (GST_COMPAT=[no-]live-preroll).
178
179 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
180
181         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
182         So we should use correct constants for checking for None offset.
183
184 2007-03-20  Wim Taymans  <wim@fluendo.com>
185
186         * docs/design/part-block.txt:
187         Mention the fact that the newly switched element should be set to at
188         least PAUSED.
189
190 2007-03-20  Wim Taymans  <wim@fluendo.com>
191
192         * gst/gst.c:
193         Fix compilation with registry disabled as spotted by Saur.
194
195 2007-03-20  Wim Taymans  <wim@fluendo.com>
196
197         Patch by: Olivier Crete <tester at tester dot ca>
198
199         * gst/gstelement.c: (gst_element_sync_state_with_parent):
200         Look at the pending state too when syncing the element state to the
201         parent. Fixes #420133.
202
203 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
204
205         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
206         (gst_base_sink_change_state):
207         * libs/gst/base/gstbasesink.h:
208         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
209         (gst_base_src_default_event), (gst_base_src_unlock_stop),
210         (gst_base_src_deactivate):
211         * libs/gst/base/gstbasesrc.h:
212         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
213         for sub-classes to correctly clear any state they set trying to
214         unlock, such as clearing out unlock commands from a command fd.
215
216         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
217         (gst_fd_sink_render), (gst_fd_sink_unlock),
218         (gst_fd_sink_unlock_stop):
219         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
220         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
221         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
222
223         Implement unlock_stop in fdsrc and fdsink.
224         Implement seeking in fdsrc when a seekable fd is passed, as in
225         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
226
227 2007-03-19  Wim Taymans  <wim@fluendo.com>
228
229         Patch by: Evan Nemerson <evan at coeus dash group dot com>
230
231         * gst/gstelement.c: (gst_element_class_init):
232         Fix pad-added and pad-removed signal signatures so that the pad type is
233         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
234
235 2007-03-19  Wim Taymans  <wim@fluendo.com>
236
237         * docs/gst/gstreamer-sections.txt:
238         Add new element field and method.
239
240         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
241         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
242         (gst_bin_recalc_state), (gst_bin_get_state_func),
243         (gst_bin_element_set_state), (gst_bin_change_state_func),
244         (gst_bin_continue_func), (bin_bus_handler),
245         (bin_push_state_continue), (bin_handle_async_start),
246         (bin_handle_async_done), (gst_bin_handle_message_func):
247         Make async state changes a bit smarter by using new ASYNC_START and
248         ASYNC_DONE messages. This reduces the number of times we run the state
249         recalculation thread.
250         Don't change state of element with a pending ASYNC_START message.
251         Deprecate STATE_DIRTY messages.
252         
253         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
254         (gst_element_get_state_func), (gst_element_continue_state),
255         (gst_element_lost_state), (gst_element_set_state_func),
256         (gst_element_change_state):
257         * gst/gstelement.h:
258         Keep the state that was last set by the app in a new element field.
259         Don't allow state changes when handling an element event.
260         Post ASYNC_START and ASYNC_DONE messages.
261         Change lost_state so that we go to PAUSED and wait for the parent to set
262         us to PLAYING again (so latency calculation can be performed)
263         Export gst_element_change_state() method so that subclasses can use it.
264         API: gst_element_change_state()
265         API: GST_STATE_TARGET
266
267         * gst/gstpipeline.c: (gst_pipeline_class_init),
268         (reset_stream_time), (gst_pipeline_change_state),
269         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
270         Using the new ASYNC_START message we can reset the base_time when
271         needed. This can then be used to implement base_time redistribution in
272         flushing seeks so that we can remove the explicit seek handling.
273         Perform latency query and configuration when going to PLAYING.
274
275         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
276         (gst_base_sink_query), (gst_base_sink_change_state):
277         Post new ASYNC_START/ASYNC_DONE messages.
278
279         * tests/check/generic/sinks.c: (GST_START_TEST):
280         Fix test because the bin will not set the async element to PLAYING right
281         away.
282
283         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
284         Make the message check a little stronger.
285         Handle ASYNC messages.
286
287         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
288         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
289         Expect ASYNC_DONE messages.
290
291 2007-03-19  Wim Taymans  <wim@fluendo.com>
292
293         * docs/gst/gstreamer-sections.txt:
294         * gst/gstmessage.c: (gst_message_new_async_start),
295         (gst_message_new_async_done), (gst_message_parse_info),
296         (gst_message_parse_async_start):
297         * gst/gstmessage.h:
298         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
299         support.
300
301 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
302
303         * tools/gst-inspect.c:
304         (print_plugin_automatic_install_info_codecs):
305           Now that we don't check for the 'Codec' keyword any longer in the
306           klass, we shouldn't spew a warning if the klass isn't a decoder or
307           encoder (since it might be a Source/Network, for example).
308
309 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
310
311         * tools/gst-inspect.c:
312         (print_plugin_automatic_install_info_codecs):
313           Don't require decoder/demuxer/depayloader elements or
314           encoder/muxer/paylader elements to have 'Codec' as part of their
315           factory class string when introspecting a plugin's capabilities.
316           draft-klass.txt mentions that it might be removed in future, and
317           flump3dec doesn't have it as part of its class string, so chances
318           are others might also not have it.
319
320 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
321
322         * po/af.po:
323         * po/az.po:
324         * po/bg.po:
325         * po/ca.po:
326         * po/cs.po:
327         * po/de.po:
328         * po/en_GB.po:
329         * po/fr.po:
330         * po/it.po:
331         * po/nb.po:
332         * po/nl.po:
333         * po/ru.po:
334         * po/sq.po:
335         * po/sr.po:
336         * po/sv.po:
337         * po/tr.po:
338         * po/uk.po:
339         * po/vi.po:
340         * po/zh_CN.po:
341         * po/zh_TW.po:
342           Update translations from translation project
343
344 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
345
346         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
347         (gst_child_proxy_set_property):
348           Invert precondition check to be alike the ones in the mimiced gobject
349           api.
350
351 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
352
353         * docs/design/draft-tagreading.txt:
354         * docs/random/ensonic/audiobaseclasses.txt:
355           Do some Architect work.
356
357         * gst/gstobject.c: (gst_object_set_name):
358           Add a WARNING.
359
360         * gst/gstpad.c:
361           Add docs that point from gst_pad_get_range to gst_pad_pull_range
362
363 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
364
365         * gst/gstsystemclock.c: (gst_system_clock_init),
366         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
367         Defer starting the async system clock thread until the first async
368         wait is scheduled. Fixes #414986.
369
370 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
371
372         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
373         (gst_single_queue_free):
374           Fix small leak (free GstSingleQueue structure too, not only contents).
375
376 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
377
378         * gst/gstbin.c:(gst_bin_add):
379         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
380         * win32/common/libgstbase.def:
381         * win32/common/libgstreamer.def:
382         Add new exported functions.
383
384 2007-03-09  Wim Taymans  <wim@fluendo.com>
385
386         * docs/plugins/gstreamer-plugins-sections.txt:
387         Fix GstTee docs.
388
389 2007-03-09  Wim Taymans  <wim@fluendo.com>
390
391         * docs/gst/gstreamer-sections.txt:
392         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
393         * gst/gstbuffer.h:
394         Add metadata copy functions. Fixes #393099.
395
396         * gst/gstutils.c: (gst_buffer_stamp):
397         * libs/gst/base/gstbasetransform.c:
398         (gst_base_transform_prepare_output_buffer):
399         Use new metadata copy functions.
400
401 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
402
403         * plugins/elements/gstidentity.c: (gst_identity_class_init),
404         (gst_identity_init), (gst_identity_check_perfect),
405         (gst_identity_check_imperfect_timestamp),
406         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
407         (gst_identity_set_property), (gst_identity_get_property):
408         * plugins/elements/gstidentity.h:
409         Separate out check-imperfect-timestamp and check-imperfect-offset.
410         Put back check-perfect as it was to keep compatibility.
411
412 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
413
414         * gst/gstelement.c: (gst_element_dispose):
415         There's no need to warn if VOID_PENDING is not NONE here, as
416         long as the state is NULL it's ok, and that's checked immediately
417         above.
418
419 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
420
421         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
422         Fix check for perfect stream to ignore buffers with -1 
423         offsets/offset ends when checking data contiguity.
424
425 2007-03-08  Wim Taymans  <wim@fluendo.com>
426
427         * tools/gst-launch.c: (event_loop):
428         Print INFO messages.
429
430 2007-03-08  Wim Taymans  <wim@fluendo.com>
431
432         * libs/gst/base/gstbasetransform.c:
433         (gst_base_transform_sink_eventfunc),
434         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
435         (gst_base_transform_activate):
436         * libs/gst/base/gstbasetransform.h:
437         Add support for dropping buffers with custom GstFlowReturn.
438         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
439         buffers or dropped buffers.
440
441         * docs/libs/gstreamer-libs-sections.txt:
442         docs for new custom return code.
443
444         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
445         Use drop support in base class to implement drop-probability.
446
447 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
448
449         * gst/gst.c: (load_plugin_func):
450         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
451         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
452         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
453           Remove newlines at end of debug log strings.
454
455 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
456
457         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
458         Only post bus message at max, once per buffer received.
459
460 2007-03-07  Wim Taymans  <wim@fluendo.com>
461
462         * docs/design/Makefile.am:
463         * docs/design/part-synchronisation.txt:
464         Add doc about synchronisation
465
466         * docs/design/draft-latency.txt:
467         * docs/design/part-TODO.txt:
468         * docs/design/part-clocks.txt:
469         * docs/design/part-events.txt:
470         * docs/design/part-gstbus.txt:
471         * docs/design/part-gstpipeline.txt:
472         * docs/design/part-live-source.txt:
473         * docs/design/part-messages.txt:
474         * docs/design/part-overview.txt:
475         * docs/design/part-streams.txt:
476         * docs/design/part-trickmodes.txt:
477         Documentation updates.
478
479 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
480
481         * gstreamer.doap:
482         Update the doap file.
483
484 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
485
486         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
487         Rename non-perfect to imperfect for Mike and for the sanctity of the
488         language.
489         Also make sure bus message gets emitted for data-incontiguities.
490
491 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
492
493         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
494         (gst_identity_start):
495         * plugins/elements/gstidentity.h:
496         Emit bus message if check-perfect is true and we encounter a
497         non-perfect stream between 2 consecutive buffers.
498         Fixes #415394.
499
500 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
501
502         * configure.ac:
503         Back to CVS
504
505 === release 0.10.12 ===
506
507 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
508
509         * configure.ac:
510           releasing 0.10.12, "Inevitable Demise"
511
512 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
513
514         * configure.ac:
515          Version 0.10.11.2 (0.10.12 pre-release)
516          Bump libtool versioning.
517
518 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
519
520         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
521           Log flow-names and not numbers.
522
523 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
524
525         * configure.ac:
526           Convert to new AG_GST style.
527
528 2007-02-28  Wim Taymans  <wim@fluendo.com>
529
530         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
531         Don't unref query twice.
532
533 2007-02-28  Wim Taymans  <wim@fluendo.com>
534
535         * gst/gstvalue.c: (gst_value_transform_object_string),
536         (_gst_value_initialize):
537         Implement GstObject -> string transform so we print object names
538         when serializing GValues containing GstObjects.
539
540 2007-02-28  Wim Taymans  <wim@fluendo.com>
541
542         * docs/gst/gstreamer-sections.txt:
543         Add new stuff to docs.
544
545 2007-02-28  Wim Taymans  <wim@fluendo.com>
546
547         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
548         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
549         (gst_base_sink_change_state):
550         Improve latency query code.
551         Don't leak latency events.
552
553         * tests/check/gst/gstbin.c: (GST_START_TEST):
554         Improve debugging.
555
556 2007-02-28  Wim Taymans  <wim@fluendo.com>
557
558         * gst/gstelement.c: (gst_element_message_full),
559         (gst_element_get_state_func):
560         * gst/gstelement.h:
561         Improve docs a little. Added Since: for new macro.
562
563         * gst/gstobject.c: (gst_object_sink):
564         * gst/gstpipeline.c: (gst_pipeline_change_state),
565         (gst_pipeline_set_new_stream_time):
566         * gst/gstpipeline.h:
567         Improve debugging and docs.
568
569         * gst/gstutils.c: (gst_element_state_change_return_get_name):
570         Improve debugging.
571
572 2007-02-28  Wim Taymans  <wim@fluendo.com>
573
574         * gst/gstelement.c: (gst_element_message_full),
575         (gst_element_set_locked_state), (gst_element_get_state_func),
576         (gst_element_change_state):
577         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
578         Documentation updates.
579         Small code cleanups.
580
581         * gst/gstmessage.c: (gst_message_new_info),
582         (gst_message_parse_info):
583         * gst/gstmessage.h:
584         API: gst_message_new_info()
585         API: gst_message_parse_info()
586         Add INFO message create and parse code.
587
588 2007-02-28  Wim Taymans  <wim@fluendo.com>
589
590         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
591         (bin_query_latency_done):
592         Also report the live parameter of a latency query.
593
594 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
595
596         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
597           Copy the current generic/states example from -base and adapt so
598           we can use the exact same code everywhere.
599           Check a STATES_IGNORE_ELEMENTS env var which can be used
600           to ignore certain element factories for this test, which is
601           what is being done in -base
602         * tests/check/Makefile.am:
603           Mention this environment variable.
604
605 2007-02-27  Wim Taymans  <wim@fluendo.com>
606
607         * docs/gst/gstreamer-sections.txt:
608         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
609         (gst_bus_timed_pop), (gst_bus_pop):
610         * gst/gstbus.h:
611         API: gst_bus_timed_pop()
612         Implement gst_bus_timed_pop() to do a blocking timed wait for a
613         message to arrive on the bus.
614
615         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
616         (gst_bus_suite):
617         Two unit tests for new _timed_pop() function.
618
619 2007-02-23  Wim Taymans  <wim@fluendo.com>
620
621         * gst/gstpipeline.c: (gst_pipeline_change_state),
622         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
623         Don't ref a NULL clock in _provide_clock_func().
624         Don't allow an INVALID delay.
625         Don't try to calculate base_time with an invalid start_time.
626         Also distribute and notify a NULL clock when it was selected.
627
628         * tools/gst-launch.c: (event_loop):
629         Don't crash when a NULL clock was selected in the pipeline.
630
631 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
632
633         * docs/design/Makefile.am:
634         * docs/design/draft-missing-plugins.txt:
635         * docs/random/draft-missing-plugins.txt:
636           Some small updates: update plugin system identifier prefix
637           ('gstreamer.net' to 'gstreamer'), mention our new install
638           API in libgstbaseutils rather than libgimme-codec, add
639           reference to the online docs.
640
641 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
642
643         * win32/common/config.h:
644           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
645           use moap cl ci to only check in what is mentioned in the ChangeLog.
646
647 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
648
649         * docs/gst/gstreamer-sections.txt:
650         * gst/gstelement.h:
651           Fix up documentation to link to the correct GstGError section.
652           Add GST_ELEMENT_INFO macro since someone else added a Info message.
653
654 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
655
656         * tools/gst-launch.c: (event_loop):
657           Make sure that we actually show the important message part of a
658           warning message.
659           No need to check if the gerror is not NULL to free; first of all
660           g_free accepts NULL; and second the default error handler would
661           segfault if gerror was NULL.
662
663 2007-02-21  Wim Taymans  <wim@fluendo.com>
664
665         * docs/gst/gstreamer-sections.txt:
666         Removed docs as well.
667
668 2007-02-21  Wim Taymans  <wim@fluendo.com>
669
670         * gst/gstmessage.c: (gst_message_parse_duration):
671         * gst/gstmessage.h:
672         Remove new messages for release.
673
674 2007-02-20  Wim Taymans  <wim@fluendo.com>
675
676         * docs/design/part-gstghostpad.txt:
677         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
678         (gst_ghost_pad_new_full):
679         Make the ghostpad a parent of the internal pad again for better backward
680         compatibility. Don't write code that relies on this however.
681
682         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
683         (gst_pad_link_check_hierarchy):
684         Require that parents should be GstElements in the hierarchy check.
685
686 2007-02-20  Wim Taymans  <wim@fluendo.com>
687
688         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
689         (gst_bin_change_state_func), (bin_query_min_max_init),
690         (bin_query_latency_fold), (bin_query_latency_done),
691         (gst_bin_query):
692         Improve debug info.
693         Implement latency query.
694
695 2007-02-20  Wim Taymans  <wim@fluendo.com>
696
697         * docs/design/part-gstghostpad.txt:
698         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
699         (gst_ghost_pad_internal_do_activate_push),
700         (gst_ghost_pad_internal_do_activate_pull),
701         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
702         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
703         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
704         Do not set the internal pad as a parent anymore so we can avoid
705         hierarchy linking errors when the ghostpad has no parent yet. This also
706         fixes failed activation because of unlinked internal pads, which in
707         turn fixes the impossible case where you have to activate a pad before
708         you can add it to a running element.
709         Also fix the docs.
710
711         * gst/gstpad.c: (pre_activate), (post_activate),
712         (gst_pad_set_active), (gst_pad_activate_pull),
713         (gst_pad_activate_push), (gst_pad_check_pull_range):
714         Add some more debug info.
715         Mark activation mode in pre_activate so that we don't try to activate in
716         endless loops. Fixes #385084.
717
718 2007-02-19  Wim Taymans  <wim@fluendo.com>
719
720         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
721         (gst_base_transform_check_get_range):
722         Implement a checkgetrange function instead of relying on the default
723         core behaviour that assumes we can operate in pull mode if we have a
724         getrange function. First step at fixing #385084.
725
726 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
727
728         * gst/gstchildproxy.h:
729         * libs/gst/base/gstbasesink.h:
730         * libs/gst/base/gstbasesrc.h:
731         * libs/gst/base/gstbasetransform.h:
732         More docs coverage and some ChangeLog surgery (add missing names)
733
734 2007-02-15  Wim Taymans  <wim@fluendo.com>
735
736         * docs/design/part-TODO.txt:
737         * docs/design/part-activation.txt:
738         * docs/design/part-block.txt:
739         * docs/design/part-buffering.txt:
740         * docs/design/part-clocks.txt:
741         * docs/design/part-element-source.txt:
742         * docs/design/part-events.txt:
743         * docs/design/part-gstbin.txt:
744         * docs/design/part-gstbus.txt:
745         * docs/design/part-gstpipeline.txt:
746         * docs/design/part-live-source.txt:
747         * docs/design/part-messages.txt:
748         * docs/design/part-overview.txt:
749         * docs/design/part-qos.txt:
750         * docs/design/part-query.txt:
751         * docs/design/part-states.txt:
752         * docs/design/part-trickmodes.txt:
753         Some doc updates. Start renaming from stream_time to running_time where
754         it was used wrongly.
755
756 2007-02-15  Wim Taymans  <wim@fluendo.com>
757
758         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
759         Answer LATENCY query.
760
761 2007-02-15  Wim Taymans  <wim@fluendo.com>
762
763         * tests/check/gst/gstevent.c: (event_probe), (test_event),
764         (GST_START_TEST):
765         Improve debugging.
766
767 2007-02-15  Wim Taymans  <wim@fluendo.com>
768
769         * gst/gstpad.c: (gst_pad_get_internal_links_default),
770         (gst_pad_dispatcher):
771         Improve debugging of default pad dispatcher and query functions.
772
773 2007-02-15  Wim Taymans  <wim@fluendo.com>
774
775         * docs/gst/gstreamer-sections.txt:
776         Remove old unused method.
777
778 2007-02-13  Wim Taymans  <wim@fluendo.com>
779
780         * tests/check/gst/gstsegment.c: (GST_START_TEST):
781         Fix check
782
783 2007-02-13  Wim Taymans  <wim@fluendo.com>
784
785         * docs/design/part-seeking.txt:
786         Some small update.
787
788         * gst/gstsegment.c: (gst_segment_set_seek):
789         Revert old bogus change that should make seeking work again.
790
791 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
792
793         * docs/random/ensonic/dynlink.txt:
794         * docs/random/ensonic/interfaces.txt:
795         * docs/random/ensonic/receipies.txt:
796           Possible dynamic reconnection api, plus some type fixes the other two
797           docs.
798
799 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
800
801         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
802         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
803         Also check for an absolute path following file:// in the filesrc
804         element. Remove redundant check and call g_path_is_absolute() on the
805         unescaped location.
806
807 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
808
809         * docs/design/draft-klass.txt:
810           Add existing category analysis.
811           
812         * gst/gstcaps.c:
813           Fix doc example, framerate is a fraction.
814
815 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
816
817         * configure.ac:
818         * docs/gst/Makefile.am:
819         * docs/libs/Makefile.am:
820         * docs/plugins/Makefile.am:
821           Add crossreferences to glib/gobject docs.
822
823 2007-02-12  Wim Taymans  <wim@fluendo.com>
824
825         * docs/design/draft-latency.txt:
826         Small update.
827
828         * docs/libs/gstreamer-libs-sections.txt:
829         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
830         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
831         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
832         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
833         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
834         (gst_base_sink_get_position), (gst_base_sink_query),
835         (gst_base_sink_change_state):
836         * libs/gst/base/gstbasesink.h:
837         API: gst_base_sink_query_latency() to let subclasses query the upstream
838         latency.
839         API: gst_base_sink_get_latency() to let subclasses query the configured
840         latency in the sink.
841         Implement query and set latency.
842         Update some docs.
843         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
844         don't continue preroll when we are flushing. Fixes #405284.
845
846         * tests/check/pipelines/stress.c: (change_state_timeout),
847         (quit_timeout), (GST_START_TEST), (stress_suite):
848         Test for #405284.
849
850 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
851
852         Patch by: René Stadler <mail at renestadler de>
853
854         * docs/gst/gstreamer-sections.txt:
855         * gst/gsttaglist.c: (_gst_tag_initialize):
856         * gst/gsttaglist.h:
857           API: add GST_TAG_REFERENCE_LEVEL (#403597).
858
859 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
860
861         * docs/libs/Makefile.am:
862           Fix path to core docs.
863
864         * gst/gstbin.c: (gst_bin_get_by_interface),
865         (gst_bin_iterate_all_by_interface):
866           Refix docs by also renaming 'interface' to 'iface' in implementation.
867
868         * docs/gst/gstreamer-sections.txt:
869         * gst/gstcaps.c:
870         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
871         * gst/gstchildproxy.h:
872         * gst/gstelementfactory.c:
873         * gst/gstpadtemplate.h:
874         * libs/gst/controller/gstcontroller.c:
875         (gst_controlled_property_new):
876           Document more.
877
878 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
879
880         * gst/gstbin.h:(gst_bin_get_by_interface),
881         (gst_bin_iterate_all_by_interface):
882         Replace interface parameter name by iface as interface is 
883         a reserved keyword in Visual Studio for C++ projects so it removes
884         a build error for application developpers using VS.
885         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
886         Fix a bug on Windows in uri format check. Now the prefix checked
887         is file:// and next we check if the path after file:// is absolute.
888         * win32/common/libgstbase.def:
889         * win32/common/libgstdataprotocol.def:
890         * win32/common/libgstgstreamer.def:
891         Add new exported functions.
892
893 2007-02-09  Andy Wingo  <wingo@pobox.com>
894
895         * tests/check/pipelines/simple-launch-lines.c
896         (simple_launch_lines_suite, test_tee): Disable tee test until I
897         have time to fix it :-(
898
899         * tests/check/Makefile.am (noinst_HEADERS): 
900         * tests/check/libs/libsabi.c: 
901         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
902         * tests/check/gst/gstabi.c: 
903         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
904
905         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
906         tests for push and pull tee behavior.
907
908         * plugins/elements/gsttee.h: 
909         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
910         mark as deprecated as well as unimplemented. It was a crack idea.
911         Add support for tee operating in pull mode, off by default.
912
913         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
914         normal-case logs down to LOG, raise errors to WARNING.
915         (gst_registry_xml_read_cache): Don't log before calling a function
916         that logs.
917
918         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
919         exit (registry finalize).
920         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
921         DEBUG log when we emit signals that people don't even have the
922         chance to connect to.
923         (gst_registry_scan_path_level): Less logging in the normal case.
924
925 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
926
927         Patch by: Michal Benes <michal dot benes at itonis dot tv>
928
929         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
930         Correctly generate EOS for non-seekable files. We don't have a total
931         length for them and would get an unexpected end of file if we only
932         special-cased for regular files. (Fixes: #404569)
933
934 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
935
936         * tests/check/elements/filesrc.c: (GST_START_TEST),
937         (filesrc_suite):
938         Add unit test for the GstURIHandler interface in filesrc. This also
939         tests the newly added file://localhost/foo/bar support.
940
941 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
942
943         * gst/gstelementfactory.h:
944           The klass string is not a hierarchy. Add reference to the design doc
945           for more information and common types.
946
947 2007-02-02  Wim Taymans  <wim@fluendo.com>
948
949         * gst/gstquery.c: (gst_query_new_latency):
950         Remove old structure field.
951
952 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
953
954         * tools/gst-launch.1.in:
955           Give example for network streaming (#351998)
956
957 2007-02-02  Wim Taymans  <wim@fluendo.com>
958
959         * docs/gst/gstreamer-sections.txt:
960         Add docs for new methods.
961
962         * gst/gstevent.c: (gst_event_new_latency),
963         (gst_event_parse_latency):
964         * gst/gstevent.h:
965         Add new LATENCY event to configure latency in a pipeline.
966         API: gst_event_new_latency
967         API: gst_event_parse_latency
968
969         * gst/gstmessage.c: (gst_message_new_buffering),
970         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
971         (gst_message_new_latency), (gst_message_parse_buffering),
972         (gst_message_parse_lost_preroll):
973         * gst/gstmessage.h:
974         Added messages used in draft-latency.
975         API: gst_message_new_lost_preroll
976         API: gst_message_parse_lost_preroll
977         API: gst_message_new_prerolled
978         API: gst_message_new_latency
979
980         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
981         (gst_query_parse_latency):
982         * gst/gstquery.h:
983         Implemented new latency query as in design doc.
984         API: gst_query_new_latency
985         API: gst_query_set_latency
986         API: gst_query_parse_latency
987
988 2007-02-02  Wim Taymans  <wim@fluendo.com>
989
990         * docs/design/draft-latency.txt:
991         Slight redesign to allow for dynamic latency adjustments.
992
993         * docs/design/part-negotiation.txt:
994         Fix some typos.
995
996 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
997
998         reviewed by: Wim Taymans <wim@fluendo.com>
999
1000         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
1001         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
1002         Allow file://localhost/foo/bar URLs and correctly fail for every other
1003         hostname that one sets. This was gnomevfssrc is linked for those if
1004         installed as it can handle it (#403172)
1005
1006 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
1007
1008         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
1009
1010         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
1011         (unref_data), (gst_collect_pads_add_pad_full):
1012         * libs/gst/base/gstcollectpads.h:
1013         Don't put the previously added destroy notify in the GstCollectData
1014         struct as all it's padding is already used and we don't want to break
1015         ABI. Instead put in the pad's GObject data for now. This should be
1016         cleaned up for 0.11 (#402393).
1017
1018 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
1019
1020         reviewed by: Wim Taymans <wim@fluendo.com>
1021
1022         * docs/libs/gstreamer-libs-sections.txt:
1023         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
1024         (unref_data), (gst_collect_pads_add_pad),
1025         (gst_collect_pads_add_pad_full):
1026         * libs/gst/base/gstcollectpads.h:
1027         API: Add function to specify a destroy notification for custom
1028         GstCollectData when adding new pads in GstCollectPads (#402393).
1029
1030 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
1031
1032         * po/sv.po:
1033           Update Swedish translation (#378255).
1034
1035 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
1036
1037         * docs/design/draft-klass.txt:
1038           Fix the previous change, this is a list of categories and not a hierarchy.
1039
1040 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
1041
1042         * docs/design/draft-klass.txt:
1043           Add info about how to get a list of used classes.
1044
1045 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
1046
1047         * plugins/elements/gsttypefindelement.c:
1048         (gst_type_find_element_chain_do_typefinding),
1049         (gst_type_find_element_change_state):
1050           Don't leak found caps in chain function (no idea why that never
1051           showed up as a leak anywhere).
1052
1053 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
1054
1055         * gst/gstplugin.h:
1056           Fix and expand GstPluginDesc API docs.
1057
1058 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
1059
1060         * gst/gstcaps.c:
1061         * gst/gstelementfactory.c:
1062         * gst/gstpadtemplate.h:
1063           api doc fixes
1064
1065         * libs/gst/controller/gstcontroller.c:
1066         (gst_controlled_property_new):
1067         * tests/examples/controller/audio-example.c:
1068           comment fixes
1069
1070 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
1071
1072         * configure.ac:
1073           comment about refining the xml deps
1074
1075         * docs/manuals.mak:
1076           comments about moving away from jade for docs
1077         
1078         * gst/gst.c:
1079           recommit the ifdefs to use the binary registry
1080         
1081         * gst/gstbin.c: (gst_bin_change_state_func):
1082           this break is obsolete
1083
1084         * gst/gstelementfactory.h:
1085           better GST_ELEMENT_DETAILS docs, add comment about translation
1086
1087         * gst/gstinfo.h:
1088           remove eol slash
1089
1090         * gst/gstobject.c: (gst_signal_object_get_type):
1091           add G_UNLIKELY as usual
1092
1093         * gst/gstpad.c: (gst_pad_event_default):
1094           add fall trhu comment
1095
1096         * gst/gstregistrybinary.c: (gst_registry_binary_write),
1097         (gst_registry_binary_initialize_magic),
1098         (gst_registry_binary_save_string),
1099         (gst_registry_binary_save_pad_template),
1100         (gst_registry_binary_save_feature),
1101         (gst_registry_binary_save_plugin),
1102         (gst_registry_binary_write_cache),
1103         (gst_registry_binary_check_magic),
1104         (gst_registry_binary_load_pad_template),
1105         (gst_registry_binary_load_feature),
1106         (gst_registry_binary_load_plugin),
1107         (gst_registry_binary_read_cache):
1108           comment typo and formatting
1109
1110         * gst/gstutils.c: (gst_element_state_get_name),
1111         (gst_element_state_change_return_get_name):
1112           remove obsolete breaks
1113
1114         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
1115           add FIXME 0.11 and remove cpp comment
1116
1117 2007-01-29  Edward Hervey  <edward@fluendo.com>
1118
1119         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
1120         Fix print statement in an even more portable way.
1121
1122 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
1123
1124         * docs/gst/gstreamer-sections.txt:
1125         * gst/gstutils.h:
1126           API: add GST_ROUND_DOWN_* macros (#401781).
1127
1128 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
1129
1130         * docs/gst/gstreamer.types.in:
1131         * gst/gstregistry.c: (gst_registry_class_init):
1132           Document registry signals and make gtk-doc pick them up (#401381).
1133
1134 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
1135
1136         * docs/pwg/building-testapp.xml:
1137           Add some audioconverts and audioresample to the pipeline, and some
1138           more comments and error handling.
1139
1140 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
1141
1142         * docs/manual/manual.xml:
1143         * docs/pwg/pwg.xml:
1144           Fix typo (#400987).
1145
1146 2007-01-26  Wim Taymans  <wim@fluendo.com>
1147
1148         * gst/gstcaps.c: (gst_static_caps_get):
1149         Init caps flags too.
1150
1151 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
1152
1153         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
1154
1155         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
1156         If not using mmap'ed files try to seek to the end instead of the
1157         start to determine whether we can seek at all. This fixes the case
1158         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
1159         seeks for everything afterwards fail. Fixes #400656
1160
1161 2007-01-25  Wim Taymans  <wim@fluendo.com>
1162
1163         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
1164         Add some refcount debugging.
1165         Make gst_static_caps_get threadsafe, which is needed when autoplugging
1166         in multiple streaming threads.
1167
1168 2007-01-25  Wim Taymans  <wim@fluendo.com>
1169
1170         Patch by: David Schleef <ds at schleef dot org>
1171
1172         * docs/libs/gstreamer-libs-sections.txt:
1173         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
1174         * libs/gst/base/gstadapter.h:
1175         API: gst_adapter_copy() that can reduce the amount of memcpy when
1176         getting data from the adapter. Fixes #388201.
1177
1178 2007-01-25  Edward Hervey  <edward@fluendo.com>
1179
1180         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
1181         In print statements, "%x" is for guint. Fixes build on macosx.
1182
1183 2007-01-24  Edward Hervey  <edward@fluendo.com>
1184
1185         * plugins/elements/gstmultiqueue.c:
1186         (gst_multi_queue_loop):
1187         Small fix.
1188         (single_queue_overrun_cb), (single_queue_underrun_cb),
1189         (single_queue_check_full), (gst_single_queue_new):
1190         Implement single queue growth system.
1191         This uses the extra-size properties, and will grow single queues by
1192         that much if one goes full whereas there are others empty. This is
1193         called extra-mode in the code.
1194         When a single queue's levels go back below the initial max-size
1195         limits, it is no longer in extra-mode. This is to ensure we don't
1196         consume too much memory.
1197         Fixes #399875
1198
1199 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
1200
1201         * gst/gst.c: (gst_init_get_option_group):
1202           Make warning about late g_thread_init() calls a bit more explicit,
1203           so that it's more obvious to application developers what they need
1204           to do if a user files a bug against their application.
1205
1206 2007-01-22  Edward Hervey  <edward@fluendo.com>
1207
1208         * plugins/elements/gstmultiqueue.c:
1209         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
1210         Remove previous hack of unsetting the flushing flag for the source pad
1211         instead of activating it. Instead, fix the source pad activate function
1212         so that it no longer depends on having a parent set or not.
1213
1214 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
1215
1216         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
1217
1218         * docs/manual/basics-bus.xml:
1219           Fix example code, gst_element_unref() doesn't exist any longer.
1220
1221 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
1222
1223         Patch by: Mark Nauwelaerts <manauw at skynet be>
1224
1225         * gst/gstpad.c:
1226           Fix two docs typoes (#399094).
1227
1228 2007-01-19  Edward Hervey  <edward@fluendo.com>
1229
1230         * docs/faq/gst-uninstalled:
1231         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
1232         depending on libgstbaseutils can work in uninstalled environment.
1233
1234 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
1235
1236         * gst/gsttaglist.h:
1237         * gst/gsttagsetter.c:
1238         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
1239         statement for new tag.
1240
1241 2007-01-17  Edward Hervey  <edward@fluendo.com>
1242
1243         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
1244         When dynamically creating single queues, activate sinkpad before adding
1245         it.
1246         We should be doing the same thing for the source pad, but we can't
1247         since it would call a method which needs the parent to be set in order
1248         to work propertly. Instead of activating the source pad, we just unset
1249         the flushing flag, which is the minimal requirement for adding a pad
1250         to an element in a state greater than READY.
1251
1252 2007-01-17  Edward Hervey  <edward@fluendo.com>
1253
1254         * docs/faq/gst-uninstalled:
1255         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
1256         Mac OS X.
1257
1258 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
1259
1260         * tests/check/gst/gstabi.c:
1261         * tests/check/gst/struct_hppa.h:
1262         * tests/check/libs/libsabi.c:
1263         * tests/check/libs/struct_hppa.h:
1264           Add ABI structs for HPPA (see #393796).
1265
1266 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
1267
1268         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
1269           Actually write ABI structs to the file specified in the GST_ABI
1270           environment variable, as the message we print claims we would.
1271
1272 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
1273
1274         * tests/check/gst/gsttask.c:
1275           Fix header comment.
1276
1277 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
1278
1279         * gst/gsttaglist.c: (_gst_tag_initialize):
1280           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
1281           previous two entries.
1282
1283 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
1284
1285         * docs/gst/gstreamer-sections.txt:
1286         * gst/gsttaglist.c: (_gst_tag_initialize):
1287         * gst/gsttaglist.h:
1288           Add tag support for beat-per-minute.
1289
1290 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
1291
1292         * gst/gstregistrybinary.c: (gst_registry_binary_write),
1293         (gst_registry_binary_initialize_magic),
1294         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
1295         (gst_registry_binary_save_pad_template),
1296         (gst_registry_binary_save_feature),
1297         (gst_registry_binary_save_plugin),
1298         (gst_registry_binary_write_cache),
1299         (gst_registry_binary_check_magic),
1300         (gst_registry_binary_load_pad_template),
1301         (gst_registry_binary_load_feature),
1302         (gst_registry_binary_load_plugin),
1303         (gst_registry_binary_read_cache):
1304         * gst/gstregistrybinary.h:
1305           Use glib types, cleanup comments, impement interfaces and uri-types.
1306
1307 2007-01-13  Andy Wingo  <wingo@pobox.com>
1308
1309         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
1310         getrange() to return buffers with other caps, while we fix
1311         demuxers and typefind, or otherwise change part-negotiation.txt.
1312
1313 2007-01-12  Andy Wingo  <wingo@pobox.com>
1314
1315         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
1316         Factor start/stop into this private function instead of partially
1317         in activate functions and partially in the change_state function.
1318         Fixes setup before the element has changed from READY->PAUSED, as
1319         is the case in pull-mode pipelines.
1320         (gst_base_transform_sink_activate_push)
1321         (gst_base_transform_src_activate_pull): Refactor to use
1322         gst_base_transform_activate().
1323         (gst_base_transform_change_state): Removed, not needed any more.
1324
1325         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
1326         Truncate before fixating.
1327         
1328         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
1329         Don't set_caps() if the result of fixating is ANY, as it's not
1330         supported, and not necessary in the case of a link with no
1331         template caps on either side. Fixes tests/check/libs/basesrc in
1332         some pull-mode tests.
1333
1334         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
1335         (gst_base_transform_init, gst_base_transform_sink_activate_push)
1336         (gst_base_transform_src_activate_pull): 
1337         Track the activation mode.
1338         (gst_base_transform_setcaps): In pull mode, when activating the
1339         src pad, after activating the sink pad, activate the sink pad's
1340         peer, as discussed in part-negotiation.txt.
1341
1342         * libs/gst/base/gstbasesrc.h: 
1343         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
1344         vmethod, as in basesink.
1345
1346         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
1347
1348         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
1349         mode, first proxy the setcaps to the peer pad.
1350         (gst_base_sink_pad_fixate): Add a fixate function that calls the
1351         new fixate vmethod.
1352         (gst_base_sink_default_activate_pull): Rename from
1353         gst_base_sink_activate_pull.
1354         (gst_base_sink_negotiate_pull): New function, performs negotiation
1355         in pull mode before calling ::activate_pull().
1356         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
1357         vmethod instead of the default implementation. I have no idea how
1358         this worked before. Negotiate before calling activate_pull.
1359
1360         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
1361         sink pads in pull mode. In addition to being correct, fixes
1362         filesrc ! decodebin ! identity ! fakesink.
1363         (gst_pad_get_range, gst_pad_pull_range): Don't call
1364         gst_pad_set_caps() if the caps changes; instead error out with
1365         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
1366
1367 2007-01-12  Andy Wingo  <wingo@pobox.com>
1368
1369         * docs/design/part-negotiation.txt: Update with more policy.
1370
1371 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
1372
1373         * libs/gst/check/gstbufferstraw.h:
1374         * libs/gst/check/gstcheck.h:
1375           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
1376           belongs.
1377
1378 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
1379
1380         * tests/check/Makefile.am:
1381         * tests/check/gst/.cvsignore:
1382         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
1383         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
1384         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
1385         (GST_START_TEST), (gst_tag_setter_suite):
1386           Add minimal unit test for beforementioned GstTagSetter bug.
1387
1388 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
1389
1390         Patch by: René Stadler <mail at renestadler dot de>
1391
1392         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
1393           gst_tag_list_merge() returns a new list, so it's not the best idea
1394           to ingore its return value. Effectively meant that tags could only
1395           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
1396           Also add function guard to require a non-NULL taglist as input (has
1397           always been so due to gst_tag_list_copy(), just making it explicit).
1398
1399 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
1400
1401         * docs/random/draft-missing-plugins.txt:
1402           Some additions: mention new API that is supposed to be used at the
1403           various stages; short blob about new gst-inspect introspection
1404           option; mention potential future problem with plugins that have
1405           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
1406
1407 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
1408
1409         * tools/gst-inspect.c:
1410         (print_plugin_automatic_install_info_codecs),
1411         (print_plugin_automatic_install_info_protocols),
1412         (print_plugin_automatic_install_info), (main):
1413         Add --print-plugin-auto-install-info option to gst-inspect, so we can
1414         introspect plugin files and get machine-parsable output that corresponds
1415         to the last bit of the missing-plugin installer string (small gotcha:
1416         doesn't take into account ranks).
1417
1418 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
1419
1420         * configure.ac:
1421         * docs/gst/gstreamer-sections.txt:
1422         * gst/Makefile.am:
1423         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
1424         (gst_registry_lookup_locked):
1425         * gst/gstregistry.h:
1426         * gst/gstregistrybinary.c: (gst_registry_binary_write),
1427         (gst_registry_binary_initialize_magic),
1428         (gst_registry_binary_save_string),
1429         (gst_registry_binary_save_pad_template),
1430         (gst_registry_binary_save_feature),
1431         (gst_registry_binary_save_plugin),
1432         (gst_registry_binary_write_cache),
1433         (gst_registry_binary_check_magic),
1434         (gst_registry_binary_load_pad_template),
1435         (gst_registry_binary_load_feature),
1436         (gst_registry_binary_load_plugin),
1437         (gst_registry_binary_read_cache):
1438         * gst/gstregistrybinary.h:
1439         * gst/gstregistryxml.c: (load_feature),
1440         (gst_registry_xml_read_cache):
1441           commit binary registry (disabled by default, see #359653)
1442
1443 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
1444
1445         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
1446           Fix 'make check' too.
1447
1448 2007-01-10  Andy Wingo  <wingo@pobox.com>
1449
1450         * docs/design/part-negotiation.txt: Fix a typo, add a couple
1451         notes.
1452         
1453         * docs/design/part-negotiation.txt: Update with, um, one way that
1454         pull-mode negotiation might work?
1455
1456         * gst/gstpad.h: 
1457         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
1458         that the pad must be a src pad; makes sense to call it the other
1459         way in pull mode, and the logic is symmetric anyway.
1460
1461 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
1462
1463         * plugins/elements/gstfilesink.c:
1464           Include <stdio.h> for fseeko().
1465
1466 2007-01-10  Wim Taymans  <wim@fluendo.com>
1467
1468         * gst/gstevent.c:
1469         * gst/gstevent.h:
1470         Reserve LATENCY event.
1471
1472 2007-01-09  Wim Taymans  <wim@fluendo.com>
1473
1474         * docs/design/draft-latency.txt:
1475         Updates.
1476
1477 2007-01-09  Wim Taymans  <wim@fluendo.com>
1478
1479         * docs/design/draft-latency.txt:
1480         Updates.
1481
1482         * gst/gstelement.h:
1483         * gst/gststructure.c:
1484         * gst/gsttrace.c:
1485         Small typo fixes.
1486
1487 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
1488
1489         * tests/check/.cvsignore:
1490           Ignore test-registry.xml as well.
1491
1492 2007-01-09  Wim Taymans  <wim@fluendo.com>
1493
1494         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
1495         unref data at the end when we are done with the pad.
1496
1497 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
1498
1499         * docs/gst/gstreamer-sections.txt:
1500         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
1501         (init_post), (gst_deinit), (gst_update_registry):
1502         * gst/gst.h:
1503           API: add gst_update_registry() (#391296).
1504
1505         * tests/check/Makefile.am:
1506         * tests/check/gst/gstregistry.c:
1507         * tests/check/gst/.cvsignore:
1508           Simple unit test for the above.
1509
1510 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
1511
1512         * gst/gstregistry.c: (gst_registry_scan_path_level):
1513           Plugin extension on HP-UX is .sl, add that to the list of approved
1514           plugin extensions (see #393796).
1515
1516         * tests/check/gst/gstpad.c: (GST_START_TEST):
1517           ulong => gulong. Fixes compilation with HP-UX compiler.
1518
1519         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
1520           Fix compilation if valgrind headers are not available.
1521
1522 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
1523
1524         * win32/common/libgstreamer.def: 
1525           Add new exported function.
1526         * win32/vs6/libgstbase.dsp: 
1527           Add gstdataqueue.c to the build.
1528         * win32/vs6/libgstcoreelements.dsp:
1529           Add gstmultiqueue.c to the build.
1530         
1531 2007-01-06  Andy Wingo  <wingo@pobox.com>
1532
1533         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
1534         activate_pull(), providing for a way to specialize the process of
1535         spawning a thread to pull on the sink pad. There is a default
1536         implementation.
1537
1538         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
1539         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
1540         (gst_base_sink_init): Renamed pad activation functions (inserting
1541         "_pad" in their names). Refactor to use the new activate_pull
1542         vmethod, as appropriate.
1543         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
1544         default activate_pull function to start a task pulling from the
1545         sink pad, as before.
1546
1547         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
1548         on the pads if necessary, as in push()/chain(). Update docs.
1549         Shouldn't affect existing pull() usage as it is currently only
1550         being used on buffers without caps.
1551
1552 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
1553
1554         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
1555         (init_pre):
1556           Call g_thread_init() first thing in gst_init() / gst_check_init().
1557           When initialisation is done via gst_init_get_option_group() and
1558           GOption parsing, issue a warning if the GLib thread system has not
1559           been initialised yet by the time gst_init_get_option_group() is
1560           called, as it's quite likely other GLib functions such as
1561           g_option_context_new() have been called already then, and
1562           g_thread_init() must be called before any other GLib function. The
1563           application in question must be fixed in that case, since memory
1564           corruption might happen otherwise.
1565           We issue the warning because even if the GLib folks decide to work
1566           around the problem on their end in future, this is still an issue
1567           with all GLib versions >= 2.10.0, so we should warn until we depend
1568           on a GLib version we know to be safe.
1569           Update documentation as well.
1570           Closes bug #391278.
1571
1572 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
1573
1574         * tools/gst-inspect.c: (main):
1575         * tools/gst-launch.c: (main):
1576         * tools/gst-typefind.c: (main):
1577         * tools/gst-xmlinspect.c: (main):
1578           Call g_thread_init() really really early, before any other GLib
1579           function (see #342564 and recent discussion on gtk-devel-list).
1580
1581 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
1582
1583         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
1584
1585         * gst/gst_private.h:
1586         * gst/gstconfig.h.in:
1587         * gst/gstinfo.h:
1588           On win32, all the __declspec stuff for symbol exporting is
1589           apparently only needed with MSVC, but doesn't work with MingW.
1590           Fixes compilation with MingW and #391909.
1591
1592 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
1593
1594         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
1595           Change some GST_ERROR_OBJECT that aren't really errors to
1596           GST_WARNING_OBJECT in order to reduce terminal spam.
1597
1598 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
1599
1600         * tests/check/Makefile.am:
1601           disable test again, as there seem to be still race problems
1602
1603 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
1604
1605         * tests/check/Makefile.am:
1606         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
1607         (GST_START_TEST), (queue_suite):
1608           enable queue test again, add tests for the leaky behaviour
1609
1610 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
1611
1612         * configure.ac:
1613         * tests/examples/Makefile.am:
1614           Compile adapter test/example only if the required headers are
1615           available (fixes #391915).
1616
1617 2007-01-01  David Schleef  <ds@schleef.org>
1618
1619         * gst/gstplugin.c:
1620           Restore the previous signal handler for SIGSEGV instead of
1621           setting to default, since we may have stolen it away from
1622           someone.  (i.e., Mono)
1623
1624 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
1625
1626         * docs/random/draft-missing-plugins.txt:
1627           Some small additions and clarifications.
1628
1629 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
1630
1631         * gst/gstregistryxml.c: (gst_registry_save_escaped):
1632           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
1633           since that can lead to random memory corruptions and crashes
1634           (may or may not be related to #383244, #386711, and #386711).
1635
1636 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
1637
1638         * tests/check/.cvsignore:
1639         * tests/check/Makefile.am:
1640           sync .cvsignome and CLEANFILES
1641
1642 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
1643
1644         * tests/check/Makefile.am:
1645           fix distcheck
1646
1647 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
1648
1649         * docs/design/part-states.txt:
1650           two tiny additional comments
1651         
1652         * gst/gststructure.c:
1653           doc fixing
1654
1655         * tests/check/Makefile.am:
1656         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
1657         (GST_START_TEST):
1658           disable test for now, unless it gets fixed
1659
1660 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
1661
1662         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
1663         (GST_START_TEST):
1664           fix race in underrun test
1665
1666 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
1667
1668         * tests/check/elements/.cvsignore:
1669           ignore more
1670
1671         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
1672         (GST_START_TEST):
1673           try to narrow test failure
1674
1675 2006-12-21  David Schleef  <ds@schleef.org>
1676
1677         * plugins/elements/gstfakesrc.c:
1678           Use g_random_int_range(), since it produces better random
1679           numbers in a range than almost-correct floating point code.
1680
1681 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
1682
1683         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
1684         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
1685         (gst_check_teardown_sink_pad):
1686           do not automatically (de)activate pads
1687
1688         * tests/check/Makefile.am:
1689         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
1690         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
1691           add new, yet simple tests for queue
1692
1693         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
1694         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
1695         * tests/check/elements/filesrc.c: (cleanup_filesrc),
1696         (GST_START_TEST):
1697         * tests/check/elements/identity.c: (cleanup_identity):
1698           consistent pad (de)activation
1699
1700 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
1701
1702         Patch by: Sebastian Dröge  <slomo ubuntu com>
1703
1704         * libs/gst/base/gstcollectpads.c:
1705           Fix two doc typos (#387866).
1706
1707 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
1708
1709         * docs/manual/advanced-dparams.xml:
1710           Fix typo (g_object_control_properties() doesn't exist).
1711
1712 2006-12-19  Edward Hervey  <edward@fluendo.com>
1713
1714         * gst/gstsegment.c: (gst_segment_set_seek):
1715         Fine tune the cases where the segment start/stop values are really
1716         updated.
1717         * tests/check/gst/gstsegment.c: (GST_START_TEST):
1718         Add tests for the return values of gst_segment_set_seek().
1719
1720 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
1721
1722         * gst/gst.c:
1723           Docs typo fix.
1724
1725         * plugins/elements/gstqueue.c: (gst_queue_class_init),
1726         (gst_queue_init):
1727           Fix incorrect documentation and flesh it out a bit more.
1728           Set default values for the max properties on the GParamSpec as well,
1729           so it shows up correctly in gst-inspect.
1730
1731 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
1732
1733         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
1734           Correct docs of queue, add more detail and crosslink it more.
1735
1736 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
1737
1738         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
1739           Print additional debug info when the stream isn't perfectly
1740           timestamped; don't try to use invalid durations.
1741
1742 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
1743
1744         * docs/design/Makefile.am:
1745           Dist new design docs.
1746
1747 2006-12-16  Wim Taymans  <wim@fluendo.com>
1748
1749         Patch by: Sjoerd Simons <sjoerd at luon dot net>
1750
1751         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
1752         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
1753         (gst_collect_pads_stop), (gst_collect_pads_event),
1754         (gst_collect_pads_chain):
1755         * libs/gst/base/gstcollectpads.h:
1756         Add refcounting to the collectpads data so we can track when it's safe
1757         to free the data. Fixes #383382.
1758
1759 2006-12-15  Wim Taymans  <wim@fluendo.com>
1760
1761         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
1762         (gst_collect_pads_remove_pad):
1763         Automatically activate/deactivate pads when they are added to a
1764         started/stoped collectpads.
1765
1766 2006-12-15  Wim Taymans  <wim@fluendo.com>
1767
1768         * gst/gstelement.c: (gst_element_add_pad):
1769         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
1770         * gst/gstpad.c: (gst_pad_init):
1771         Set pads to FLUSHING when they are created. Check, warn and fix when a
1772         demuxer adds an inactive pad to itself when running. Fixes #339326.
1773
1774 2006-12-15  Wim Taymans  <wim@fluendo.com>
1775
1776         * gst/gstelement.c: (gst_element_class_init),
1777         (gst_element_default_send_event), (gst_element_send_event),
1778         (gst_element_default_query), (gst_element_query):
1779         Expose default element send_event and query handling as vmethods that
1780         subclasses can chain up to.
1781
1782 2006-12-15  Wim Taymans  <wim@fluendo.com>
1783
1784         * gst/gstelement.c: (gst_element_set_state_func):
1785         Small documentation fixes.
1786
1787 2006-12-15  Wim Taymans  <wim@fluendo.com>
1788
1789         * docs/design/draft-latency.txt:
1790         Checked in draft for handling latency in pipelines.
1791
1792 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
1793
1794         * Makefile.am:
1795         * gstreamer.doap:
1796         * gstreamer.spec.in:
1797           adding .doap file
1798
1799 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
1800
1801         * gst/gst.c: (init_pre), (init_post):
1802           init_pre() and init_post() might be called via our GOptionGroup or
1803           from gst_init(), and we should skip both of them if we've already
1804           been initialised, otherwise we will init some things twice or add
1805           two default log functions.
1806
1807 2006-12-13  Edward Hervey  <edward@fluendo.com>
1808
1809         * docs/manual/basics-bus.xml:
1810         No, gst_main_loop does not exist. Its g_main_loop.
1811         Discovered by somebody who abused the copy-paste technique of coding :)
1812
1813 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
1814
1815         * gst/gstghostpad.c:
1816           Log ghostpad debug stuff to the GST_PADS category as well rather
1817           than just to the default category.
1818
1819 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
1820
1821         * configure.ac:
1822         * gst/gst.c: (init_pre):
1823           Add some basic system details such as OS and architecture
1824           to the debug output if possible, courtesy of uname().
1825
1826 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
1827
1828         * docs/gst/running.xml:
1829           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
1830           environment variables.
1831
1832 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
1833
1834         * tests/check/gst/gstbin.c: (GST_START_TEST):
1835         It is acceptable to have a refcount of 2 or 3 at this point in the
1836         test, because the pipeline might be just posting its state_change
1837         message. The next line then waits for that message to appear using
1838         bus_poll, so that should be fine too.
1839
1840 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
1841
1842         * gst/gst.c: (ensure_current_registry_forking):
1843         Ignore EINTR when reading from the child registry pipe.
1844         Explicitly ignore the return value from close, since it makes no
1845         difference.
1846
1847         * gst/gstminiobject.c: (gst_mini_object_ref),
1848         (gst_mini_object_unref):
1849         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
1850
1851         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
1852         When removing cached plugins, remove their features too, so they're
1853         not visible after they've disappeared.
1854
1855         * gst/gstutils.c: (prepare_link_maybe_ghosting):
1856         In the unlikely case that we are linking pads with no parents, don't
1857         crash trying to get the non-existent parent bin.
1858
1859         * gst/parse/grammar.y:
1860         Output debug in the PIPELINE category
1861
1862 2005-03-08  Wim Taymans  <wim@fluendo.com>
1863
1864         Patch by: René Stadler <mail at renestadler dot de>
1865
1866         * gst/gstclock.c: (gst_clock_new_periodic_id):
1867         Reject invalid clock times for interval of periodic ids.
1868         Fixes ##383506.
1869
1870 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
1871
1872         * gst/gstelementfactory.c: (gst_element_factory_create):
1873         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1874         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
1875         * tools/gst-inspect.c: (print_element_info):
1876         Fix refcounting of gst_plugin_feature_load to match the docs. 
1877         Fixes: #380129
1878
1879 2006-12-07  Wim Taymans  <wim@fluendo.com>
1880
1881         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
1882         (gst_base_sink_get_position):
1883         Improve debugging of events.
1884
1885 2006-12-07  Wim Taymans  <wim@fluendo.com>
1886
1887         Patch by: René Stadler <mail at renestadler dot de>
1888
1889         * gst/gstclock.c: (gst_clock_id_wait):
1890         Make period ids add the interval to the origial requested time instead
1891         of the possibly updated time which can be wrong when there are multiple
1892         waiters for the same id. Fixes #382592.
1893
1894         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
1895         (gst_system_clock_id_wait_jitter_unlocked),
1896         (gst_system_clock_id_wait_jitter):
1897         Fix restart in the async notify thread when an async entry is added to
1898         the front of the list. Fixes #381492. 
1899
1900         * tests/check/gst/gstsystemclock.c: (store_callback),
1901         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
1902         Added test for multiple async waits.
1903         Added test for async wait order.
1904
1905 2006-12-07  Wim Taymans  <wim@fluendo.com>
1906
1907         * gst/gstbin.c: (gst_bin_query):
1908         Add some more docs about the POSITION query.
1909
1910 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
1911
1912         * configure.ac:
1913         Bump version nano - back to CVS.
1914
1915 === release 0.10.11 ===
1916
1917 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
1918
1919         * configure.ac:
1920           releasing 0.10.11, "Love never runs on time"
1921
1922 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
1923
1924         * win32/common/libgstbase.def:
1925         * win32/common/libgstreamer.def:
1926         * win32/vs8/libgstbase.vcproj:
1927         * win32/vs8/libgstcoreelements.vcproj:
1928         * win32/vs8/libgstreamer.vcproj:
1929         Fix compilation on win32 under VS8
1930         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
1931         Partially fixes #381175
1932
1933 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
1934
1935         * gst/gstvalue.c: (gst_value_compare_fraction):
1936         If someone is foolish enough to compare 2 fractions with denominator =
1937         0, return UNORDERED rather than aborting.
1938
1939 2006-11-28  Edward Hervey  <edward@fluendo.com>
1940
1941         * libs/gst/base/Makefile.am:
1942         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
1943         (gst_data_queue_base_init), (gst_data_queue_class_init),
1944         (gst_data_queue_init), (gst_data_queue_new),
1945         (gst_data_queue_cleanup), (gst_data_queue_finalize),
1946         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
1947         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
1948         (gst_data_queue_is_empty), (gst_data_queue_is_full),
1949         (gst_data_queue_set_flushing), (gst_data_queue_push),
1950         (gst_data_queue_pop), (gst_data_queue_drop_head),
1951         (gst_data_queue_set_property), (gst_data_queue_get_property):
1952         * libs/gst/base/gstdataqueue.h:
1953         New GstDataQueue object for threadsafe queueing. Most useful for
1954         elements that need some queueing functionnality.
1955         * docs/libs/gstreamer-libs-docs.sgml:
1956         * docs/libs/gstreamer-libs-sections.txt:
1957         Insert documentation for GstDataQueue
1958         * plugins/elements/Makefile.am:
1959         * plugins/elements/gstelements.c:
1960         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
1961         (gst_multi_queue_class_init), (gst_multi_queue_init),
1962         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
1963         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
1964         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
1965         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
1966         (gst_multi_queue_loop), (gst_multi_queue_chain),
1967         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
1968         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
1969         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
1970         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
1971         (wake_up_next_non_linked), (compute_next_non_linked),
1972         (single_queue_overrun_cb), (single_queue_underrun_cb),
1973         (single_queue_check_full), (gst_single_queue_new):
1974         * plugins/elements/gstmultiqueue.h:
1975         New multiqueue element, using GstDataQueue. Used for queuing multiple
1976         streams.
1977         Closes #344639 and #347785
1978
1979 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
1980
1981         * docs/pwg/advanced-types.xml:
1982           add more missing type details
1983
1984         * tools/gst-run.c: (main):
1985           remove unused variable
1986
1987 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
1988
1989         * docs/libs/Makefile.am:
1990         * docs/libs/gstreamer-libs.types:
1991           add types of base classes to enable gobject specific stuff in the docs
1992
1993         * docs/random/ensonic/embedded.txt:
1994           more ideas about isolating platform specific things
1995
1996 2006-11-20  Wim Taymans  <wim@fluendo.com>
1997
1998         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
1999
2000         * libs/gst/check/gstcheck.h:
2001         Fix compilation and running against 0.9.4. Fixes #377332.
2002
2003 2006-11-20  Wim Taymans  <wim@fluendo.com>
2004
2005         * gst/gstsegment.c: (gst_segment_set_seek),
2006         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
2007         (gst_segment_to_running_time):
2008         Fix boundary checking in to_running_time() and to_stream_time().
2009         Fixes #377183.
2010
2011         * tests/check/gst/gstsegment.c: (GST_START_TEST):
2012         stream and running time can now be calculated for the complete
2013         clipped segment.
2014
2015 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
2016
2017         * gst/gstpad.c: (gst_pad_push_event):
2018           Can't access event structure after giving away ownership of
2019           the event.
2020
2021 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
2022
2023         * docs/random/ensonic/embedded.txt:
2024         * docs/random/ensonic/profiling.txt:
2025         * docs/random/ensonic/receipies.txt:
2026           more thinking
2027
2028 2006-11-13  Wim Taymans  <wim@fluendo.com>
2029
2030         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
2031
2032         * gst/gstpad.c:
2033         Fix documentation for gst_pad_dispatcher. Fixes #374475.
2034
2035 2006-11-13  Wim Taymans  <wim@fluendo.com>
2036
2037         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
2038
2039         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
2040         Store new length in segment duration so we don't keep on calling the
2041         potentially expensize get_size() call. Fixes #370865.
2042
2043 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
2044
2045         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
2046
2047         * win32/common/libgstreamer.def:
2048           Add two missing symbols (#366492).
2049
2050 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
2051
2052         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
2053         (gst_adapter_take_buffer):
2054         Fix format string to use all its arguments.
2055         Remove useless >= check on a guint
2056
2057 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
2058
2059         * tests/examples/adapter/.cvsignore:
2060         Ignore build file as commanded by the build-bot
2061
2062 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
2063
2064         * tests/examples/adapter/Makefile.am:
2065         * tests/examples/adapter/adapter_test.c: (run_test_take),
2066         (run_test_take_buffer), (run_tests), (main):
2067
2068         Add new files from the previous commit
2069
2070 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
2071
2072         * Makefile.am:
2073         * configure.ac:
2074         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
2075         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
2076         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
2077         * libs/gst/base/gstadapter.h:
2078         * tests/check/libs/adapter.c: (create_and_fill_adapter),
2079         (GST_START_TEST), (gst_adapter_suite):
2080         * tests/examples/Makefile.am:
2081         Do some optimisation work in GstAdapter to avoid copies in more cases.
2082         It could still do slightly better by merging buffers when
2083         gst_buffer_is_span_fast is true, but is already faster. 
2084
2085         Also, avoid traversing a single-linked list to append each incoming 
2086         buffer inside the adapter.
2087
2088         Add simple test app that times the adapter behaviour in different
2089         situations, and extend the unit test to check that bytes enter and
2090         exit the adapter in their original order.
2091
2092 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
2093
2094         * docs/random/draft-missing-plugins.txt:
2095           Update: use element message instead of adding a new message
2096           type to the core; don't provide GStreamer API to initiate the
2097           plugin download, just provide API to compose the strings needed
2098           and let an external libgimmestuff handle the rest.
2099
2100 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
2101
2102         * tools/gst-inspect.c: (print_element_properties_info):
2103         Print a string instead of 'unknown type' for GValueArray properties
2104
2105 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
2106
2107         * docs/random/draft-missing-plugins.txt:
2108         More small fixes.
2109
2110 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
2111
2112         * tests/examples/typefind/typefind.c: (type_found), (main):
2113           Make typefind element example work again (#371894); add a
2114           license header.
2115
2116 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
2117
2118         * docs/random/draft-missing-plugins.txt:
2119           Commit initial draft about how to deal with missing plugins,
2120           needs work (API too).
2121
2122 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
2123
2124         * docs/pwg/advanced-types.xml:
2125           documents the new caps elements (see #363118)
2126
2127 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
2128
2129         * gst/gstplugin.c: (gst_plugin_load_file):
2130         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
2131         (gst_file_src_map_region), (gst_file_src_start):
2132         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
2133         (gst_file_index_commit):
2134           Use g_strerror() instead of strerror() - we want UTF-8.
2135
2136 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
2137
2138         Patch by: Peter Kjellerstedt <pkj at axis com>
2139
2140         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
2141           Another printf fix (#371493).
2142
2143 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
2144
2145         * tests/check/gst/gsttag.c:
2146           relicence (okay with author=company)
2147
2148 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
2149
2150         * gst/gstpad.c: (gst_pad_event_default_dispatch),
2151         (gst_pad_push_event):
2152           Enhance debug and improve docs
2153         
2154         * gst/gsturi.c:
2155           Fix docs
2156
2157 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
2158
2159         * docs/random/ensonic/distributed.txt:
2160         * docs/random/ensonic/profiling.txt:
2161           more ideas
2162
2163 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
2164
2165         * docs/gst/gstreamer-sections.txt:
2166           add new API and fix the build
2167           
2168         * gst/gstbin.c: (gst_bin_recalc_state):
2169         * gst/gstelement.c: (gst_element_message_full),
2170         (gst_element_get_state_func), (gst_element_set_state_func):
2171           use new API and improve logging
2172         
2173         * gst/gstutils.c: (gst_element_state_change_return_get_name):
2174         * gst/gstutils.h:
2175           API: add function to get StateChangereturn names to improve logs 
2176
2177 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
2178
2179         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
2180           I'm considering shooting the next person to put strerror stuff
2181           in the translateable part of the message.
2182
2183 2006-11-03  Wim Taymans  <wim@fluendo.com>
2184
2185         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
2186         Get the type and printf conversion specifiers right.
2187
2188 2006-11-03  Wim Taymans  <wim@fluendo.com>
2189
2190         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
2191
2192         * gst/gstpad.c: (gst_pad_init), (pre_activate),
2193         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
2194         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
2195         Some small cleanups. Improve debugging.
2196         * gst/gstpad.h:
2197         Signal all waiting threads with a broadcast instead of just one.
2198         Fixes #369942.
2199
2200 2006-11-03  Wim Taymans  <wim@fluendo.com>
2201
2202         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
2203         (gst_fd_src_create):
2204         Add some debugging. 
2205         Only update fd when it's different from the old.
2206
2207 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2208
2209         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
2210           Printf fixes for PPC/OSX, take two (#369366).
2211
2212 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2213
2214         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
2215
2216         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
2217         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
2218         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
2219           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
2220           don't cast to long long for portability reasons, but use
2221           GLib's types instead.
2222
2223 2006-10-30  Michael Smith  <msmith@fluendo.com>
2224
2225         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
2226           Get the arguments to lseek() the right way around.
2227           Fixes 367677.
2228
2229 2006-10-30  Wim Taymans  <wim@fluendo.com>
2230
2231         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
2232
2233         * gst/gstinfo.h:
2234         _declspec should be __declspec (two underscores, not one). Fixes 366572.
2235
2236 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
2237
2238         Patch by: Kjartan Maraas  <kmaraas at gnome org>
2239
2240         * docs/design/part-MT-refcounting.txt:
2241         * docs/random/wtay/capsnego2-docs:
2242         * gst/gstclock.c:
2243         * gst/gstxml.c:
2244           Typo fixes (#366212).
2245
2246 2006-10-28  Wim Taymans  <wim@fluendo.com>
2247
2248         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
2249
2250         * gst/gst.c:
2251         * win32/common/libgstbase.def:
2252         * win32/common/libgstreamer.def:
2253         * win32/vs8/libgstbase.vcproj:
2254         * win32/vs8/libgstcontroller.vcproj:
2255         Add needed entries in .def files.
2256         Use HAVE_UNISTD_H.
2257         Rearrange def files in vs8 solutions. Fixes #366286.
2258
2259 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
2260
2261         * win32/common/gstconfig.h:
2262           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
2263           hand-made win32 gstconfig.h. Fixes #366321.
2264
2265 2006-10-27  Wim Taymans  <wim@fluendo.com>
2266
2267         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
2268         (gst_ghost_pad_new_full):
2269         Make acceptcaps return TRUE when we don't have a target, just like
2270         setcaps does.
2271
2272 2006-10-27  Wim Taymans  <wim@fluendo.com>
2273
2274         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
2275         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
2276
2277 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
2278
2279         * gst/gststructure.c: (gst_structure_id_set_value):
2280           If someone tries to set a non-UTF8 string field on a structure,
2281           don't just print a warning, but also ignore the request and do
2282           not change/add that field to the structure.
2283
2284         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
2285           Test for the above.
2286
2287 2006-10-25  David Schleef  <ds@schleef.org>
2288
2289         * gst/gstinfo.c:
2290           g_hash_table_insert() needs a cast to a non-const pointer duh.
2291
2292 2006-10-25  David Schleef  <ds@schleef.org>
2293
2294         * gst/gstinfo.c:
2295         * gst/gstinfo.h:
2296           Change name parameter of _gst_debug_register_funcptr to const
2297           to reflect the constness of its use in the function as well
2298           as to quiet a gcc warning.
2299
2300 2006-10-25  Edward Hervey  <edward@fluendo.com>
2301
2302         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
2303         Don't push the buffer if it's empty.
2304         Closes #363095
2305
2306 2006-10-24  Wim Taymans  <wim@fluendo.com>
2307
2308         * gst/gstevent.h:
2309         Add small comment.
2310
2311         * libs/gst/base/gstbasetransform.c:
2312         (gst_base_transform_sink_eventfunc):
2313         Debug segment values *after* updating them as this is more
2314         interesting.
2315
2316 2006-10-23  Wim Taymans  <wim@fluendo.com>
2317
2318         * docs/design/part-events.txt:
2319         Update some docs.
2320
2321         * docs/design/part-block.txt:
2322         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
2323         (gst_pad_push_event):
2324         Revert BLOCKING patch, it tries to be smart without really having a
2325         clear idea what or how. So, now we discard all FLUSHING events again on
2326         a blocking pad. Should fix gnonlin again.
2327
2328 2006-10-23  Wim Taymans  <wim@fluendo.com>
2329
2330         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
2331
2332         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
2333         (gst_base_src_start), (gst_base_src_activate_push):
2334         Make sure size is always initialized. Fixes #364388.
2335
2336 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
2337
2338         * docs/random/ensonic/distributed.txt:
2339           add some ideas about doing distributed processing
2340
2341         * docs/random/ensonic/profiling.txt:
2342           get_rusage look promising
2343
2344 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
2345
2346         * docs/manual/basics-helloworld.xml:
2347           Add a cast in example to fix compile warning
2348
2349 2006-10-18  Wim Taymans  <wim@fluendo.com>
2350
2351         * gst/gstsegment.c: (gst_segment_set_last_stop),
2352         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
2353         Relax arg checking again, -1 is allowed.
2354
2355 2006-10-18  Wim Taymans  <wim@fluendo.com>
2356
2357         * gst/gstsegment.c: (gst_segment_set_last_stop),
2358         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
2359         _set_last_stop() must be with a value != -1
2360         A _TYPE_SET to -1 means seek to 0.
2361         Calc last_stop correctly for negative rates.
2362         Make sure we work with positive durations when updating a segment.
2363
2364 2006-10-18  Wim Taymans  <wim@fluendo.com>
2365
2366         * docs/design/part-live-source.txt:
2367         * gst/gstclock.h:
2368         Small docs fixes.
2369
2370 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
2371
2372         * gst/gstbuffer.h:
2373           Add an explicit cast to GstBuffer** to keep old code that added an
2374           explicit cast to GstMiniObject** for gst_mini_object_replace()
2375           compiling without warning.
2376
2377 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
2378
2379         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
2380           check for validity of dates
2381
2382 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
2383
2384         * docs/gst/gstreamer-sections.txt:
2385           Forgot this one, makes gtk-doc shut up.
2386
2387 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
2388
2389         Patch by: Peter Kjellerstedt <pkj at axis com>
2390
2391         * gst/gstobject.h:
2392           Don't define xmlNodePtr to gpointer if the core was built with
2393           --disable-loadsave and --disable-registry, this will break
2394           applications that want to use libxml2 but are buildling against a
2395           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
2396           instead so we don't have to mess with the libxml2 namespace
2397           (#361675).
2398
2399 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
2400
2401         * gst/gstbuffer.h:
2402           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
2403           type-punned pointer warnings.
2404
2405 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
2406
2407         * gst/gstelement.h:
2408           Add casts to the correct return type to state <=> state transition
2409           macros.
2410
2411 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
2412
2413         * docs/design/part-live-source.txt:
2414           describe howto handle latency
2415         
2416         * docs/random/ensonic/profiling.txt:
2417           more ideas
2418
2419         * tools/gst-plot-timeline.py:
2420           fix log parsing for solaris, remove unused function
2421
2422 2006-10-16  Wim Taymans  <wim@fluendo.com>
2423
2424         * docs/design/part-trickmodes.txt:
2425         * gst/gstevent.c:
2426         Update some docs regarding reverse playback.
2427
2428 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
2429
2430         Patch by: Marcus Granado  <mrc dot gran at gmail com>
2431
2432         * win32/vs8/grammar.vcproj:
2433           Error out with a warning if glib-genmarshal.exe is not in path,
2434           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
2435
2436 2006-10-13  Wim Taymans  <wim@fluendo.com>
2437
2438         * gst/gstsegment.c: (gst_segment_set_seek):
2439         When seeking to stop -1, set last_stop (current position) to the
2440         duration of the segment.
2441
2442 2006-10-13  Wim Taymans  <wim@fluendo.com>
2443
2444         * gst/gstelement.h:
2445         Clarify _NO_PREROLL a bit more.
2446
2447         * gst/gstevent.c:
2448         Fix docs.
2449
2450         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
2451         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
2452         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
2453         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
2454         due to wrong locking order. Fixes #361769.
2455         Remove some redundant/misplaced checks in pad_block.
2456
2457         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
2458         For negative rates, count backwards from the duration.
2459
2460 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
2461
2462         * gst/gsterror.c: (_gst_library_errors_init):
2463           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
2464           up with something better).
2465
2466 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
2467
2468         * win32/vs6/libgstreamer.dsp:
2469         * win32/vs7/libgstreamer.vcproj:
2470         * win32/vs8/libgstreamer.vcproj:
2471           Don't reference glib-compat.c which is currently not used and not
2472           disted; add gstquark.c which was recently added. Fixes #361730.
2473
2474 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
2475
2476         * win32/common/libgstbase.def:
2477         * win32/common/libgstcontroller.def:
2478         * win32/common/libgstreamer.def:
2479           Add gst_caps_merge() and a bunch of other recently-added functions.
2480           Fixes #361732.
2481
2482 2006-10-11  Wim Taymans  <wim@fluendo.com>
2483
2484         * docs/plugins/gstreamer-plugins.args:
2485         * docs/plugins/inspect/plugin-coreelements.xml:
2486         * docs/plugins/inspect/plugin-coreindexers.xml:
2487         Update element args.
2488
2489         * gst/gstsystemclock.c:
2490         Small comment update.
2491
2492         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
2493         (gst_tee_request_new_pad), (gst_tee_release_pad),
2494         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
2495         (gst_tee_sink_activate_pull):
2496         * plugins/elements/gsttee.h:
2497         Some tee loving:
2498         Add default property defines.
2499         Implement release pad function.
2500         Give properties better blubs etc.
2501         Activate pads before adding them to a running tee.
2502         Do simple buffer_alloc on the first requested pad.
2503         Post error when activation fails.
2504
2505 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
2506
2507         * gst/gst.c: (ensure_current_registry_forking):
2508           Check return value of write() to make compiler happy.
2509
2510 2006-10-11  Wim Taymans  <wim@fluendo.com>
2511
2512         Patch by: Sjoerd Simons <sjoerd at luon dot net>
2513
2514         * plugins/elements/gstqueue.c: (gst_queue_chain):
2515         Recheck queue filledness after signalling the overrun when we're about
2516         to leak downstream because we released the lock when emitting the signal
2517         and the queue could be empty again. Fixes #352345.
2518
2519 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
2520
2521         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
2522           Fix refcounting here too, just like we did for _new_valist() a few
2523           days ago (#357180) (thanks to René Stadler). Also remove all those
2524           'Since: 0.9' from the gtk-doc blobs.
2525
2526         * tests/check/libs/controller.c: (controller_refcount_new_list),
2527         (gst_controller_suite):
2528           Unit test for the above.
2529
2530 2006-10-10  Wim Taymans  <wim@fluendo.com>
2531
2532         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
2533
2534         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
2535         (gst_pad_save_thyself):
2536         Update some docs.
2537         Write pad direction in XML output. Fixes #345496.
2538
2539 2006-10-10  Wim Taymans  <wim@fluendo.com>
2540
2541         Patch by: René Stadler <mail at renestadler dot de>
2542
2543         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
2544         (gst_controller_new_list), (_gst_controller_dispose),
2545         (_gst_controller_finalize), (_gst_controller_class_init):
2546         Take ref to controlled object so that it cannot disappear. 
2547         Fixes #357432.
2548
2549 2006-10-10  Wim Taymans  <wim@fluendo.com>
2550
2551         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
2552         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
2553         (gst_check_teardown_sink_pad):
2554         Activate/deactivate pads in setup/teardown respectively.
2555
2556 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2557
2558         Patch by: Josep Torre Valles <josep@fluendo.com>
2559
2560         * gst/Makefile.am:
2561         Cast values when making gstenumtypes.h.  This pacifies Forte
2562         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
2563         in the enumeration.
2564
2565 2006-10-09  Wim Taymans  <wim@fluendo.com>
2566
2567         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
2568         Rename some more @cur to @start to fix docs. 
2569
2570         * gst/gstsegment.c: (gst_segment_set_seek):
2571         Fix typo.
2572         time and start must always stay in sync as defined in design doc.
2573
2574         * gst/gsttaglist.c: (gst_tag_list_is_empty):
2575         Rename param to fix docs.
2576
2577         * tests/check/gst/gstsegment.c: (GST_START_TEST):
2578         Check that start and time are in sync.
2579
2580         * tests/check/pipelines/parse-launch.c:
2581         (gst_parse_test_element_change_state):
2582         Activate pad before adding to the element.
2583
2584 2006-10-09  Wim Taymans  <wim@fluendo.com>
2585
2586         * docs/design/part-qos.txt:
2587         Fix typo.
2588
2589         * gst/gstevent.c:
2590         * gst/gstevent.h:
2591         Update seek event docs regarding negative rates.
2592         Rename @cur to @start. 
2593
2594         * gst/gstsegment.c: (gst_segment_set_seek):
2595         * gst/gstsegment.h:
2596         Update set_seek docs regarding negative rates.
2597         Correctly update last_stop to @stop when dealing with negative
2598         rates.
2599         Rename @cur to @start. 
2600
2601         * tests/check/gst/gstpad.c: (GST_START_TEST):
2602         Activate pads before trying to use them.
2603
2604         * tests/check/gst/gstsegment.c: (GST_START_TEST),
2605         (gst_segment_suite):
2606         Add simple check for segments and negative rates.
2607
2608 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
2609
2610         * gst/gsttaglist.c: (gst_tag_list_is_empty):
2611         * gst/gsttaglist.h:
2612         * docs/gst/gstreamer-sections.txt:
2613           API: add gst_tag_list_is_empty() (#360467).
2614
2615         * tests/check/gst/gsttag.c: (GST_START_TEST):
2616           And a test case.
2617
2618 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2619
2620         * gst/gstmessage.h:
2621         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
2622         a value that doesn't fit on enumeration.
2623
2624 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2625
2626         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
2627         Remove local debugging system and use Gstreamer's instead.
2628
2629 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2630
2631         Patch by: Josep Torre Valles <josep@fluendo.com>
2632
2633         * common/m4/gst-error.m4:
2634         Disable warning of statement not reached on Forte.
2635         * gst/gstmessage.h:
2636         Fix warning on Forte (value doesn't fit on enumeration).
2637         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
2638         Fix warning on Forte (value doesn't fit on enumeration).
2639         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
2640         DEBUG macro says it takes minimum of 2 args and so Forte
2641         complains about the use with just 1 arg.
2642         * plugins/elements/gstfdsink.c:
2643         * plugins/elements/gstfdsrc.c:
2644         * plugins/elements/gstfilesink.c:
2645         * plugins/elements/gstfilesrc.c:
2646         Use correct return type for the uri handler implementations.
2647
2648         All these fix warnings in Forte.  Fixes bug #360860.
2649
2650 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
2651
2652         * gst/gstelement.h:
2653           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
2654           format string, so don't use G_GNUC_PRINTF for those versions.
2655
2656 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
2657
2658         * gst/gsttaglist.c: (gst_is_tag_list):
2659         * gst/gsttaglist.h:
2660           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
2661
2662         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
2663           Small test for the above.
2664
2665 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
2666
2667         * gst/gsttaglist.h:
2668           Less tabs, more spaces.
2669
2670 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
2671
2672         * gst/gstinfo.h:
2673           Those two function declarations do actually belong there, revert
2674           commit from yesterday that turned them intro macros.
2675
2676 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2677
2678         Patch by: Josep Torre Valles <josep@fluendo.com>
2679
2680         * gst/gst.c: (gst_init_get_option_group):
2681         Fix empty declaration and type mismatch.
2682         * gst/gstbin.c: (gst_bin_change_state_func):
2683         Fix type mismatch.
2684         * gst/gstelement.c: (gst_element_continue_state),
2685         (gst_element_set_state_func), (gst_element_change_state),
2686         (gst_element_change_state_func):
2687         Fix type mismatches.
2688         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
2689         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
2690         Cast as appropriate.
2691         * gst/gstobject.c: (gst_class_signal_connect):
2692         Cast as appropriate.  The function pointer parameter really
2693         has the wrong type but would break API if we change it.
2694         * gst/gstquery.c:
2695         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
2696         order of including string.h.
2697         * gst/gstutils.c: (gst_element_state_get_name):
2698         Remove unreachable line.
2699         * gst/gstxml.c: (gst_xml_parse_doc):
2700         Fix type mismatch.
2701         All these caught by Forte.
2702
2703 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2704
2705         Patch by: Josep Torre Valles <josep@fluendo.com>
2706
2707         * common/m4/gst-error.m4:
2708         Fixed bug #360151.
2709         We need to disable warnings on Forte for empty declarations
2710         due to gst-indent adding ;s to lines that just use macros
2711         where the macro actually doesn't need a ; at end to end
2712         statement.
2713
2714 2006-10-06  Wim Taymans  <wim@fluendo.com>
2715
2716         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
2717         (gst_file_sink_close_file), (gst_file_sink_event),
2718         (gst_file_sink_render):
2719         Add some FIXME for the NEWSEGMENT handling.
2720
2721 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2722
2723         * gst/parse/grammar.y:
2724         Remove static function gst_parse_element_lock as all it does
2725         is return.  Looks like cruft from 0.8.
2726
2727 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2728
2729         Patch by: Josep Torre Valles <josep@fluendo.com>
2730
2731         * common/m4/gst-error.m4:
2732         * configure.ac:
2733         * libs/gst/net/Makefile.am:
2734         Fix a compilation issue with Forte on Solaris.  inet_aton is in
2735         libresolv.
2736
2737 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
2738
2739         * gst/gstpad.c: (pre_activate):
2740         * gst/gstregistry.c: (gst_registry_scan_path_level):
2741         * gst/gstregistryxml.c: (load_plugin):
2742         * libs/gst/controller/gstcontroller.c:
2743         (gst_controlled_property_set_interpolation_mode):
2744         * libs/gst/dataprotocol/dataprotocol.c:
2745         (gst_dp_packet_from_event_1_0):
2746         * libs/gst/net/gstnetclientclock.c:
2747         (gst_net_client_clock_observe_times):
2748         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
2749           Printf fixes.
2750
2751 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
2752
2753         * configure.ac:
2754         * docs/gst/gstreamer-sections.txt:
2755         * gst/gstconfig.h.in:
2756         * gst/gstelement.h:
2757         * gst/gstinfo.h:
2758           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
2759           whether we can use G_GNUC_PRINTF in other header files and at
2760           least check the printf format/arguments of debug messages and
2761           GST_ELEMENT_ERROR messages when the printf extension is not
2762           being used.
2763           Replace more tabs with spaces in gstinfo.h and remove two spurious
2764           function declarations in GST_DISABLE_DEBUG part with macros.
2765
2766 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
2767
2768         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
2769           More docs for the sync-message signal (mention that it is not
2770           emitted by default); log message structures of messages posted on
2771           the bus as well.
2772
2773 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
2774
2775         * gst/gst.c: (ensure_current_registry_forking):
2776         Use a pipe pair to receive status results from the forked child, and
2777         ignore the result from waitpid. Fixes #355499
2778
2779 2006-10-02  Wim Taymans  <wim@fluendo.com>
2780
2781         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
2782         (gst_ghost_pad_suite):
2783         Fix leak in check.
2784
2785 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
2786
2787         * gst/gstpad.c:
2788           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
2789
2790 2006-10-02  Edward Hervey  <edward@fluendo.com>
2791
2792         * docs/design/part-block.txt:
2793         Further explain the use of flushing on blocked pads.
2794         * docs/gst/gstreamer-sections.txt:
2795         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
2796         (gst_pad_push_event):
2797         * gst/gstpad.h:
2798         Added new GstPadFlag : GST_PAD_BLOCKING.
2799         Adds the notion of pads really blocking, which enables to properly
2800         handle FLUSH_START/FLUSH_STOP events on blocked pads.
2801         Fixes #358999
2802         API: gst_pad_is_blocking()
2803         API: GST_PAD_IS_BLOCKING() macro
2804         API: GST_PAD_BLOCKING GstPadFlag
2805         
2806 2006-10-02  Wim Taymans  <wim@fluendo.com>
2807
2808         Patch by: mrcgran <mrc.gran at gmail dot com>
2809
2810         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
2811         Filter the proxied caps against the padtemplate if we have one.
2812
2813         * gst/gstquery.c: (gst_query_new_segment):
2814         Add include for gstinfo.h so that compilation with
2815         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
2816
2817 2006-10-02  Wim Taymans  <wim@fluendo.com>
2818
2819         Patch by: Alessandro Decina  <alessandro at nnva org>
2820
2821         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
2822         (gst_file_sink_set_location), (gst_file_sink_open_file),
2823         (gst_file_sink_close_file), (gst_file_sink_event),
2824         (gst_file_sink_render):
2825         Set file to NULL when closing filesink so that we can set a new filename
2826         in READY. Fixes #358613.
2827
2828 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
2829
2830         Patch by: Alessandro Decina  <alessandro at nnva org>
2831
2832         * gst/gstevent.c: (_gst_event_copy):
2833           Fix gst_mini_object_make_writable() and gst_event_copy() for events
2834           with event structures by setting the parent refcount address of the
2835           copied structure to the address of the refcount member of the newly
2836           copied event rather than the address of the refcount member of the
2837           original event. Fixes #358737.
2838
2839         * tests/check/gst/gstevent.c: (GST_START_TEST):
2840           Unit test for the above.
2841
2842 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
2843
2844         * docs/design/Makefile.am:
2845           Dist some more files.
2846
2847 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
2848
2849         * tests/check/libs/controller.c: (GST_START_TEST),
2850         (gst_controller_suite):
2851           Add test for the previous fix; add some more tests
2852           for correct refcounting behaviour; fix a few leaks
2853           in test cases; call gst_controller_init() at start
2854           of all tests.
2855
2856 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
2857
2858         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
2859         (gst_controller_set_from_list):
2860           Don't g_return_val_if_fail() on timed values with invalid timestamps
2861           inside a critical section without unlocking the mutex. Spotted by
2862           René Stadler. (#357617)
2863           Also, fix up refcounting properly: when returning an existing
2864           controller, we should increase the reference only once and not
2865           once per property and when trying to control a property again
2866           we should also increase the refcount.
2867
2868 2006-09-29  Wim Taymans  <wim@fluendo.com>
2869
2870         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
2871         * libs/gst/net/gstnettimeprovider.c:
2872         (gst_net_time_provider_thread):
2873         Stop reading commands when EOF as well.
2874
2875         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
2876         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
2877         * plugins/elements/gstidentity.c: (gst_identity_class_init):
2878         Unify description of the dump property.
2879
2880 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
2881
2882         * tests/examples/manual/.cvsignore:
2883         OK, so it's actually cvsignore that needs changing. Stop laughing.
2884
2885 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
2886
2887         * tests/examples/manual/Makefile.am:
2888         Gah, declare vars *before* using them
2889
2890 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
2891
2892         * gst/gst.c: (init_pre), (scan_and_update_registry),
2893         (ensure_current_registry_nonforking),
2894         (ensure_current_registry_forking), (ensure_current_registry),
2895         (init_post), (gst_debug_help), (gst_deinit):
2896         * gst/gst_private.h:
2897         * gst/gstregistry.c: (gst_registry_finalize),
2898         (gst_registry_remove_features_for_plugin_unlocked),
2899         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
2900         (gst_registry_scan_path),
2901         (_priv_gst_registry_remove_cache_plugins),
2902         (_priv_gst_registry_cleanup):
2903         * gst/gstregistry.h:
2904         Re-commit the registry changes, along with an extra fix:
2905           When a cached plugin is encountered at a different file path,
2906           update the stored path in the registry cache so that the parent
2907           process knows where it actually is now when it re-reads the registry
2908           cache. Fixes the thing that broke distcheck with the previous commit.
2909
2910         * tests/check/Makefile.am:
2911         Clean up files named 'core' too when running make clean.
2912
2913         * tests/examples/manual/Makefile.am:
2914         Set up a registry path for running these tests, and clean it properly
2915         for distcheck.
2916
2917 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
2918
2919         * configure.ac:
2920         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
2921         want gmodule-no-export-2.0.pc instead so that we don't drag in
2922         --export-dynamic on every project that links to GStreamer.
2923
2924         Also, make our export regex only match the start of symbols, rather 
2925         than any symbol that contains '_gst' somewhere.
2926
2927         * libs/gst/check/Makefile.am:
2928         The libgstcheck we build does however need export-dynamic, as it
2929         produces some symbols that don't match our _gst... style regex.
2930         Fixes: #318031
2931
2932 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
2933
2934         * gst/gst.c: (init_pre), (scan_and_update_registry),
2935         (ensure_current_registry_nonforking),
2936         (ensure_current_registry_forking), (ensure_current_registry),
2937         (init_post), (gst_debug_help), (gst_deinit):
2938         * gst/gst_private.h:
2939         * gst/gstregistry.c: (gst_registry_finalize),
2940         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
2941         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
2942         (_gst_registry_cleanup):
2943         * gst/gstregistry.h:
2944           Revert previous change until I figure out why it breaks distcheck.
2945
2946 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
2947
2948         * gst/gst.c: (init_pre), (scan_and_update_registry),
2949         (ensure_current_registry_nonforking),
2950         (ensure_current_registry_forking), (ensure_current_registry),
2951         (init_post), (gst_debug_help), (gst_deinit):
2952
2953           Make init_pre and init_post take the full complement of GOptionFunc
2954           args so they can return useful GErrors. Make the registry updating
2955           functions do so.
2956
2957           Call _priv_gst_registry_remove_cache_plugins after scanning files to
2958           ensure that the registry we're about to write out doesn't contain
2959           stale information about old-deleted plugin files.
2960
2961           Make _priv_gst_registry_remove_cache_plugins return a boolean so
2962           that deletion of plugin files is considered a registry change.
2963
2964         * gst/gst_private.h:
2965         * gst/gstregistry.c: (gst_registry_finalize),
2966         (gst_registry_remove_features_for_plugin_unlocked),
2967         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
2968         (gst_registry_scan_path),
2969         (_priv_gst_registry_remove_cache_plugins),
2970         (_priv_gst_registry_cleanup):
2971         * gst/gstregistry.h:
2972         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
2973         by adding _priv prefix, so that they won't appear in the global
2974         symbol table. They still do atm though because of #318031. Move the
2975         prototypes to gst_private.h
2976
2977         When removing a plugin, remove all features for that plugin too. 
2978         Fixes #340878.
2979
2980 2006-09-27  Wim Taymans  <wim@fluendo.com>
2981
2982         * docs/random/moving-plugins:
2983         Make it clear that the "compiled-in descriptions" really mean
2984         the element details.
2985
2986         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2987         (gst_base_sink_wait_preroll):
2988         Update docs.
2989
2990         * docs/libs/gstreamer-libs-sections.txt:
2991         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
2992         (gst_base_src_get_range), (gst_base_src_activate_push):
2993         * libs/gst/base/gstbasesrc.h:
2994         Added function to block while waiting for PLAYING, this function
2995         is used by live sources that block on the clock.
2996         API: gst_base_src_wait_playing()
2997
2998 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
2999
3000         Patch by: Peter Kjellerstedt <pkj at axis com>
3001
3002         * Makefile.am:
3003           gst-element-check.m4 is generated and should therefore be
3004           copied from the build dir rather than the source dir (#357593).
3005           'make distcheck' hasn't noticed this because we were disting
3006           the file as well, so stop doing that.
3007
3008 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
3009
3010         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
3011           Add some tests for gst_caps_intersect().
3012
3013         * tools/gst-launch.c: (event_loop):
3014           Print all buffering percentages we get, even the 100% one.
3015
3016 2006-09-26  Wim Taymans  <wim@fluendo.com>
3017
3018         * tools/gst-inspect.c: (print_element_properties_info),
3019         (print_signal_info):
3020         Fix printing of flags to match the look of enums.
3021
3022 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
3023
3024         * gst/gstelementfactory.c:
3025           Fix typo in docs blurb.
3026
3027 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
3028
3029         * gst/gsturi.c: (search_by_entry):
3030           Don't assert/crash here if a uri handler doesn't return any
3031           supported protocols. The list of protocols could be generated
3032           dynamically at runtime or at plugin registration, and an error
3033           in the underlying library shouldn't be fatal (#353301).
3034
3035 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
3036
3037         * gst/gstinfo.c:
3038           Fix warning if HAVE_PRINTF_EXTENSION is undefined
3039           (spotted by Peter Kjellerstedt).
3040
3041 2006-09-23  Wim Taymans  <wim@fluendo.com>
3042
3043         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
3044
3045         * libs/gst/base/gstbasesrc.c:
3046         (gst_base_src_default_check_get_range), (gst_base_src_start),
3047         (gst_base_src_activate_push), (gst_base_src_activate_pull),
3048         (gst_base_src_change_state):
3049         Match _start/_stop calls in the activate functions. Remove redundant
3050         _stop call from the state change function. Fixes #356910.
3051         Turn failure DEBUG into ERROR. 
3052
3053 2006-09-22  Wim Taymans  <wim@fluendo.com>
3054
3055         * docs/design/part-buffering.txt:
3056         * gst/gstmessage.c: (gst_message_new_buffering),
3057         (gst_message_parse_buffering):
3058         Update docs about buffering.
3059
3060         * docs/design/part-trickmodes.txt:
3061         Fix typo.
3062
3063 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
3064
3065         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
3066         (gst_controller_new_list):
3067           Ref instances when returning them again (fixes #357180)
3068
3069 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
3070
3071         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
3072           Don't forget to release proxy lock when there's an error.
3073
3074 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
3075
3076         * gst/gstcaps.h:
3077           Add extra initialisers for Caps things, to fix some plugin warnings
3078           when using -Wextra
3079
3080 2006-09-18  Wim Taymans  <wim@fluendo.com>
3081
3082         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
3083           Also set template on the internal pad so that a getcaps from the 
3084           target pad returns the template caps.
3085
3086 2006-09-18  Wim Taymans  <wim@fluendo.com>
3087
3088         * gst/gstelement.c: (gst_element_post_message),
3089         (gst_element_dispose):
3090         Use _DEBUG_OBJECT some more.
3091
3092         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
3093         Avoid typechecks.
3094
3095         * tools/gst-launch.c: (main):
3096         If the toplevel element is not a GstPipeline, it must be put in a
3097         pipeline so that a bus and clock is selected.
3098
3099 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
3100
3101         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
3102           JITTER, RATE, and LATENCY query should be handled by the
3103           default case and not by the CONVERT query code.
3104
3105 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
3106
3107         * gst/gstformat.c: (gst_format_register):
3108           Fix locking order (must take lock before using n_values).
3109
3110         * gst/gstvalue.c: (gst_value_serialize_enum),
3111         (gst_value_deserialize_enum_iter_cmp),
3112         (gst_value_deserialize_enum):
3113           Fix serialisation/deserialisation of custom registered GstFormats.
3114
3115         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3116           Unit test for custom format serialisation/deserialisation.
3117
3118 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
3119
3120         * docs/pwg/building-boiler.xml:
3121         * plugins/elements/gstcapsfilter.c:
3122         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
3123         section.
3124
3125 2006-09-16  Edward Hervey  <edward@fluendo.com>
3126
3127         * libs/gst/base/gstbasetransform.c:
3128         (gst_base_transform_buffer_alloc):
3129         Check if requested caps are the same as the sinks caps IF
3130         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
3131         is FALSE.
3132         This fixes the renegotiation issues stated in #352827.
3133
3134 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3135
3136         * configure.ac:
3137         * docs/manual/advanced-autoplugging.xml:
3138         * tests/examples/Makefile.am:
3139         * tests/examples/manual/.cvsignore:
3140         * tests/examples/manual/Makefile.am:
3141         * tests/examples/manual/extract.pl:
3142           Extract the manual examples again like we used to do.
3143           Fix one of them.
3144
3145 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3146
3147         * win32/common/config.h:
3148           update for version
3149
3150 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
3151
3152         * gst/gsterror.c:
3153           Documents how to receive errors.
3154
3155 2006-09-15  Wim Taymans  <wim@fluendo.com>
3156
3157         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
3158         (event_loop), (main):
3159         Added some comments here and there.
3160         Post an application message when an interrupt is caught instead of doing
3161         an uncontrolled state change.
3162         Clean up the event loop.
3163         Handle buffering messages, pause/resume the pipeline.
3164         Make shutdown because of an interrupt more reliable.
3165
3166 2006-09-15  Wim Taymans  <wim@fluendo.com>
3167
3168         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3169         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
3170         (gst_base_sink_preroll_object):
3171         Make sure that our internal state is correct when we commit our state
3172         asynchronously. This solves a race where a state change to PLAYING
3173         could cause the sink to remain blocked in preroll in some situations.
3174
3175 2006-09-15  Wim Taymans  <wim@fluendo.com>
3176
3177         * tools/gst-inspect.c: (print_element_properties_info),
3178         (print_signal_info):
3179         List flags as hex so it's easier to deal with.
3180
3181 2006-09-15  Wim Taymans  <wim@fluendo.com>
3182
3183         * docs/libs/gstreamer-libs-sections.txt:
3184         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
3185         (gst_base_sink_do_sync):
3186         * libs/gst/base/gstbasesink.h:
3187         Expose logic to wait for preroll so that subclasses such as audiosink
3188         can also use this method.
3189         API: gst_base_sink_wait_preroll()
3190
3191 2006-09-15  Wim Taymans  <wim@fluendo.com>
3192
3193         * gst/gstobject.c: (gst_object_set_parent):
3194         * gst/gstpipeline.c: (do_pipeline_seek):
3195         Small cleanups in docs and code.
3196
3197         * gst/gstsegment.c: (gst_segment_clip):
3198         * tests/check/gst/gstsegment.c: (GST_START_TEST):
3199         if stop == start and start is in the segment, no clipping should be
3200         done. Also add a test for this.
3201
3202 2006-09-15  Wim Taymans  <wim@fluendo.com>
3203
3204         * docs/design/part-buffering.txt:
3205         * docs/gst/gstreamer-sections.txt:
3206         * gst/gstmessage.c: (gst_message_new_buffering),
3207         (gst_message_parse_buffering):
3208         * gst/gstmessage.h:
3209         Added methods to create and parse BUFFERING messages.
3210         Added preliminary docs about buffering.
3211         API: gst_message_new_buffering
3212         API: gst_message_parse_buffering
3213
3214 2006-09-06  Wim Taymans  <wim@fluendo.com>
3215
3216         * gst/gstbin.c:
3217         Update documentation.
3218
3219         * gst/gstelement.c: (gst_element_class_init),
3220         (gst_element_release_request_pad), (gst_element_set_clock),
3221         (gst_element_get_index), (gst_element_add_pad),
3222         (gst_element_remove_pad), (gst_element_get_random_pad),
3223         (gst_element_send_event), (gst_element_get_query_types),
3224         (gst_element_query), (gst_element_post_message),
3225         (gst_element_message_full), (gst_element_continue_state),
3226         (gst_element_lost_state), (gst_element_save_thyself),
3227         (gst_element_restore_thyself):
3228         Documentation updates.
3229         Rename last bit of the new-pad -> pad-added signal rename.
3230         Fix the case where an element query would only work if the source
3231         pad was linked.
3232         Avoid some useless type checking in message handling.
3233
3234         * gst/gstevent.c:
3235         * gst/gstevent.h:
3236         * gst/gstutils.c:
3237         Documentation updates.
3238
3239 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3240
3241         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
3242           add an INFO line for when we actually update the fd
3243
3244 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3245
3246         * configure.ac:
3247           back to TRUNK
3248
3249 === release 0.10.10 ===
3250
3251 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
3252
3253         * configure.ac:
3254           releasing 0.10.10, "Pais"
3255
3256 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
3257
3258         * docs/manual/advanced-position.xml:
3259           Fix typo in sample code.
3260
3261 2006-09-05  Wim Taymans  <wim@fluendo.com>
3262
3263         * libs/gst/net/gstnetclientclock.c: (inet_aton),
3264         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
3265         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
3266         * libs/gst/net/gstnetclientclock.h:
3267         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
3268         * libs/gst/net/gstnettimepacket.h:
3269         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
3270         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
3271         (gst_net_time_provider_thread), (gst_net_time_provider_new):
3272         * libs/gst/net/gstnettimeprovider.h:
3273         Make stuff compile on windows. Fixes #345295.
3274
3275 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
3276
3277         * gst/gst.c: (ensure_current_registry_forking):
3278           Print better details when child was terminated by signal.
3279
3280 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
3281
3282         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
3283           Print a warning rather than g_assert() if a plugin feature
3284           is a URI handler but returns no protocols (#353976).
3285
3286 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
3287
3288         * docs/random/moving-plugins:
3289         Fix two typos.         
3290
3291 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
3292
3293         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
3294           Fix locking order, handle NULL function values properly.
3295
3296         * gst/gstinfo.h:
3297           Fix docs.
3298
3299         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
3300           Initialise variable before using it and fix debug statement to
3301           print the address of the function rather than the address of the
3302           variable on the stack holding the address of the function.
3303
3304 2006-09-01  Wim Taymans  <wim@fluendo.com>
3305
3306         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
3307         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
3308         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
3309         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
3310         (gst_ghost_pad_parent_unset),
3311         (gst_ghost_pad_internal_do_activate_push),
3312         (gst_ghost_pad_internal_do_activate_pull),
3313         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
3314         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
3315         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
3316         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
3317         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
3318         (gst_ghost_pad_new_no_target_from_template),
3319         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
3320         More cleanups.
3321         Avoid needless typechecking in macros.
3322         Since the internal pad is always present and never changes, there is
3323         no need to locking or ref when retrieving it.
3324         Improve debugging a bit.
3325         Handle link errors when setting the target. Fixes #341029.
3326
3327 2006-09-01  Wim Taymans  <wim@fluendo.com>
3328
3329         * docs/libs/gstreamer-libs-sections.txt:
3330         * docs/plugins/gstreamer-plugins-sections.txt:
3331         Fix docs some more.
3332
3333         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
3334         (gst_collect_pads_event):
3335         * libs/gst/base/gstcollectpads.h:
3336         Documentation updates.
3337         Free queued buffer when removing a pad.
3338
3339 2006-08-31  Michael Smith  <msmith@fluendo.com>
3340
3341         * gst/gstutils.c: (gst_element_link_pads),
3342         (gst_element_link_pads_filtered):
3343           Ensure that we set a capsfilter to NULL if we failed to link it
3344           when doing filtered linking, to avoid criticals.
3345
3346           No need to check for unreffing srcpad, which is explicly NULLed
3347           above (a trivial code cleanup).
3348
3349 2006-08-31  Wim Taymans  <wim@fluendo.com>
3350
3351         * docs/design/part-gstghostpad.txt:
3352         Update ascii art in documentation.
3353
3354         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
3355         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
3356         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
3357         (gst_ghost_pad_internal_do_activate_push),
3358         (gst_ghost_pad_internal_do_activate_pull),
3359         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
3360         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
3361         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
3362         (gst_ghost_pad_set_target):
3363         Small cleanups and leak fixes.
3364         Remove some checks now that the internal pad is never NULL.
3365         Fix the case where linking pads without a target would create nasty
3366         criticals. Fixes #341029.
3367         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
3368         value of _set_target().
3369
3370         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
3371         (gst_ghost_pad_suite):
3372         Some more tests for creating and linking untargeted ghostpads.
3373
3374 2006-08-31  Edward Hervey  <edward@fluendo.com>
3375
3376         * docs/gst/gstreamer-sections.txt:
3377         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
3378         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
3379         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
3380         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
3381         (gst_ghost_pad_new_from_template),
3382         (gst_ghost_pad_new_no_target_from_template):
3383         * gst/gstghostpad.h:
3384         Refactored *_new() functions.
3385         Templates are now used as a g_object_new() parameter.
3386         Use template in _do_getcaps() if we don't have a target.
3387         Small documentation cleanups.
3388         Added two new constructors:
3389         gst_ghost_pad_new_from_template()
3390         gst_ghost_pad_new_no_target_from_template()
3391         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
3392         (gst_ghost_pad_suite):
3393         Added tests for new ghostpad instanciation functions.
3394
3395         API additions: gst_ghost_pad_new_from_template,
3396         gst_ghost_pad_new_no_target_from_template
3397
3398 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
3399
3400         * docs/random/ensonic/profiling.txt:
3401           Ideas about qos profiling.
3402
3403 2006-08-29  Wim Taymans  <wim@fluendo.com>
3404
3405         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
3406         Code cleanups.
3407         Fix memleak.
3408
3409 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
3410
3411         * gst/gstxml.c:
3412           Improve and detypofy docs.
3413
3414         * tests/check/Makefile.am:
3415         * tests/check/gst/.cvsignore:
3416         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
3417           Add a basic test suite for GstXML.
3418
3419 2006-08-29  Wim Taymans  <wim@fluendo.com>
3420
3421         * gst/gstelement.c: (activate_pads), (clear_caps),
3422         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
3423         Clear the pad caps when the element shut down all of the pads and
3424         is not streaming data that could modify the caps. 
3425         Fixes #352958.
3426
3427 2006-08-28  Michael Smith  <msmith@fluendo.com>
3428
3429         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3430           Revert previous change; I misunderstood single-segment mode.
3431
3432 2006-08-28  Michael Smith  <msmith@fluendo.com>
3433
3434         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3435           Unset DISCONT on buffers when using single-segment mode.
3436
3437 2006-08-28  Wim Taymans  <wim@fluendo.com>
3438
3439         * gst/gstcaps.c: (gst_caps_merge_structure):
3440         * gst/gstcaps.h:
3441         Fix docs and indentation again.
3442
3443         * tests/check/gst/gstquery.c: (GST_START_TEST):
3444         Fix leak in tests and add some more tests.
3445
3446 2006-08-28  Edward Hervey  <edward@fluendo.com>
3447
3448         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3449         Inform GstSegment of the last stop position in order for the current
3450         segment to have a proper duration if it doesn't have a specific stop
3451         position from which a duration could be calculated.
3452         This bug was noticeable when a non-flushing, non-update new segment was
3453         followed by another segment (all buffers from the new segment were being
3454         dropped).
3455
3456 2006-08-28  Wim Taymans  <wim@fluendo.com>
3457
3458         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
3459         Small comment update.
3460
3461         * plugins/elements/gstidentity.c: (gst_identity_class_init),
3462         (gst_identity_transform_ip):
3463         Drop-probability is broken, mention this in the code with a 
3464         FIXME and also in the property description.
3465         Make silent also be silent about the drop messages.
3466
3467 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
3468
3469         * docs/manual/appendix-win32.xml:
3470           Remove mention of popt, we don't depend on that any
3471           longer (#353136). Add some comments pointing out that
3472           this section is slightly outdated.
3473
3474 2006-08-28  Wim Taymans  <wim@fluendo.com>
3475
3476         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
3477
3478         * gst/gstquery.c: (gst_query_new_segment):
3479         * tests/check/gst/gstquery.c: (GST_START_TEST):
3480         Initialize variables when creating a new segment query.
3481         Fixes #353121.
3482
3483 2006-08-28  Wim Taymans  <wim@fluendo.com>
3484
3485         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
3486
3487         * gst/gstelement.c: (gst_element_get_bus):
3488         * tests/check/gst/gstelement.c: (GST_START_TEST):
3489         Check for NULL before _reffing the bus. Fixes #353122.
3490
3491 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
3492
3493         * docs/manual/basics-bus.xml:
3494           Docs update: fix wrong callback return value explanation; add
3495           some lines about the implicit relationship between main loop
3496           and main context; remove duplicate main loop variable declaration.
3497
3498 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
3499
3500         * tests/check/gst/gstcaps.c: (GST_START_TEST):
3501           Don't leak caps in unit test; add a few more simple
3502           checks. 
3503
3504 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
3505
3506         * docs/gst/gstreamer-sections.txt:
3507         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
3508         (gst_caps_structure_is_subset), (gst_caps_merge),
3509         (gst_caps_merge_structure):
3510         * gst/gstcaps.h:
3511         * libs/gst/base/gstbasetransform.c:
3512         (gst_base_transform_transform_caps):
3513         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
3514           implement caps merging (fixes #352580)
3515
3516 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
3517
3518         * tools/Makefile.am:
3519         * tools/gst-plot-timeline.py:
3520           add debug-log plotting developer tool (#340674)
3521
3522 2006-08-23  Wim Taymans  <wim@fluendo.com>
3523
3524         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
3525         (gst_pad_stop_task):
3526         Improve debugging for task functions.
3527
3528         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
3529         (gst_task_start), (gst_task_pause), (gst_task_join):
3530         Make sure that the task function started and finished after a 
3531         join(). 
3532         Don't try to push the task function on the threadpool multiple
3533         times.
3534         Improve the g_warning message with some useful suggestions
3535         about how to fix the problem. 
3536
3537 2006-08-23  Wim Taymans  <wim@fluendo.com>
3538
3539         * gst/gstutils.c: (gst_pad_proxy_getcaps):
3540         Handle RESYNC correctly in _proxy_getcaps.
3541
3542 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
3543
3544         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
3545         (gst_xml_parse_memory), (gst_xml_get_element):
3546           Chain up to parent class in dispose function and also
3547           unref the elements in the toplevel_elements GList.
3548           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
3549           Always return a reference in gst_xml_get_element() rather
3550           than only sometimes.
3551
3552         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
3553           Don't leak GstXml object.
3554
3555 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
3556
3557         * docs/gst/gstreamer-sections.txt:
3558         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
3559         (gst_caps_merge):
3560         * gst/gstcaps.h:
3561         * libs/gst/base/gstbasetransform.c:
3562         (gst_base_transform_transform_caps):
3563           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
3564           in a better way
3565
3566 2006-08-21  Edward Hervey  <edward@fluendo.com>
3567
3568         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
3569         Implement GObject::dispose virtual method in GstXML so we can free the
3570         top_elements GList.
3571
3572 2006-08-21  Wim Taymans  <wim@fluendo.com>
3573
3574         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
3575         (gst_buffer_create_sub):
3576         Copy duration/offset_end/caps when creating a subbuffer of the
3577         complete parent.
3578         Make the subbuffer read-only when we make the metadata writable for
3579         now. Fixes #351768.
3580
3581         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
3582         Added check for metadata copy when creating subbuffers.
3583
3584 2006-08-21  Edward Hervey  <edward@fluendo.com>
3585
3586         * libs/gst/base/gstbasetransform.c:
3587         (gst_base_transform_buffer_alloc):
3588         Only call downstream buffer_alloc if transform element is passthrough
3589         or always_in_place. Closes #350449.
3590
3591 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
3592
3593         * ChangeLog:
3594           ChangeLog surgery to add comments to previous changes
3595
3596 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
3597
3598         * gst/gst.c:
3599           Add comments
3600
3601         * gst/gstpad.c: (gst_pad_set_active):
3602           Be more verbose in the log
3603
3604         * libs/gst/base/gstbasetransform.c:
3605         (gst_base_transform_transform_caps):
3606           Simplify caps to get rid of duplicates, fixes #345444
3607
3608 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
3609
3610         * gst/gstvalue.c:
3611         * gst/gstvalue.h:
3612           Use these optimizations only internally.
3613
3614 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
3615
3616         * gst/gstvalue.c: (gst_value_compare_list),
3617         (gst_value_compare_fraction_range),
3618         (gst_value_intersect_fraction_fraction_range),
3619         (gst_value_intersect_fraction_range_fraction_range),
3620         (gst_value_subtract_fraction_fraction_range),
3621         (gst_value_subtract_fraction_range_fraction_range),
3622         (gst_value_get_compare_func), (gst_value_compare),
3623         (gst_value_compare_with_func):
3624         * gst/gstvalue.h:
3625           Saves the expensive lookup of the compare function in many cases
3626          (#345444)
3627
3628 2006-08-18  Edward Hervey  <edward@fluendo.com>
3629
3630         * tests/check/gst/gstinfo.c: (gst_info_suite):
3631         Disable test that require gstdebug if it wasn't built in core.
3632
3633 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
3634
3635         * docs/random/ensonic/logging.txt:
3636           update ideas
3637           
3638         * gst/gstinfo.c: (gst_debug_log_default):
3639           reorder fields, save some columns, add optional color codes for log
3640           levels
3641
3642 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
3643
3644         * docs/random/ensonic/logging.txt:
3645           add ideas about making the logs a bit more useful
3646
3647 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
3648
3649         * docs/pwg/advanced-events.xml:
3650         * docs/pwg/titlepage.xml:
3651           Update for 0.10 API (#340627). Add myself
3652           to authors list.
3653
3654 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
3655
3656         * docs/libs/gstreamer-libs-docs.sgml:
3657         * docs/libs/gstreamer-libs-sections.txt:
3658         * libs/gst/check/gstbufferstraw.c:
3659           Make gstcheck stuff show up in docs (still needs to
3660           be documented properly though).
3661
3662 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
3663
3664         * docs/gst/gstreamer-sections.txt:
3665         * gst/Makefile.am:
3666         * gst/gst.c: (init_post):
3667         * gst/gst_private.h:
3668         * gst/gstquark.c: (_priv_gst_quarks_initialize):
3669         * gst/gstquark.h:
3670         * gst/gstquery.c: (gst_query_new_position),
3671         (gst_query_set_position), (gst_query_parse_position),
3672         (gst_query_new_duration), (gst_query_set_duration),
3673         (gst_query_parse_duration), (gst_query_new_convert),
3674         (gst_query_set_convert), (gst_query_parse_convert),
3675         (gst_query_new_segment), (gst_query_set_segment),
3676         (gst_query_parse_segment), (gst_query_new_seeking),
3677         (gst_query_set_seeking), (gst_query_parse_seeking):
3678         Add internal helpers for pre-registering quarks from static strings
3679         and using the quark values directly instead of looking them up when
3680         creating and parsing queries. Can be used for event construction too.
3681         Closes #350432.
3682
3683 2006-08-16  Wim Taymans  <wim@fluendo.com>
3684
3685         * gst/gstbin.c:
3686         Fix bogus docs.
3687
3688 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
3689
3690         * gst/gstutils.c: (gst_util_set_value_from_string):
3691           Fix memleak (#351502).
3692
3693         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
3694           Add unit test for most of gst_util_set_value_from_string()
3695           (not that one would want to encourage use of this function).
3696
3697 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
3698
3699         * libs/gst/check/gstcheck.h:
3700           Use const gchar * variables in fail_unless_equals_string
3701           macro to avoid compiler warnings (and don't use tabs for
3702           indenting).
3703
3704 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
3705
3706         * tools/gst-launch.c: (print_tag):
3707           More space on the left for the tag names, to cater
3708           for the 'extended comment' tag (not touching the
3709           string for the first line since it's translated).
3710
3711 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
3712
3713         * libs/gst/check/gstcheck.h:
3714           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
3715           print something when they fail.
3716
3717 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
3718
3719         * docs/gst/gstreamer-sections.txt:
3720         * gst/gsttaglist.c: (_gst_tag_initialize):
3721         * gst/gsttaglist.h:
3722           API: add GST_TAG_EXTENDED_COMMENT (#350935).
3723           Also change merge function for GST_TAG_COMMENT to
3724           use_first.
3725
3726 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
3727
3728         * gst/gstinfo.c: (gst_debug_print_object):
3729           Make GST_PTR_FORMAT print messages as well.
3730
3731         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
3732         (GST_START_TEST), (gst_info_suite):
3733           More tests.
3734
3735 2006-08-14  Edward Hervey  <edward@fluendo.com>
3736
3737         * gst/gstelementfactory.c: (gst_element_register):
3738         If the GstElementClass doesn't have a GstElementDetails with all fields
3739         filled up correctly (longname, description AND author), then error out
3740         nicely instead of crashing.
3741
3742 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
3743
3744         * gst/gststructure.c:
3745           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
3746
3747         * gst/gstvalue.h:
3748           Expand on the difference between arrays and lists as we use them.
3749           
3750 2006-08-14  Wim Taymans  <wim@fluendo.com>
3751
3752         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
3753         If the parent state change function failed, don't assume we can safely
3754         stop the source, this will be done when the pads are deactivated.
3755
3756 2006-08-14  Wim Taymans  <wim@fluendo.com>
3757
3758         * gst/gstbuffer.c:
3759         * gst/gsttask.c: (gst_task_join):
3760         Small doc updates.
3761
3762         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
3763         (gst_pad_stop_task):
3764         When pad (de)activation failed for some reason, restore the old
3765         activation mode and set the pad to flushing instead of assuming the
3766         pad is deactivated.
3767         If the _task_join() failed, reinstall the task on the pad so that it can
3768         be stopped later and return an error.
3769
3770 2006-08-11  Andy Wingo  <wingo@pobox.com>
3771
3772         * configure.ac:
3773         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
3774         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
3775         is only for users of API that don't want to see deprecated
3776         functions in the headers; people that want to compile out
3777         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
3778         CFLAGS. Fixes the build of multifdsink, or will soon..
3779
3780 2006-08-11  Wim Taymans  <wim@fluendo.com>
3781
3782         * docs/gst/gstreamer-sections.txt:
3783         Add GstClockClass vmethod docs.
3784
3785         * gst/gstcaps.h:
3786         Mark #endif with comment for associated #if
3787
3788         * gst/gstclock.c: (gst_clock_id_wait):
3789         * gst/gstclock.h:
3790         Add vmethod wait_jitter to avoid an unneeded _get_time() for
3791         most clock implementations.
3792         Document vmethods.
3793         Flesh out docs about resolution methods.
3794         API: GstClockClass::wait_jitter
3795
3796         * gst/gstsystemclock.c: (gst_system_clock_class_init),
3797         (gst_system_clock_async_thread),
3798         (gst_system_clock_id_wait_jitter_unlocked),
3799         (gst_system_clock_id_wait_jitter):
3800         Use base class wait_jitter variant for improved performance
3801         due to less clock polling.
3802
3803 2006-08-11  Edward Hervey  <edward@fluendo.com>
3804
3805         * gst/gst.c: (gst_init_check), (init_post):
3806         Set gst as being initialized before scanning/updating the registry,
3807         since there might be my python plugin loader that calls gst_init() and
3808         we don't want to loop back in.
3809         Closes #350879
3810
3811 2006-08-11  Wim Taymans  <wim@fluendo.com>
3812
3813         * docs/design/part-qos.txt:
3814         Bring docs in line with the code. Mostly the sign of the jitter was
3815         wrong in the docs. Fixes #349943.
3816
3817         * gst/gstclock.c:
3818         Fix the docs for the jitter.
3819
3820         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
3821         (gst_event_parse_tag), (gst_event_new_buffer_size),
3822         (gst_event_parse_buffer_size), (gst_event_parse_qos),
3823         (gst_event_new_seek), (gst_event_parse_seek),
3824         (gst_event_new_navigation):
3825         Make sure the GstStructure has no parent when creating custom
3826         events.
3827         Add some more argument checking so that we avoid 0.0 rates.
3828         Flesh out the docs for the QoS event some more.
3829
3830 2006-08-11  Wim Taymans  <wim@fluendo.com>
3831
3832         * docs/gst/gstreamer-sections.txt:
3833         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
3834         (ensure_current_registry_forking), (ensure_current_registry),
3835         (parse_one_option), (parse_goption_arg), (gst_deinit),
3836         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
3837         * gst/gst.h:
3838         Doc updates.
3839         Added API and command line option to disable registry forking in
3840         addition to the environment variable.
3841         Constify some static arrays.
3842         Added some more debug.
3843         Don't deinit twice.
3844         API: gst_registry_fork_is_enabled()
3845         API: gst_registry_fork_set_enabled()
3846         API: --gst-disable-registry-fork command line option
3847         Fixes #348918.
3848
3849 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
3850
3851         * gst/gst.c: (gst_init):
3852           Fix typo in error message.
3853
3854 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
3855
3856         * libs/gst/controller/gstcontroller.h:
3857           fix ABI size-correction
3858
3859         * tests/check/libs/gdp.c: (gst_dp_suite):
3860           make tests that use deprecated API conditional
3861
3862 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
3863
3864         * docs/libs/gstreamer-libs-sections.txt:
3865         * libs/gst/controller/gstcontroller.c:
3866         (_gst_controller_get_property), (_gst_controller_set_property),
3867         (_gst_controller_init), (_gst_controller_class_init):
3868         * libs/gst/controller/gstcontroller.h:
3869         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
3870         (gst_object_set_control_rate):
3871           API: add gst_object_{s,g}et_control_rate(), add private data section,
3872           fix docs
3873
3874         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
3875         * libs/gst/dataprotocol/dataprotocol.h:
3876           add deprecation guards to make gtk-doc happy and allow disabling cruft
3877
3878 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
3879
3880         * tests/check/Makefile.am:
3881         * tests/check/gst/.cvsignore:
3882           Let's enable the new unit test as well.
3883
3884 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
3885
3886         * configure.ac:
3887         * docs/gst/gstreamer-sections.txt:
3888         * gst/gstconfig.h.in:
3889         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
3890         (_gst_info_printf_extension_ptr),
3891         (_gst_info_printf_extension_segment):
3892           API: add GST_SEGMENT_FORMAT, which is a printf extension we
3893           register that lets us easily dump GstSegments into debug
3894           logs (#350419).
3895
3896         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
3897         (info_segment_format_printf_extension), (gst_info_suite):
3898           Add simple unit test that logs a bunch of different segments (not
3899           valgrinded at the moment because of leaks in
3900           gst_debug_add_log_function).
3901
3902 2006-08-09  Edward Hervey  <edward@fluendo.com>
3903
3904         * libs/gst/base/gstbasetransform.c:
3905         (gst_base_transform_buffer_alloc):
3906         Even if we can't figure out the proper format to request downstream,
3907         call buffer_alloc() downstream with the input parameters without setting
3908         the caps on the srcpad. This will force negotiation in the chain
3909         function.
3910         Closes #350449
3911
3912 2006-08-08  Edward Hervey  <edward@fluendo.com>
3913
3914         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
3915         Unlinking from a pad without a target is now a perfectly valid case
3916         which should NOT raise an assertion.
3917         This case would happen if a linked ghostpad its target set to NULL after
3918         it was previously linked.
3919
3920 2006-08-08  Edward Hervey  <edward@fluendo.com>
3921
3922         * tests/check/libs/gdp.c:
3923         Also comment out the test (see below).
3924
3925 2006-08-08  Edward Hervey  <edward@fluendo.com>
3926
3927         * tests/check/libs/gdp.c: (gst_dp_suite):
3928         Use the architecture information from config.h and not gcc macros
3929         in order to properly disable a test that fails on PPC64.
3930
3931 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
3932
3933         * gst/gstelement.c: (gst_element_remove_pad):
3934           Don't crash printing the warning if the pad has no parent.
3935
3936 2006-08-02  Wim Taymans  <wim@fluendo.com>
3937
3938         * libs/gst/dataprotocol/dataprotocol.c:
3939         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
3940         (gst_dp_crc), (gst_dp_header_payload_length),
3941         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
3942         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
3943         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
3944         (gst_dp_event_from_packet), (gst_dp_validate_header),
3945         (gst_dp_validate_payload):
3946         Make debug category static
3947         Constify the crc table.
3948         Do some more arg checking in public functions.
3949         Fix some docs and do some small cleanups.
3950
3951         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
3952         Add some more checks to see if GDP deals with bogus input.
3953
3954 2006-07-31  Wim Taymans  <wim@fluendo.com>
3955
3956         * gst/gstvalue.c: (gst_value_compare_list):
3957         Fix GstValueList comparison code. Fixes #347293.
3958
3959         * tests/check/gst/gstvalue.c: (GST_START_TEST):
3960         Check to test GstValueList comparison.
3961
3962 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
3963
3964         * gst/gstelementfactory.c: (gst_element_factory_create):
3965         Remove unnecessary ref/unref pair
3966
3967         * gst/parse/grammar.y:
3968         Make sure to free the parse buffer on all code paths.
3969         Move a g_free up to the error handler where it's easier to see.
3970
3971         * tests/check/gst/gstevent.c: (test_event):
3972         Extending timeout for downstream travelling events to 10 seconds to
3973         hopefully avoid intermittent failure on the buildbots.
3974
3975         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
3976         Don't manually set the state of the src element - it will happen as a
3977         natural consequence of the pipeline changing state, and that way it
3978         will do it in the right order too.
3979
3980 2006-07-31  Wim Taymans  <wim@fluendo.com>
3981
3982         * libs/gst/base/gstbasetransform.c:
3983         (gst_base_transform_buffer_alloc):
3984         Use OBJECT_LOCK and refcounting to get the pad caps in the
3985         buffer_alloc function because the caps could change while we are
3986         busy with them. Fixes #349105
3987
3988 2006-07-31  Wim Taymans  <wim@fluendo.com>
3989
3990         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
3991         Protect _PAD_CAPS with OBJECT_LOCK.
3992
3993 2006-07-31  Wim Taymans  <wim@fluendo.com>
3994
3995         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
3996         (gst_pad_get_property), (gst_pad_activate_pull),
3997         (gst_pad_activate_push), (gst_pad_set_blocked_async),
3998         (gst_pad_set_activate_function),
3999         (gst_pad_set_activatepull_function),
4000         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
4001         (gst_pad_set_getrange_function),
4002         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
4003         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
4004         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
4005         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
4006         (gst_pad_set_acceptcaps_function),
4007         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
4008         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
4009         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
4010         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
4011         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
4012         (gst_pad_configure_sink), (gst_pad_configure_src),
4013         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
4014         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
4015         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
4016         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
4017         (gst_pad_send_event):
4018         Use _DEBUG_OBJECT when it makes sense.
4019         Protect GST_PAD_CAPS with the OBJECT_LOCK.
4020         Small cleanups and code reflows.
4021         Avoid caps refcounting in _accept_caps.
4022         Refactor alloc_buffer so that the code performed on the peer is in a
4023         separate function. Also if the pad does not implement a buffer alloc
4024         function, we should still check if the pad is flushing before falling
4025         back to the default allocator.
4026
4027 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
4028
4029         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
4030         Make all uses of identity and fakesink have silent=true to avoid
4031         serialising every passing data structure, which is breaking tests
4032         on FC4 for some unknown reason.
4033
4034 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
4035
4036         * gst/parse/Makefile.am:
4037         * gst/parse/grammar.y:
4038         * gst/parse/parse.l:
4039           Reverted previous patch as it required to bump the flex dependency to
4040           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
4041
4042 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
4043
4044         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
4045
4046         * gst/parse/Makefile.am:
4047         * gst/parse/grammar.y:
4048         * gst/parse/parse.l:
4049           push & pop the state of the lexer for reentrant use case
4050           Fixes #349180
4051
4052 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
4053
4054         * libs/gst/base/gstbasesrc.h:
4055           Note in the docs that the ::newsegment vfunc is not actually used by
4056           GstBaseSrc.
4057
4058 2006-07-28  Wim Taymans  <wim@fluendo.com>
4059
4060         * libs/gst/base/gstcollectpads.c:
4061         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
4062         (gst_collect_pads_clear), (gst_collect_pads_flush),
4063         (gst_collect_pads_event), (gst_collect_pads_chain):
4064         When flushing a pad, also clear the queued buffer so that we don't
4065         accidentally use it when we shouldn't.
4066         Fix leaks by inreffing incomming buffer.
4067         Flush out queued buffers in case of errors.
4068         Fixes #347452.
4069
4070 2006-07-28  Wim Taymans  <wim@fluendo.com>
4071
4072         * docs/random/phonon-gst:
4073         Random notes about a Phonon backend.
4074
4075 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
4076
4077         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
4078         Extra debug output
4079         * tests/check/libs/gdp.c: (gst_dp_suite):
4080         Take a whack at fixing the ppc compile using a different define to
4081         disable the broken test.
4082
4083         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
4084         Remove excess g_print()
4085
4086 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
4087
4088         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
4089         Oops, meant to uncomment this line too to dampen the noise a bit.
4090
4091 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
4092
4093         * gst/parse/grammar.y:
4094         * gst/parse/parse.l:
4095         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
4096         (GST_START_TEST), (parse_suite):
4097         Fix some of the leaks exposed by extending the parse-launch testsuite,
4098         and move the 3 I can't figure out into a separate test that won't run
4099         the pipelines unless the appropriate line is uncommented.
4100
4101 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
4102
4103         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
4104           Requesting 0 bytes before the end of the file should result in
4105           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
4106           unit test.
4107
4108 2006-07-27  Wim Taymans  <wim@fluendo.com>
4109
4110         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
4111         Fix useless assert, a uint is always positive.
4112
4113         * gst/gststructure.c: (gst_structure_nth_field_name),
4114         (gst_structure_foreach), (gst_structure_map_in_place):
4115         Check input arguments for public functions to avoid obvious crashes.
4116
4117         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
4118         * plugins/elements/gstfakesink.h:
4119         Do less useless typechecking.
4120
4121 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
4122
4123         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
4124           Do not use mmap() by default since there are a number of error
4125           conditions that we would like to handle in a non-fatal way that
4126           will result in a SIGBUS if we use mmap(). Examples: external
4127           devices (USB harddrive, portable music player) being unplugged
4128           while in use; file on mounted CD/DVD that can't be read because
4129           the medium is partly damaged. Fixes #348455 and #348475.
4130
4131 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
4132
4133         * gst/gstquery.h:
4134         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
4135         rates are a gdouble
4136
4137 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
4138
4139         * gst/gstregistry.c:
4140           Move big documentation comment into class section header, so that it
4141           appears in the API docs.
4142
4143 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
4144
4145         * docs/gst/gstreamer-sections.txt:
4146         Oops. Commit the docs additions too for new API.
4147         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
4148
4149 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
4150
4151         * gst/gststructure.c: (gst_structure_id_set),
4152         (gst_structure_id_set_valist):
4153         * gst/gststructure.h:
4154         Add API for setting values into structures without performing
4155         a quark lookup, if the appropriate quark is already known.
4156
4157         API: gst_structure_id_set
4158         API: gst_structure_id_set_valist
4159
4160         * gst/parse/grammar.y:
4161         * gst/parse/parse.l:
4162         Remove some dead code shown by the coverage information.
4163         Don't throw a critical g_warning when encountering a syntax error,
4164         just warn and let the normal error path handle it.
4165
4166         * plugins/elements/gstelements.c:
4167         Bump the rank of filesink up to PRIMARY so that it is preferred over
4168         gnomevfssink for file:// sink uri's
4169
4170         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
4171         (GST_START_TEST), (run_delayed_test),
4172         (gst_parse_test_element_base_init),
4173         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
4174         (gst_parse_test_element_change_state),
4175         (gst_register_parse_element), (parse_suite):
4176         Beef up the tests for parse syntax to check that more error cases
4177         fail as they are supposed to. Increases the test coverage a bit.
4178
4179 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
4180
4181         * docs/manual/basics-elements.xml:
4182           Fix gst_element_link() example.
4183
4184         * gst/gstutils.c:
4185           Mention in API docs that one should usually gst_bin_add()
4186           elements to a bin or pipeline before doing the linking.
4187           
4188 2006-07-26  Wim Taymans  <wim@fluendo.com>
4189
4190         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
4191         (gst_subbuffer_get_type), (gst_buffer_create_sub):
4192         Avoid function call for known types by keeping the buffer and
4193         subbuffer GType global.
4194
4195         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
4196         Random silly optimisations in read() path.
4197
4198 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
4199
4200         * tools/gst-launch.c: (main):
4201           If the top-level of the parse is a normal bin, it doesn't do the
4202           right logic to run as a top-level element, so place it inside a
4203           pipeline.
4204
4205 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
4206
4207         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
4208           Remove superfluous g_object_notify() calls, GObject does
4209           that for us automatically.
4210
4211 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
4212
4213         * gst/gstinfo.h:
4214           on Win32, use dllspec to export the debug category symbols
4215
4216 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
4217
4218         * gst/gsttaglist.c: (_gst_tag_initialize):
4219           Allow more than one GST_TAG_IMAGE per taglist.
4220
4221 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4222
4223         * gst/gstminiobject.c:
4224           update docs
4225         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
4226         (gst_fd_src_create):
4227           log recurring events at LOG level
4228           add more debug for when the fd gets set
4229
4230 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
4231
4232         * gst/gstparse.c: (gst_parse_launch):
4233           Also remove reentrance checks if flex is MT safe (#348179)
4234          Fix my empty ChangeLog entry below
4235
4236 2006-07-21  Andy Wingo  <wingo@pobox.com>
4237
4238         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
4239
4240         * libs/gst/check/Makefile.am
4241         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
4242         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
4243         * libs/gst/check/gstbufferstraw.h:
4244         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
4245         functions, thus proving I am still a GStreamer haxor. OK I wrote
4246         them a long time ago, but anyways.
4247
4248 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
4249
4250         * configure.ac:
4251         * gst/gstparse.c: (gst_parse_launch):
4252           Check for flex version and omit mutex if we have a MT save flex
4253           (fixes #348179)
4254
4255 2006-07-21  Wim Taymans  <wim@fluendo.com>
4256
4257         * gst/gstparse.c: (gst_parse_launch):
4258         Protect recursive calls to _parse with a recursive mutex
4259         and busy flag.
4260
4261 2006-07-21  Wim Taymans  <wim@fluendo.com>
4262
4263         * tests/check/gst/gstpad.c: (GST_START_TEST):
4264         Fix leak in test.
4265
4266 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
4267
4268         * gst/gstparse.c: (gst_parse_launch):
4269           Do not hang on recursive usage of gst_parse_launch()
4270
4271 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
4272
4273         * gst/gsttaglist.c:
4274           Add some more docs, comments and FIXME 0.11s here and there
4275           and also fix some typos.
4276
4277 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
4278
4279         * gst/gstsegment.h:
4280           Convert tabs to spaces for better readability. 
4281
4282 2006-07-20  Edward Hervey  <edward@fluendo.com>
4283
4284         * tests/check/libs/gdp.c: (gst_dp_suite):
4285         the test_buffer test fails at line 140 on ppc64 at the following
4286         check:
4287         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
4288                 GST_BUFFER_FLAG_IN_CAPS),
4289                 "GST_BUFFER_IN_CAPS flag should have been copied !");
4290         See bug #348114 for more details.
4291
4292 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
4293
4294         * docs/pwg/advanced-scheduling.xml:
4295         * gst/gstpad.c:
4296           Fix typos (#348000).
4297
4298 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
4299
4300         * docs/pwg/intro-basics.xml:
4301           Fix wrong links (#347927).
4302
4303 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
4304
4305         * gst/gstregistry.h:
4306         * gst/gstregistryxml.c: (load_feature),
4307         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
4308         * win32/common/config.h:
4309           make --disable-index work (#342564)
4310
4311 2006-07-18  Wim Taymans  <wim@fluendo.com>
4312
4313         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4314
4315         * gst/Makefile.am:
4316         * gst/gsttrace.h:
4317         The attached patch adds two missing defines to gsttrace.h when tracing
4318         is disabled.  It also corrects one existing define.
4319         Fixes #347756.
4320
4321 2006-07-17  Wim Taymans  <wim@fluendo.com>
4322
4323         * docs/gst/gstreamer-sections.txt:
4324         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
4325         * gst/gst.h:
4326         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
4327         Add two functions to check and change the SIGSEGV behaviour
4328         when loading plugins.
4329         Don't mess with the SIGSEGV handler when we were told not to.
4330         Fixes #347794.
4331         API: gst_segtrap_is_enabled
4332         API: gst_segtrap_set_enabled
4333
4334 2006-07-14  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 fix for regression in #347408 after release.
4339
4340 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
4341
4342         Patch by: Antoine Tremblay <hexa00 at gmail com>
4343
4344         * gst/gstutils.c: (gst_element_unlink):
4345           Free iterator when done (#347311).
4346
4347         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4348           And add a test case for this.
4349
4350 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
4351
4352         * configure.ac:
4353         Bump nano back to CVS
4354
4355 === release 0.10.9 ===
4356
4357 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
4358
4359         * configure.ac:
4360           releasing 0.10.9, "On the road again"
4361
4362 2006-07-13  Wim Taymans  <wim@fluendo.com>
4363
4364         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
4365         * tests/check/elements/filesrc.c: (GST_START_TEST):
4366         Revert pull-0 fix for release. Disable check. Fixes #347408.
4367
4368 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4369
4370         * libs/gst/dataprotocol/dataprotocol.c:
4371         (gst_dp_event_from_packet_1_0):
4372           Fixes #347337: failure to deserialize event packets with
4373           empty payload (only event type)
4374
4375 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4376
4377         * gst/Makefile.am:
4378           do not install a .c file in the header directory
4379
4380 2006-07-13  Edward Hervey  <edward@fluendo.com>
4381
4382         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
4383         GhostPad no longer implicitely use the padtemplates of the targets.
4384         Fixes #347384
4385
4386 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
4387
4388         * gst/gstvalue.c: (gst_value_compare_list),
4389         (gst_value_compare_array), (_gst_value_initialize):
4390         * tests/check/gst/gstvalue.c: (GST_START_TEST):
4391         Make GstValueArray comparison be order dependent as designed.
4392         Add checks for value lists and value array comparisons.
4393         Fixes #347221
4394
4395 2006-07-11  Edward Hervey  <edward@fluendo.com>
4396
4397         * gst/gstbin.c: (activate_pads),
4398         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
4399         (gst_bin_change_state_func):
4400         (de)activate src pads before calling state_change on the childs.
4401         This is to avoid the case where a src ghostpad is blocked (holding the
4402         stream lock), which would block the deactivation of the ghostpad's
4403         target pad.
4404         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
4405         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
4406         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
4407         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
4408         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
4409         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
4410         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
4411         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
4412         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
4413         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
4414         (gst_ghost_pad_class_init),
4415         (gst_ghost_pad_internal_do_activate_push),
4416         (gst_ghost_pad_internal_do_activate_pull),
4417         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
4418         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
4419         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
4420         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
4421         GhostPads now create their internal GstProxyPad at creation (and not
4422         when they're linked, as it was being done previously).
4423         The internal and target pads are linked straight away.
4424         The data will also travel through the other pad in order to make
4425         pad blocking and probes non-hackish (the probe/block now really happens
4426         on the GhostPad and not on the target).
4427         * gst/gstpad.c: (gst_pad_set_blocked_async),
4428         (gst_pad_link_prepare), (gst_pad_push_event):
4429         Remove previous ghostpad cruft.
4430         * gst/gstutils.c: (gst_pad_add_data_probe),
4431         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
4432         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
4433         (gst_pad_remove_buffer_probe):
4434         Remove previous ghost pad cruft.
4435         Added more detailed debug statements.
4436         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
4437         Fix the testsuite for refcounting changes.
4438         The comments about who has references were correct, but the refcount
4439         being checked wasn't the same (!?!).
4440
4441         Fixes #341029
4442
4443 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
4444
4445         * docs/gst/gstreamer-sections.txt:
4446         * gst/gstconfig.h.in:
4447         More docs for configuration options, add docs to gtk-doc.
4448
4449 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
4450
4451         * gst/Makefile.am:
4452         * gst/gstconfig.h.in:
4453         * win32/common/config.h:
4454         Fix build when disabling tracing (fixes #344016). Also start to document
4455         the defines that disable the sub-systems.
4456
4457 2006-07-10  Edward Hervey  <edward@fluendo.com>
4458
4459         * gst/gst.c: (ensure_current_registry_forking):
4460         let's make valgrind happy...
4461
4462 2006-07-09  Wim Taymans  <wim@fluendo.com>
4463
4464         * gst/gstelement.c: (activate_pads),
4465         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
4466         Better pad activation code: Reset the collect value too on resync.
4467         Add some comments.
4468
4469 2006-07-09  Wim Taymans  <wim@fluendo.com>
4470
4471         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
4472         (gst_pad_activate_push):
4473         Use some more macros where it makes sense.
4474         Allow pad mode switching instead of asserting. When a pad
4475         is activated in one mode and we activate it in another, 
4476         deactivate it first before activating it in a different mode.
4477         Fixes #329198.
4478
4479 2006-07-08  Andy Wingo  <wingo@pobox.com>
4480
4481         * tools/gst-launch.c (main): Handle err == NULL.
4482
4483         * gst/gst.c (init_post, ensure_current_registry)
4484         (ensure_current_registry_forking)
4485         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
4486         factoring out the registry scanning into separate functions. Don't
4487         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
4488         Better environment var name/interface suggestions accepted.
4489
4490 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
4491
4492         * gst/gstobject.c: (gst_object_set_name_default),
4493         (gst_object_set_name):
4494           Random micro-optimisation: don't use a hash table
4495           with strings as keys and the usual strdup/strcmp
4496           involved, but rather just use the GQuark of the
4497           type name as key, since it needs to be looked up
4498           anyway to get the type name string.
4499
4500         * tests/check/gst/gstobject.c: (GST_START_TEST):
4501           Fix various leaks.
4502
4503 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
4504
4505         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
4506         (gst_bin_iterate_all_by_interface):
4507           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
4508           GTypes are gulongs and thus the top 4 bytes might be cut
4509           off on some platforms when doing GPOINTER_TO_INT, leading
4510           to invalid GTypes and bad things happening (see RH bug #179654).
4511           Also add a check to make sure the type passed in is really
4512           an interface type.
4513
4514 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
4515
4516         * .cvsignore:
4517           Ignore more.
4518
4519 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
4520
4521         * Makefile.am:
4522         * configure.ac:
4523         * gst-element-check.m4:
4524         * gst-element-check.m4.in:
4525           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
4526           instead of the unversioned gst-inspect (#324176, #168659).
4527
4528 2006-07-06  Wim Taymans  <wim@fluendo.com>
4529
4530         * gst/gstmessage.h:
4531         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
4532         warnings.
4533
4534 2006-07-06  Wim Taymans  <wim@fluendo.com>
4535
4536         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4537         (gst_base_src_wait), (gst_base_src_update_length),
4538         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
4539         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
4540         (gst_base_src_loop), (gst_base_src_start),
4541         (gst_base_src_activate_pull):
4542         Update docs.
4543         blocksize == 0 now means the default blocksize when working in push
4544         based mode.
4545         Remove some pointless asserts in _wait function.
4546         Fix offset/length calculations and EOS handling. We can now pull 0
4547         bytes as well, which is allowed.
4548         use _check_get_range() to decide if we can operate in _pull based
4549         mode.
4550         Fix refcounting leak when check_get_range function was not 
4551         implemented.
4552         API GstBaseSrc::blocksize range can be 0 too now (default)
4553
4554         * tests/check/elements/filesrc.c: (GST_START_TEST),
4555         (filesrc_suite):
4556         Added check to test _get_range() behaviour.
4557
4558 2006-07-06  Wim Taymans  <wim@fluendo.com>
4559
4560         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
4561         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
4562         (gst_pad_pull_range):
4563         * gst/gstpad.h:
4564         Lots of comments and docs added to the pad functions.
4565         Flesh out the expected behaviour of the get_range() functions.
4566
4567 2006-07-06  Wim Taymans  <wim@fluendo.com>
4568
4569         * gst/gstbus.h:
4570         * gst/gstclock.h:
4571         * gst/gstevent.h:
4572         * gst/gstiterator.h:
4573         * gst/gstpad.h:
4574         * gst/gstplugin.h:
4575         * gst/gsttask.h:
4576         Remove comma at end of enumerator list. 
4577
4578 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
4579
4580         * win32/common/libgstbase.def:
4581         * win32/common/libgstdataprotocol.def:
4582         * win32/common/libsgtreamer.def:
4583         Add new exported functions.
4584
4585 2006-07-05  Wim Taymans  <wim@fluendo.com>
4586
4587         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
4588         Add some more docs here and there.
4589
4590 2006-07-05  Wim Taymans  <wim@fluendo.com>
4591
4592         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
4593         (gst_base_sink_loop), (gst_base_sink_get_position):
4594         When operating in pull mode update the offset so that we
4595         read sequentially.
4596
4597 2006-07-05  Wim Taymans  <wim@fluendo.com>
4598
4599         * gst/gstregistryxml.c: (read_string):
4600         Avoid strdup. (will happen in libxml, but hey!)
4601
4602         * gst/gsturi.c:
4603         Add some more docs.
4604
4605 2006-07-05  Wim Taymans  <wim@fluendo.com>
4606
4607         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
4608         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
4609         (gst_buffer_suite):
4610         No point in checking if the size of the subbuffer > 0, the
4611         code handles it correclty as demonstrated by unit test.
4612         Also add a unit test for the zero sized _new_and_alloc and
4613         _copy. Fixes #346663.
4614
4615 2006-07-05  Wim Taymans  <wim@fluendo.com>
4616
4617         * libs/gst/base/gstbasetransform.c:
4618         (gst_base_transform_prepare_output_buffer),
4619         (gst_base_transform_buffer_alloc),
4620         (gst_base_transform_handle_buffer):
4621         Make sure the buffer we pass to transform_ip has a refcount of
4622         1 and thus is writable. Fixes #343196
4623
4624 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
4625
4626         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
4627         (gst_file_src_init), (gst_file_src_set_property),
4628         (gst_file_src_get_property), (gst_file_src_map_region):
4629         * plugins/elements/gstfilesrc.h:
4630         Add "sequential" property, off by default, to use madvise and hint
4631         to the kernel that sequential access is desired.
4632         Touch all retrieved pages by default to ensure they are pulled
4633         into memory. (Closes #345720)
4634
4635 2006-07-03  Wim Taymans  <wim@fluendo.com>
4636
4637         * docs/design/part-block.txt:
4638         * docs/design/part-dynamic.txt:
4639         Small docs updates.
4640
4641 2006-07-03  Wim Taymans  <wim@fluendo.com>
4642
4643         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
4644         (gst_caps_unref), (gst_static_caps_get),
4645         (gst_caps_append_structure):
4646         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
4647         Use GSlice when the glib we build against is >= 2.10
4648
4649 2006-07-03  Wim Taymans  <wim@fluendo.com>
4650
4651         * gst/gstelement.c: (gst_element_pads_activate):
4652         Small cleanup in pad activation code.
4653
4654 2006-07-03  Wim Taymans  <wim@fluendo.com>
4655
4656         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4657
4658         * gst/gst-i18n-app.h:
4659         * gst/gst-i18n-lib.h:
4660         * tools/gst-inspect.c: (print_signal_info):
4661         The attached patch will make the inclusion of gettext.h unconditional in
4662         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
4663         libintl.h in tools/gst-inspect.c.
4664         This allows use of --disable-nls again and fixes #344642.
4665
4666 2006-07-03  Edward Hervey  <edward@fluendo.com>
4667
4668         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
4669         Implement pad blocking on events according to part-block.txt.
4670         More comments on behaviour.
4671         * tests/check/gst/gstevent.c: (test_event):
4672         Send event to peer pad of blocked pad (else it will block).
4673
4674 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4675
4676         * libs/gst/check/gstcheck.c: (gst_check_message_error),
4677         (gst_check_run_suite):
4678           if we get the wrong message, give us the types as string
4679         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
4680           Fix a translatable
4681         * tests/check/elements/filesrc.c: (GST_START_TEST):
4682           add a test for trying to open a non-existing file
4683
4684 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4685
4686         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
4687           add a test for adding self
4688
4689 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4690
4691         * libs/gst/check/gstcheck.h:
4692           add some assert_ as alias for fail_unless_*
4693         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
4694           increase test coverage
4695
4696 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4697
4698         * Makefile.am:
4699           include lcov.mak for lcov coverage generation
4700         * tools/Makefile.am:
4701           add to CLEANFILES
4702
4703 2006-07-02  Edward Hervey  <edward@fluendo.com>
4704
4705         * tests/check/elements/.cvsignore:
4706         moaping
4707
4708 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4709
4710         * configure.ac:
4711           don't set CFLAGS and friends for gcov, done from GST_GCOV now
4712         * tests/check/Makefile.am:
4713           clean up gcov files
4714
4715 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4716
4717         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
4718           remove gst_caps_simplify; it was not declared and not used
4719           and deprecated in 0.8
4720
4721 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4722
4723         * docs/faq/gst-uninstalled:
4724           don't put empty paths on PYTHONPATH
4725         * docs/gst/gstreamer-sections.txt:
4726           remove some symbols that are not there
4727
4728 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4729
4730         * gst/gstcaps.c: (gst_caps_compare_structures):
4731           whitespace fixes
4732         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
4733         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
4734           add more tests
4735
4736 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4737
4738         * libs/gst/dataprotocol/Makefile.am:
4739           build dataprotocol test by linking to the lib, instead of
4740           compiling the source, so we get coverage
4741         * tests/check/Makefile.am:
4742         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
4743         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
4744           add a test for filesrc
4745
4746 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4747
4748         * tests/check/gst/gststructure.c: (GST_START_TEST),
4749         (gst_structure_suite):
4750           Push coverage from 59.04% to 70.00%
4751
4752 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4753
4754         * tests/check/Makefile.am:
4755           gst-inspect every element; this makes sure that we also get
4756           coverage on element's get/set functions
4757
4758 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4759
4760         * configure.ac:
4761           set CFLAGS and friends to -O0 if gcov is being used
4762           add GCOV LIBS
4763         * gst/Makefile.am:
4764         * libs/gst/base/Makefile.am:
4765         * libs/gst/check/Makefile.am:
4766         * libs/gst/controller/Makefile.am:
4767         * libs/gst/dataprotocol/Makefile.am:
4768         * libs/gst/net/Makefile.am:
4769         * plugins/elements/Makefile.am:
4770         * plugins/indexers/Makefile.am:
4771           add makefile rules to generate gcov data and clean up
4772         * tests/check/Makefile.am:
4773           add a coverage target that generates an html overview
4774           of coverage data
4775
4776 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4777
4778         * tests/check/elements/fakesink.c:
4779         * tests/check/elements/fakesrc.c:
4780         * tests/check/elements/fdsrc.c:
4781         * tests/check/elements/identity.c:
4782         * tests/check/generic/sinks.c: (gst_sinks_suite):
4783         * tests/check/generic/states.c:
4784         * tests/check/gst/gst.c:
4785         * tests/check/gst/gstabi.c:
4786         * tests/check/gst/gstbin.c:
4787         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
4788         * tests/check/gst/gstbus.c: (gst_bus_suite):
4789         * tests/check/gst/gstcaps.c: (GST_START_TEST):
4790         * tests/check/gst/gstelement.c:
4791         * tests/check/gst/gstevent.c: (gst_event_suite):
4792         * tests/check/gst/gstghostpad.c:
4793         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
4794         * tests/check/gst/gstmessage.c: (gst_message_suite):
4795         * tests/check/gst/gstminiobject.c:
4796         * tests/check/gst/gstobject.c:
4797         * tests/check/gst/gstpad.c:
4798         * tests/check/gst/gstpipeline.c:
4799         * tests/check/gst/gstplugin.c:
4800         * tests/check/gst/gstquery.c: (gst_query_suite):
4801         * tests/check/gst/gstsegment.c: (gst_segment_suite):
4802         * tests/check/gst/gststructure.c:
4803         * tests/check/gst/gstsystemclock.c:
4804         * tests/check/gst/gsttag.c:
4805         * tests/check/gst/gsttask.c: (gst_task_suite):
4806         * tests/check/gst/gstutils.c:
4807         * tests/check/gst/gstvalue.c:
4808         * tests/check/libs/adapter.c:
4809         * tests/check/libs/basesrc.c:
4810         * tests/check/libs/collectpads.c:
4811         * tests/check/libs/controller.c:
4812         * tests/check/libs/gdp.c: (gst_dp_suite):
4813         * tests/check/libs/gstnetclientclock.c:
4814         * tests/check/libs/gstnettimeprovider.c:
4815         * tests/check/libs/libsabi.c: (libsabi_suite):
4816         * tests/check/libs/typefindhelper.c:
4817         * tests/check/pipelines/cleanup.c:
4818         * tests/check/pipelines/parse-launch.c:
4819         * tests/check/pipelines/simple-launch-lines.c:
4820         * tests/check/pipelines/stress.c: (stress_suite):
4821           use the new macro
4822
4823 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4824
4825         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
4826         * libs/gst/check/gstcheck.h:
4827           create a macro and function so that the simple unit test
4828           case can be just one macro to create main()
4829
4830 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
4831
4832         * gst/gstbin.c: (gst_bin_restore_thyself):
4833         * gst/gstxml.c: (gst_xml_make_element):
4834           Fix deserialisation from XML. Set parent manually
4835           instead of using gst_bin_add(), since gst_bin_add()
4836           will unlink all pads of the element being added.
4837           Fixes #341667.
4838
4839 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
4840
4841         Patch by: Peter Kjellerstedt <pkj at axis com>
4842
4843         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
4844           Fix missing g_strdup() and double free when using the
4845           --gst-plugin-load command line option (#346097).
4846
4847 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
4848
4849         * gst/gstinfo.c:
4850           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
4851
4852         * libs/gst/net/gstnetclientclock.c:
4853         * libs/gst/net/gstnettimeprovider.c:
4854           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
4855
4856 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
4857
4858         * docs/manual/advanced-dataaccess.xml:
4859           Fix buffer probe example compilation in
4860           ADM (#345708).
4861         
4862 2006-06-22  Edward Hervey  <edward@fluendo.com>
4863
4864         * gst/gstelement.c: (gst_element_pads_activate):
4865         We need to deactivate src pads first and then sink pads.
4866         The reason is the src pads might be blocking while holding the streaming
4867         lock, so we need to deactivate them first so that deactivating the sink
4868         pads doesn't block (since it will require the streaming lock).
4869
4870 2006-06-22  Wim Taymans  <wim@fluendo.com>
4871
4872         * libs/gst/base/gstbasetransform.c:
4873         (gst_base_transform_buffer_alloc):
4874         Forgot to remove two unneeded unrefs.
4875         Simplify a check _is_equal allready checks the obvious case.
4876
4877 2006-06-22  Wim Taymans  <wim@fluendo.com>
4878
4879         * docs/design/part-block.txt:
4880         Some docs about what pad_block should do.
4881
4882 2006-06-22  Wim Taymans  <wim@fluendo.com>
4883
4884         * gst/gstcaps.c: (gst_caps_replace):
4885         Fix crasher when passed NULL. Doc clarification.
4886         Optimize for the trivial case.
4887
4888         * gst/gstpipeline.c: (gst_pipeline_change_state):
4889         Small cleanups.
4890
4891         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
4892         Small documentation cleanup.
4893
4894         * libs/gst/base/gstbasetransform.c:
4895         (gst_base_transform_buffer_alloc):
4896         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
4897         is what we need and it avoids a whole lot of redundant 
4898         refcount operations.
4899
4900 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
4901
4902         Patch by: Philip Jägenstedt  <philip at lysator liu se>
4903
4904         * docs/manual/advanced-dataaccess.xml:
4905           Fix 'Embedding static elements' section to use
4906           GST_PLUGIN_DEFINE_STATIC (#345607).
4907
4908 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
4909
4910         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
4911           Attempt to 'fix' spuriously failing test case: it seems like the
4912           timeout of half a second is simply too small when the system is under
4913           load otherwise, and the timeout doesn't really seem to serve any
4914           particular purpose here. Give the pipeline a few seconds to preroll
4915           first, and then give it another half a second to go from PAUSED to
4916           PLAYING and marshal the message into the main thread.
4917
4918 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
4919
4920         * tools/gst-feedback-m.m:
4921           Don't only use unversioned tools, try versioned tools as well
4922           (#345086).
4923
4924 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
4925
4926         * gst/gstbus.c: (gst_bus_class_init):
4927           Fix some typos, make docs more explicit.
4928
4929 2006-06-20  Wim Taymans  <wim@fluendo.com>
4930
4931         * tests/check/gst/gstghostpad.c: (block_callback),
4932         (GST_START_TEST), (gst_ghost_pad_suite):
4933         Added some more ghostpad tests, mainly blocking
4934         and probes.
4935
4936 2006-06-16  Wim Taymans  <wim@fluendo.com>
4937
4938         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
4939         (gst_file_sink_close_file), (gst_file_sink_do_seek),
4940         (gst_file_sink_event), (gst_file_sink_render):
4941         * plugins/elements/gstfilesink.h:
4942         Check if we can seek in the file instead of assuming
4943         we always can. Post an error when we are asked to seek in a
4944         non-seekable file (like a fifo). Fixes #343312.
4945         Some cleanups.
4946
4947 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
4948
4949         * tools/gst-launch.1.in:
4950           Un-garble (fourcc) bit in filtered caps section.
4951
4952 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
4953
4954         * docs/manual/advanced-autoplugging.xml:
4955         * docs/manual/basics-helloworld.xml:
4956         * docs/manual/highlevel-components.xml:
4957           Don't leak bus reference in sample code.
4958
4959 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
4960
4961         * autogen.sh:
4962           Add default for new --enable-plugin-docs switch.
4963
4964         * configure.ac:
4965           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
4966           Fixes #344039.
4967
4968         * docs/Makefile.am:
4969           Use new ENABLE_PLUGIN_DOCS conditional.
4970
4971 2006-06-14  Wim Taymans  <wim@fluendo.com>
4972
4973         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
4974         Make it clear with a FIXME and a real define what the #if 0
4975         previously disabled.
4976
4977 2006-06-14  Wim Taymans  <wim@fluendo.com>
4978
4979         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
4980         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
4981         * libs/gst/base/gstbasetransform.c:
4982         (gst_base_transform_sink_eventfunc):
4983         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
4984         Don't randomly and silently reset a segment when the format 
4985         changes as this is a bug somewhere upstream. Fixes #330379.
4986
4987 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
4988
4989         Patch by: Wouter Paesen  <wouter at kangaroot net>
4990
4991         * libs/gst/controller/gstcontroller.c:
4992         (gst_controlled_property_new):
4993           Fix controlling of float properties (#344849).
4994
4995         * tests/check/libs/controller.c:
4996         (gst_test_mono_source_get_property),
4997         (gst_test_mono_source_set_property),
4998         (gst_test_mono_source_class_init), (GST_START_TEST):
4999           While we're at it, add some float stuff to unit test.
5000
5001 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5002
5003         * docs/README:
5004         * docs/images/gdp-header.svg:
5005           add a gdp image
5006         * docs/libs/Makefile.am:
5007         * docs/libs/gdp-header.png:
5008         * libs/gst/dataprotocol/dataprotocol.c:
5009           add it to the API docs
5010         * docs/manual/intro-motivation.xml:
5011           fix typo
5012
5013 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
5014
5015         * gst/gst.c: (scan_and_update_registry), (init_post):
5016           If the fork()'ed child process can't write the updated registry cache
5017           file to disk for some reason, make it exit with a failure exit code,
5018           so that the parent can then re-scan the plugins itself and update the
5019           registry structures in memory and work with that (rather than failing
5020           when creating elements because seemingly no plugins are available).
5021           Refactor registry scanning code into separate function for this and
5022           also separate fork() and non-fork() code paths. Fixes #344748.
5023
5024 2006-06-13  Wim Taymans  <wim@fluendo.com>
5025
5026         * docs/manual/advanced-dataaccess.xml:
5027         Fix wrong PluginDesc. Fixes #344755.
5028
5029 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
5030
5031         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
5032           Fix silly bug that prevented us from creating
5033           ~/.gstreamer-0.10 and writing the registry in one
5034           go (the first call to g_mkstemp() would overwrite the
5035           placeholder in the template string, so the second call
5036           to g_mkstemp() after creating the missing directory
5037           would then error out with 'invalid argument').
5038
5039 2006-06-13  Edward Hervey  <edward@fluendo.com>
5040
5041         * gst/gst.c: (init_post):
5042         Free string.
5043
5044 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5045
5046         * gst/glib-compat-private.h:
5047         * gst/glib-compat.c:
5048         * gst/glib-compat.h:
5049         * gst/gstvalue.c: (gst_value_serialize_flags):
5050           remove GLib 2.6 compatibility code
5051
5052 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
5053
5054         * gst/parse/Makefile.am:
5055           Fix build with 'make -j N' even more (#340016).
5056
5057 2006-06-12  Wim Taymans  <wim@fluendo.com>
5058
5059         * docs/gst/gstreamer-sections.txt:
5060         Fix docs.
5061
5062 2006-06-12  Wim Taymans  <wim@fluendo.com>
5063
5064         * gst/gstsegment.c: (gst_segment_set_duration),
5065         (gst_segment_set_last_stop), (gst_segment_set_seek),
5066         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
5067         (gst_segment_to_running_time), (gst_segment_clip):
5068         Use G_UNLIKELY to help the compiler a bit.
5069
5070 2006-06-12  Wim Taymans  <wim@fluendo.com>
5071
5072         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
5073
5074         * gst/gstevent.c: (gst_event_get_type):
5075         * gst/gstmessage.c:
5076         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
5077         (gst_pad_push):
5078         constify quark registration strings. Fixes #344115
5079         Avoid unneeded type checking is _pad_push() by internally
5080         calling gst_pad_chain_unchecked().
5081
5082 2006-06-12  Wim Taymans  <wim@fluendo.com>
5083
5084         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
5085         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
5086         (gst_subbuffer_finalize), (gst_buffer_create_sub),
5087         (gst_buffer_is_span_fast), (gst_buffer_span):
5088         Init _type for consistency.
5089         Use _FLAGS macro to avoid type check.
5090         Avoid unneeded type checks in subbufer code.
5091
5092 2006-06-12  Wim Taymans  <wim@fluendo.com>
5093
5094         * gst/gst.c: (gst_debug_help):
5095         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
5096         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
5097         (gst_plugin_feature_list_free):
5098         * gst/gstregistry.c: (gst_registry_add_plugin),
5099         (gst_registry_add_feature), (gst_registry_plugin_filter),
5100         (gst_registry_feature_filter), (gst_registry_find_plugin),
5101         (gst_registry_find_feature), (gst_registry_get_plugin_list),
5102         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
5103         * gst/gstregistryxml.c: (load_feature),
5104         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
5105         * gst/gstminiobject.c: (gst_mini_object_unref),
5106         (gst_mini_object_replace), (gst_value_mini_object_free),
5107         (gst_value_mini_object_copy):
5108         Use _CAST macros to avoid unneeded type checking.
5109         Added some more G_UNLIKELY.
5110
5111 2006-06-12  Wim Taymans  <wim@fluendo.com>
5112
5113         * gst/gstbuffer.h:
5114         Avoid unneeded type checking.
5115         API: GST_BUFFER_IS_DISCONT
5116
5117         * gst/gstminiobject.h:
5118         Avoid type check in flag accessor.
5119
5120         * gst/gstelementfactory.h:
5121         * gst/gstplugin.h:
5122         * gst/gstpluginfeature.h:
5123         Add _CAST macros.
5124         API: GST_ELEMENT_FACTORY_CAST
5125         API: GST_PLUGIN_CAST
5126         API: GST_PLUGIN_FEATURE_CAST
5127
5128 2006-06-12  Wim Taymans  <wim@fluendo.com>
5129
5130         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
5131         (gst_object_unref):
5132         Add G_UNLIKELY in type registration.
5133         Avoid type check in _ref/_unref since that is also
5134         done in glib.
5135
5136 2006-06-12  Wim Taymans  <wim@fluendo.com>
5137
5138         * gst/gsterror.c: (gst_g_error_get_type):
5139         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
5140         (gst_static_pad_template_get_type):
5141         * gst/gsttaglist.c: (gst_tag_list_get_type):
5142         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
5143         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
5144         * gst/gsturi.c: (gst_uri_handler_get_type):
5145         * gst/gstvalue.c: (gst_date_get_type):
5146         * gst/gstxml.c: (gst_xml_get_type):
5147         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
5148         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
5149         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
5150         Add G_UNLIKELY in type registration.
5151
5152 2006-06-12  Wim Taymans  <wim@fluendo.com>
5153
5154         * tools/gst-inspect.c: (print_signal_info):
5155         Properly print enum values.
5156
5157 2006-06-12  Wim Taymans  <wim@fluendo.com>
5158
5159         * gst/gstinfo.c: (gst_debug_set_active),
5160         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
5161         * gst/gstinfo.h:
5162         Add some G_[UN]LIKELY.
5163         Maintain __gst_debug_min to avoid formatting the arguments of
5164         debug messages that will be dropped anyway to avoid a lot of 
5165         overhead from the debugging system.
5166
5167 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
5168
5169         * po/POTFILES.in:
5170         * po/POTFILES.skip:
5171           add missing files containing translatable strings, tell intltool about
5172           one exception
5173
5174 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
5175
5176         * tests/check/libs/.cvsignore:
5177         add test-binary to ignore list
5178
5179 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
5180
5181         * docs/libs/gstreamer-libs-docs.sgml:
5182         reorder (put dp into a chapter) and indent
5183
5184 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5185
5186         * configure.ac:
5187           back to HEAD
5188
5189 === release 0.10.8 ===
5190
5191 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
5192
5193         * configure.ac:
5194           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
5195
5196 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5197
5198         * gst/gst.c: (init_post):
5199           move pid declaration to declaration block
5200
5201 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5202
5203         * gst/gst.c: (init_post):
5204           use _exit() instead of exit() in our forked child; this ensures
5205           that none of the registered exit handlers from whatever is using
5206           GStreamer get executed.  This fixes gnome-mixer-applet failing
5207           to load, because ORBit would shut down.
5208           Spotted by: Edward Hervey  <edward@fluendo.com>
5209           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
5210           Fixes #344474
5211
5212 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5213
5214         * configure.ac:
5215           back to TRUNK
5216
5217 === release 0.10.7 ===
5218
5219 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
5220
5221         * configure.ac:
5222           releasing 0.10.7, "Soepeke, ik zie ou"
5223
5224 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5225
5226         * configure.ac:
5227         * po/af.po:
5228         * po/az.po:
5229         * po/bg.po:
5230         * po/ca.po:
5231         * po/cs.po:
5232         * po/de.po:
5233         * po/en_GB.po:
5234         * po/fr.po:
5235         * po/it.po:
5236         * po/nb.po:
5237         * po/nl.po:
5238         * po/ru.po:
5239         * po/sq.po:
5240         * po/sr.po:
5241         * po/sv.po:
5242         * po/tr.po:
5243         * po/uk.po:
5244         * po/vi.po:
5245         * po/zh_CN.po:
5246         * po/zh_TW.po:
5247         * win32/common/config.h:
5248           0.10.6.2 prerelease
5249
5250 2006-06-07  Wim Taymans  <wim@fluendo.com>
5251
5252         * gst/gstindex.c: (gst_index_gtype_resolver):
5253         * tools/gst-xmlinspect.c: (print_plugin_info):
5254         Fix leak spotted by coverity checker. Fixes #343827
5255         Fix another other leak found by paolo borelli.
5256
5257 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5258
5259         * libs/gst/dataprotocol/dataprotocol.c:
5260         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
5261         (gst_dp_version_get_type), (gst_dp_init),
5262         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
5263         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
5264         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
5265         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
5266         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
5267         (gst_dp_packetizer_free):
5268         * libs/gst/dataprotocol/dataprotocol.h:
5269           API: add a GstDPPacketizer object, and create/free functions
5270           API: add GstDPVersion enum
5271           Add 1.0 event function that uses the string serialization
5272           Serialize more useful buffer flags
5273           Fixes #343988
5274
5275 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5276
5277         * tests/check/Makefile.am:
5278         * tests/check/gst/gstabi.c:
5279         * tests/check/gst/struct_ppc64.h:
5280         * tests/check/libs/libsabi.c:
5281         * tests/check/libs/struct_ppc64.h:
5282           add ppc64 structure sizes
5283
5284 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5285
5286         * tests/check/Makefile.am:
5287         * tests/check/gst/gstabi.c:
5288         * tests/check/gst/struct_x86_64.h:
5289         * tests/check/libs/libsabi.c:
5290         * tests/check/libs/struct_x86_64.h:
5291           generate and add structure size lists for x86_64
5292
5293 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5294
5295         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
5296         * libs/gst/check/gstcheck.h:
5297           factor out the method from tests that checks size of structures,
5298           and add code to generate the header containing these sizes
5299         * tests/check/gst/gstabi.c: (GST_START_TEST):
5300         * tests/check/gst/struct_i386.h:
5301         * tests/check/libs/libsabi.c: (GST_START_TEST):
5302         * tests/check/libs/struct_i386.h:
5303           use it
5304
5305 2006-06-06  Michael Smith  <msmith@fluendo.com>
5306
5307         * gst/gstsegment.h:
5308           Don't use c++-style comments, fixes #343929
5309
5310 2006-06-05  Edward Hervey  <edward@fluendo.com>
5311
5312         * gst/gst.c:
5313         plugin_paths is not used if we build without registry support.
5314
5315         * gst/gstsegment.c: (gst_segment_copy): 
5316         _copy() was always returning NULL...
5317
5318 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5319
5320         * libs/gst/dataprotocol/dataprotocol.c:
5321         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5322         (gst_dp_packet_from_event):
5323           factor out CRC code
5324
5325 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5326
5327         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
5328           make sure we unset caps
5329
5330 2006-06-02  Michael Smith  <msmith@fluendo.com>
5331
5332         * libs/gst/check/gstcheck.c: (gst_check_init),
5333         (gst_check_chain_func):
5334         * libs/gst/check/gstcheck.h:
5335           Add a cond/mutex to the check support lib, signal this whenever we
5336           add to the buffers list. This will allow tests to not busy-wait on
5337           the buffer-list.
5338
5339 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5340
5341         * libs/gst/dataprotocol/dataprotocol.c:
5342         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5343         (gst_dp_packet_from_event):
5344           factor out some common header init code
5345
5346 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5347
5348         * docs/libs/gstreamer-libs-sections.txt:
5349         * docs/libs/tmpl/gstdataprotocol.sgml:
5350         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
5351         * libs/gst/dataprotocol/dataprotocol.h:
5352           API: make gst_dp_crc() public
5353
5354 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
5355
5356         * plugins/indexers/gstindexers.c: (plugin_init):
5357         conditionally register fileindexer (fixes #343598)
5358
5359 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
5360
5361         * gst/gsttagsetter.h:
5362         Can't cast ifaces to a class
5363
5364         * libs/gst/net/gstnetclientclock.h:
5365         * libs/gst/net/gstnettimeprovider.h:
5366         * plugins/elements/gstfakesink.h:
5367         * plugins/elements/gstfakesrc.h:
5368         * plugins/elements/gstfdsink.h:
5369         * plugins/elements/gstfdsrc.h:
5370         * plugins/elements/gstfilesink.h:
5371         * plugins/elements/gstfilesrc.h:
5372         * plugins/elements/gstidentity.h:
5373         * plugins/elements/gstqueue.h:
5374         * plugins/elements/gsttee.h:
5375         * plugins/indexers/gstfileindex.c:
5376         * plugins/indexers/gstmemindex.c:
5377         * tests/old/examples/plugins/example.h:
5378         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
5379
5380 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5381
5382         * libs/gst/dataprotocol/dataprotocol.c:
5383         (gst_dp_header_from_buffer):
5384           make sure we zero the whole ABI-compatible area
5385
5386 2006-06-01  Wim Taymans  <wim@fluendo.com>
5387
5388         Patch by: Alessandro Decina <alessandro at nnva dot org>
5389
5390         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
5391         Make sure the EOS flag is cleared from pads after a flush
5392         or stop. Fixes #343538.
5393
5394         * tests/check/libs/collectpads.c: (GST_START_TEST),
5395         (gst_collect_pads_suite):
5396         Added test for collectpads reusage after EOS.
5397
5398 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
5399
5400         * gst/gst.c:
5401          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
5402         * win32/common/libgstbase.def:
5403          export gst_collect_pads_set_flushing
5404         * win32/common/libgstreamer.def:
5405          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
5406          gst_value_fraction_multiply
5407         * win32/vs6/gst_inspect.dsp:
5408          add a link to intl.lib
5409
5410 2006-05-30  Wim Taymans  <wim@fluendo.com>
5411
5412         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
5413         (gst_collect_pads_chain):
5414         Handle the case where a pad is removed from the collection
5415         that could cause the other pads to become collectable.
5416
5417 2006-05-30  Wim Taymans  <wim@fluendo.com>
5418
5419         * gst/gstelement.c:
5420         Clarify the use of _release_request_pad() and
5421         _get_request_pad() a bit better.
5422
5423         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
5424         (gst_adapter_take_buffer):
5425         Fix some doc and comment typos.
5426
5427 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5428
5429         * docs/gst/gstreamer-sections.txt:
5430         * docs/libs/gstreamer-libs-sections.txt:
5431           add declared symbols
5432
5433 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
5434
5435         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
5436         Add debug that can be enabled using a #define at the top of the file,
5437         for dumping stats about how late/early we were when waking up from
5438         waiting on the clock.
5439
5440 2006-05-30  Wim Taymans  <wim@fluendo.com>
5441
5442         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
5443         When rebuilding the pad list, don't leak the previous list.
5444
5445 2006-05-30  Wim Taymans  <wim@fluendo.com>
5446
5447         Patch by: Lutz Mueller <lutz at topfrose dot de>
5448
5449         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5450         (gst_base_src_get_query_types), (gst_base_src_update_length):
5451         Publish supported query types.
5452         Update last_stop field in get_range mode so the position
5453         query works. Fixes #342321.
5454
5455 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
5456
5457         * docs/gst/gstreamer-sections.txt:
5458         * gst/gsttaglist.c: (_gst_tag_initialize):
5459         * gst/gsttaglist.h:
5460           API: add GST_TAG_PREVIEW_IMAGE (#343341).
5461
5462 2006-05-30  Wim Taymans  <wim@fluendo.com>
5463
5464         Patch by: Alessandro Decina <alessandro at nnva dot org>
5465
5466         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
5467         Unlock mutex when removing an unknown pad.
5468         Fixes #343334.
5469
5470         * tests/check/Makefile.am:
5471         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
5472         (push_event), (setup), (teardown), (GST_START_TEST),
5473         (gst_collect_pads_suite), (main):
5474         Added collecpads check, disabled for now as check crashes for
5475         some reason.
5476
5477 2006-05-29  Wim Taymans  <wim@fluendo.com>
5478
5479         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
5480         Don't leak pads lists.
5481
5482 2006-05-29  Wim Taymans  <wim@fluendo.com>
5483
5484         * docs/libs/gstreamer-libs-sections.txt:
5485         * libs/gst/base/gstcollectpads.c:
5486         (gst_collect_pads_set_flushing_unlocked),
5487         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
5488         (gst_collect_pads_stop):
5489         * libs/gst/base/gstcollectpads.h:
5490         API: gst_collect_pads_set_flushing()
5491         Added api to set the pads to flushing, useful for seeking
5492         code in elements using collectpads.
5493         Clear segment when receiving a flush.
5494
5495 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
5496
5497         * gst/gst.c: (add_path_func), (init_post):
5498           Don't scan registry paths passed via --gst-plugin-path immediately
5499           (will crash, because absolutely nothing is set up and no types are
5500           registered etc.); do this later in init_post(). Fixes #343057.
5501
5502 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5503
5504         * gst/gst.c: (init_post):
5505           if we have fork, fork while reading/rebuilding the registry
5506           so the parent doesn't take the hit of having all plugins loaded
5507           in memory.  Fixes #342777.
5508         * configure.ac:
5509           Check if we have fork()
5510         * win32/common/config.h.in:
5511           no fork() on win32
5512
5513 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
5514
5515         * plugins/elements/gstelements.c:
5516         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
5517         (gst_file_src_init), (gst_file_src_set_property),
5518         (gst_file_src_get_property), (gst_file_src_start):
5519         * plugins/elements/gstfilesrc.h:
5520           API: GstFileSrc::use-mmap
5521
5522         Add a use-mmap property to enable easier testing of all code paths.
5523         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
5524         in the absence of gnomevfssrc. (Closes #340501)
5525
5526 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5527
5528         * tools/gst-inspect.c:
5529         Add missing include, removes warning of ngettext not being defined on
5530         some arches.
5531
5532 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
5533
5534         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5535         Handle NULL input and output pointers silently as a failed conversion,
5536         rather than g_warnings.
5537
5538 2006-05-25  Wim Taymans  <wim@fluendo.com>
5539
5540         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
5541         Initialize variable before using. Fixes #342820.
5542
5543 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
5544
5545         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
5546           Fix off-by-one bug that would only allow peeks of N-1 bytes
5547           from the start even if the buffer to typefind on contains
5548           in fact N bytes of data (makes vorbis typefinding from a
5549           vorbis identification header buffer work).
5550
5551         * tests/check/Makefile.am:
5552         * tests/check/libs/.cvsignore:
5553         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
5554         (gst_typefindhelper_suite), (main), (foobar_typefind),
5555         (plugin_init):
5556           Add very basic unit test for gst_type_find_helper_for_buffer()
5557           that checks for the problem fixed above.
5558
5559 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5560
5561         * tools/gst-inspect.c: (print_interfaces),
5562         (print_element_properties_info), (print_element_list), (main):
5563           add more translatable strings
5564
5565 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
5566
5567         Patch by: Julien Moutte  <julien at moutte net>
5568
5569         * docs/gst/gstreamer-sections.txt:
5570           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
5571           
5572         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
5573         (gst_fake_sink_preroll):
5574         * plugins/elements/gstfakesink.h:
5575           API: Add new GstFakeSink::preroll-handoff signal (#337100).
5576
5577 2006-05-23  Wim Taymans  <wim@fluendo.com>
5578
5579         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
5580         * gst/gstpad.h:
5581         Added _CUSTOM error and success GstFlowReturn that can be
5582         used be elements internally. 
5583         Added macro to check for SUCCESS flowreturns.
5584         API: GST_FLOW_CUSTOM_SUCCESS
5585         API: GST_FLOW_CUSTOM_ERROR
5586         API: GST_FLOW_IS_SUCCESS
5587
5588         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
5589         Added check for GstFlowReturn sanity.
5590
5591 2006-05-23  Wim Taymans  <wim@fluendo.com>
5592
5593         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
5594
5595         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
5596         (gst_collect_pads_event):
5597         clear/reset segment info in FLUSH_STOP.
5598         Fixes #336929.
5599
5600 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
5601
5602         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
5603         (gst_collect_pads_check_collected):
5604         Flush queued buffer on _stop(), fixes playing again (#342454)
5605
5606 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5607
5608         * tests/check/gst/gststructure.c: (GST_START_TEST),
5609         (gst_structure_suite):
5610           add a test for a complete structure
5611
5612 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
5613
5614         * docs/faq/developing.xml:
5615         * docs/faq/faq.xml:
5616         * docs/faq/troubleshooting.xml:
5617         * docs/faq/using.xml:
5618           Some minor FAQ updates that won't change the fact that
5619           our FAQ is badly structured, full of information hardly
5620           anyone new to GStreamer needs to know and lacking lots
5621           of information people constantly ask for.
5622           
5623 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
5624
5625         * gst/gstpad.c: (gst_pad_set_caps):
5626           Short-circuit gst_pad_set_caps if setting the existing
5627           caps pointer again, and avoid printing debug and 
5628           reffing/unreffing the caps.
5629
5630         * plugins/elements/gstqueue.c: (gst_queue_push_one):
5631           There's actually no need to set the caps before pushing -
5632           the acceptcaps method will handle it anyway.
5633
5634 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
5635
5636         * docs/gst/gstreamer-sections.txt:
5637         * win32/common/libgstreamer.def:
5638         * gst/gstutils.c: (gst_element_seek_simple):
5639         * gst/gstutils.h:
5640           API: add gst_element_seek_simple() (#342238).
5641
5642 2006-05-18  Edward Hervey  <edward@fluendo.com>
5643
5644         * gst/gsttypefind.c: (gst_type_find_get_type):
5645         * gst/gsttypefind.h:
5646         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
5647         registered for GstTypeFind pointers. This allows wrapping the structure
5648         in bindings (i.e. gst-python).
5649
5650 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
5651
5652         * gst/gsttagsetter.c:
5653           Docs additions and fixes (see #339918).
5654
5655 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
5656
5657         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
5658         The caps intersection algorithm can produce multiple copies of the
5659         caps. Until that is fixed, we need to simplify the result to be
5660         sure whether the allowed caps are fixed or not.
5661
5662         * plugins/elements/gstqueue.c: (gst_queue_init),
5663         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
5664         (gst_queue_push_one):
5665         Proxied buffer alloc should not set the caps on the source pad.
5666         When pushing buffers, we always accept the caps change that triggers.
5667         This prevents negotiation errors caused by caps changing mid-stream 
5668         and then being refused on our source pad (because upstream is now
5669         refusing those caps).
5670
5671 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
5672
5673         * tests/examples/helloworld/helloworld.c: (main):
5674           Must plug audioconvert and audioresample between decoder
5675           and audio sink.
5676
5677 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
5678
5679         * gst/gstregistryxml.c: (read_string), (load_pad_template),
5680         (load_feature), (load_plugin):
5681         Allow empty strings for some of the plugin fields so we don't 
5682         drop valid plugin entries that were written out correctly
5683         (Fixes #341479)
5684
5685 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
5686         
5687         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
5688           Use g_remove and g_rename instead of remove and rename that don't 
5689           handle utf8 characters. rename was failing for users who had specific
5690           characters in their name then the registry was built at each 
5691           gstreamer init.
5692         * win32/vs6/gst_inspect.dsp:
5693         * win32/vs6/gst_launch.dsp:
5694         * win32/vs6/libgstbase.dsp:
5695         * win32/vs6/libgstcoreelements.dsp:
5696         * win32/vs6/libgstreamer.dsp:
5697           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
5698           build of libgstreamer and clean unused libraries in projects link 
5699           settings.
5700
5701 2006-05-17  Edward Hervey  <edward@fluendo.com>
5702
5703         * plugins/elements/gstqueue.c: (gst_queue_push_one):
5704         The queue is not responsible for pushing an EOS when receiving a fatal
5705         flow error. It's up to the real element driving the pipeline to do that.
5706
5707 2006-05-16  Edward Hervey  <edward@fluendo.com>
5708
5709         * plugins/elements/gstqueue.c: (gst_queue_push_one):
5710         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
5711         buffer returned a fatal error. It should just send an EOS and stop
5712         its task.
5713         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
5714         when pushing buffers on the queue and will be able to handle the event.
5715
5716 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
5717
5718         * docs/manual/basics-bins.xml:
5719         * docs/manual/basics-init.xml:
5720           Fix typos and minor errors in sample code (#341856).
5721
5722 2006-05-16  Wim Taymans  <wim@fluendo.com>
5723
5724         * docs/design/part-qos.txt:
5725         Fix indexes in formulas to make more sense.
5726
5727 2006-05-15  Wim Taymans  <wim@fluendo.com>
5728
5729         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
5730         Don't report POSITION based on clock time if sync is
5731         disabled in a sink.
5732
5733 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
5734
5735         * gst/gstobject.h:
5736           Add cast to make compiler happy - refcount variable was a gint
5737           in GstObject but is a guint in GObject and g_atomic_int_get()
5738           wants a gint *.
5739
5740 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5741
5742         * gst/parse/Makefile.am:
5743           chain commands using &&, which also makes parallel make work
5744
5745 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
5746
5747         * docs/gst/gstreamer-sections.txt:
5748         * gst/gstevent.c:
5749         * gst/gstevent.h:
5750         * gst/gstmessage.h:
5751           Minor docs fixes.
5752
5753 === release 0.10.6 ===
5754
5755 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
5756
5757         * configure.ac:
5758           releasing 0.10.6, "Take the cannoli"
5759
5760 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
5761
5762         * tools/gst-launch.c: (print_tag):
5763           Fix use of uninitialized variable in the hypothetical
5764           case that some broken plugin creates a GST_TAG_IMAGE
5765           tag containing a NULL buffer (#341667).
5766
5767 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
5768
5769         * tools/gst-launch.c: (print_tag):
5770           Print something more intelligible for image tags when
5771           using the -t switch (#341556).
5772
5773 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5774
5775         * Makefile.am:
5776           updates for win32
5777         * configure.ac:
5778           define GST_MAJORMINOR so we have it available in win32/common/config.h
5779           Possibly remove it from our Makefile.am files later
5780         * win32/common/config.h:
5781         * win32/common/config.h.in:
5782           added GST_MAJORMINOR
5783         * win32/common/gstenumtypes.c: (register_gst_resource_error):
5784         * win32/common/gstversion.h:
5785           updated
5786
5787 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
5788
5789         * win32/MANIFEST:
5790           Update win32 files listing.
5791         * win32/common/gstversion.h:
5792           Add GST_MAJORMINOR definition.
5793         * win32/common/libgstreamer.def:
5794           Add new exported functions.
5795           
5796 2006-05-12  Michael Smith  <msmith@fluendo.com>
5797
5798         * gst/gstplugin.c: (gst_plugin_load_file):
5799           If an so file has no plugin entry point, unload the module.
5800
5801 2006-05-11  Wim Taymans  <wim@fluendo.com>
5802
5803         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
5804         (gst_queue_set_property):
5805         Don't forget to signal the _chain or _loop function 
5806         when the queue size or thresholds change since that might
5807         cause them to make progres again.
5808
5809 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
5810
5811         * gst/gstclock.c: (gst_clock_class_init):
5812         * gst/gstindex.c: (gst_index_class_init):
5813         * gst/gstobject.c: (gst_object_class_init):
5814         * gst/gstpad.c: (gst_pad_class_init):
5815         * gst/gstpipeline.c: (gst_pipeline_class_init):
5816         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
5817         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
5818         * libs/gst/base/gstbasetransform.c:
5819         (gst_base_transform_class_init):
5820         * libs/gst/net/gstnetclientclock.c:
5821         (gst_net_client_clock_class_init):
5822         * libs/gst/net/gstnettimeprovider.c:
5823         (gst_net_time_provider_class_init):
5824         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
5825         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
5826         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
5827         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
5828         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
5829         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
5830         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
5831         * plugins/elements/gstidentity.c: (gst_identity_class_init):
5832         * plugins/elements/gsttee.c: (gst_tee_class_init):
5833         * tests/old/examples/plugins/example.c: (gst_example_class_init):
5834         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
5835           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
5836
5837 2006-05-11  Wim Taymans  <wim@fluendo.com>
5838
5839         * gst/gstbuffer.c: (_gst_buffer_initialize):
5840         Register subbufer along with the buffer type so that
5841         it does not accidentally gets registered from N
5842         different streaming threads in a non threadsafe way.
5843
5844 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
5845
5846         * gst/gstbuffer.h:
5847         * gst/gstevent.h:
5848         * gst/gstmessage.h:
5849           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
5850           gst_event_ref() and gst_message_ref() functions again
5851           (ugly hack, please do fix if there's a better way besides
5852           overrides.txt, which doesn't seem to work).
5853
5854 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5855
5856         * libs/gst/check/gstcheck.h:
5857           add an assert for setting state to avoid lots of repetitive code
5858           in the future
5859
5860 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5861
5862         * gst/gstvalue.c: (gst_value_serialize_flags):
5863           fix a leak if no flags are set
5864         * tests/check/gst/gstvalue.c: (GST_START_TEST):
5865           fix leak in tests
5866
5867 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
5868
5869         * docs/manual/basics-pads.xml:
5870           Expand a bit on caps and filtered links and update
5871           examples that were still using the no longer existing
5872           gst_pad_link_filtered() (#338206).
5873
5874 2006-05-10  Wim Taymans  <wim@fluendo.com>
5875
5876         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
5877         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
5878         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
5879         (gst_collect_pads_stop):
5880         * libs/gst/base/gstcollectpads.h:
5881         No need to call _stop in _finalize.
5882         Iterate the main pad list in _finalize.
5883         Added some more debug.
5884         Free lists and data in the right order.
5885         Also free data whem doing _remove_pad when stopped for
5886         backward compatibility protect ::started with PAD_LOCK as
5887         well.
5888
5889 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5890
5891         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
5892         (gst_structure_parse_value):
5893           add some comments
5894           rename a method so that it actually says what it does better
5895
5896 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5897
5898         * gst/gstevent.c: (_gst_event_initialize):
5899         * gst/gstformat.c: (_gst_format_initialize):
5900           make sure some essential types used by events are registered
5901           as part of gst_init()
5902         * gst/gstvalue.c: (gst_value_serialize_flags):
5903           if no flags are set, serialize them to a value that represents NONE
5904           so that deserializing them works
5905         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
5906           add tests for serialization and deserialization of flags
5907
5908 2006-05-10  Wim Taymans  <wim@fluendo.com>
5909
5910         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
5911         (gst_collect_pads_collect_range), (gst_collect_pads_available),
5912         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
5913         (gst_collect_pads_event), (gst_collect_pads_chain):
5914         Update docs.
5915         Better debug info.
5916         Catch and return errors from the collect function
5917         Refuse data on eos pads.
5918
5919 2006-05-10  Edward Hervey  <edward@fluendo.com>
5920
5921         * gst/gstinterface.h:
5922         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
5923         GInterface type checking.
5924         They were previously using non-defined macros.
5925
5926 2006-05-09  Wim Taymans  <wim@fluendo.com>
5927
5928         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
5929         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
5930         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
5931         (gst_collect_pads_start), (gst_collect_pads_stop),
5932         (gst_collect_pads_peek), (gst_collect_pads_pop),
5933         (gst_collect_pads_available), (gst_collect_pads_read),
5934         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
5935         (gst_collect_pads_is_collected), (gst_collect_pads_event),
5936         (gst_collect_pads_chain):
5937         * libs/gst/base/gstcollectpads.h:
5938         Clean up the mess that is collectpads, add comments and
5939         FIXMEs where needed.
5940         Maintain a separate pad list so we can add pads while
5941         collecting the other ones. For this we need a new separate 
5942         lock (see comics).
5943         Fix memory leak in finalize.
5944         Refactor some weird code to set/unset pad flushing flags, mark
5945         with comments.
5946         Don't crash in _available, _read, _flush when we're EOS.
5947
5948         * tests/check/libs/.cvsignore:
5949         Ignore adapter check binary.
5950
5951 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
5952
5953         * gst/gstindex.c: (gst_index_resolver_get_type):
5954         * plugins/elements/gstfakesink.c:
5955         (gst_fake_sink_state_error_get_type):
5956         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
5957         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
5958         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
5959           Const-ify GEnumValue arrays.
5960
5961 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
5962
5963         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
5964           Add test case for flags + gst_buffer_make_metadata_writable().
5965
5966 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
5967
5968         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
5969           gst_buffer_make_metadata_writable() should maintain the
5970           buffer flags (those that make sense at least) (see #340859).
5971
5972 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
5973
5974         * tools/gst-inspect.c:
5975         * tools/gst-launch.c:
5976         * tools/gst-typefind.c:
5977         * tools/gst-xmlinspect.c:
5978         * tools/tools.h:
5979           Fix up includes: need to include stdlib.h in tools.h for exit().
5980
5981 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
5982
5983         * gst/gsttaglist.c: (_gst_tag_initialize):
5984         * gst/gsttaglist.h:
5985           API: add GST_TAG_IMAGE tag (#340721).
5986
5987 2006-05-08  Wim Taymans  <wim@fluendo.com>
5988
5989         * gst/gstquery.c:
5990         Added some docs for the segment query.
5991
5992 2006-05-08  Wim Taymans  <wim@fluendo.com>
5993
5994         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
5995         (gst_base_src_loop), (gst_base_src_change_state):
5996         Always push non-flushing serialized events in the streaming 
5997         thread.
5998
5999 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6000
6001         * gst/gsterror.c: (_gst_stream_errors_init):
6002           Add a missing error string.
6003
6004 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
6005
6006         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
6007         Add applied_rate to the debug
6008
6009         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
6010         Copy applied_rate into the outgoing NEWSEGMENT event
6011
6012 2006-05-08  Wim Taymans  <wim@fluendo.com>
6013
6014         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
6015
6016         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
6017         (gst_base_sink_change_state):
6018         call ::unlock before taking the PREROLL_LOCK so we can safely
6019         handle elements that lock in ::render.
6020         Fixes #340174.
6021
6022 2006-05-08  Edward Hervey  <edward@fluendo.com>
6023
6024         * autogen.sh: (CONFIGURE_DEF_OPT): 
6025         Darwin's libtoolize is in fact called glibtoolize.
6026         Adding glibtoolize to the list of accepted names for libtoolize.
6027
6028 2006-05-08  Wim Taymans  <wim@fluendo.com>
6029
6030         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
6031         Unify error handling, don't post an error message
6032         when a push() returns EOS but perform our normal EOS
6033         handling code. Fixes #340772.
6034
6035 2006-05-08  Wim Taymans  <wim@fluendo.com>
6036
6037         * docs/design/part-overview.txt:
6038         Make upsteam/downstream concepts more clear.
6039         Give an example of serialized/non-serialized events.
6040
6041         * docs/design/part-events.txt:
6042         * docs/design/part-streams.txt:
6043         Mention applied_rate.
6044
6045         * docs/design/part-trickmodes.txt:
6046         Mention applied rate, flesh out some more use cases.
6047
6048         * gst/gstevent.c: (gst_event_new_new_segment),
6049         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
6050         (gst_event_parse_new_segment_full), (gst_event_new_tag),
6051         (gst_event_parse_tag), (gst_event_new_buffer_size),
6052         (gst_event_parse_buffer_size), (gst_event_new_qos),
6053         (gst_event_parse_qos), (gst_event_parse_seek),
6054         (gst_event_new_navigation):
6055         * gst/gstevent.h:
6056         Add applied_rate field to NEWSEGMENT event.
6057         API: gst_event_new_new_segment_full()
6058         API: gst_event_parse_new_segment_full()
6059
6060         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
6061         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
6062         (gst_segment_to_stream_time), (gst_segment_to_running_time):
6063         * gst/gstsegment.h:
6064         Add applied_rate to GstSegment structure.
6065         Make calculation of stream_time and running_time more correct
6066         wrt rate/applied_rate.
6067         Add some more docs.
6068         API: GstSegment::applied_rate field
6069         API: gst_segment_set_newsegment_full();
6070
6071         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
6072         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
6073         * libs/gst/base/gstbasetransform.c:
6074         (gst_base_transform_sink_eventfunc),
6075         (gst_base_transform_handle_buffer):
6076         Parse and use applied_rate in the GstSegment field.
6077
6078         * tests/check/gst/gstevent.c: (GST_START_TEST):
6079         Add check for applied_rate field.
6080
6081         * tests/check/gst/gstsegment.c: (GST_START_TEST),
6082         (gstsegments_suite):
6083         Add more checks for various GstSegment operations.
6084
6085 2006-05-08  Wim Taymans  <wim@fluendo.com>
6086
6087         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
6088         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
6089         (gst_base_sink_get_position), (gst_base_sink_change_state):
6090         Store the sync time of the buffer end position separatly in a
6091         new variable eos_rtime so we can properly sync the EOS event.
6092         Fixes #340697.
6093         Fix the docs for gst_base_sink_set_qos_enabled().
6094         Don't set segment start to invalid value when we receive a 
6095         non TIME newsegment.
6096         get closer to handling position reporting for negative rates 
6097         correctly.
6098
6099 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
6100
6101         * gst/gstcaps.c:
6102         Docs about how to print caps for debug purposes.
6103
6104         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
6105         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
6106
6107 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
6108
6109         * gst/gstelement.c:
6110           use full enum names and preprend a '%' in docs strings to make recent 
6111           gtk-doc turn that into a link
6112
6113 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6114
6115         * docs/manual/basics-bins.xml:
6116         * docs/manual/basics-bus.xml:
6117         * docs/manual/basics-pads.xml:
6118           Some typo fixes, some additions, some clarifications. 
6119
6120 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6121
6122         * tools/gst-inspect.c: (main):
6123         * tools/gst-launch.c: (main):
6124         * tools/gst-run.c: (main):
6125         * tools/gst-typefind.c: (main):
6126         * tools/gst-xmlinspect.c: (main):
6127           Use the string passed to g_option_context_new() for
6128           what it's intended for - the program name is already
6129           printed elsewhere.
6130
6131 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6132
6133         * tools/Makefile.am:
6134         * tools/gst-inspect.c: (main):
6135         * tools/gst-launch.c: (main):
6136         * tools/gst-xmlinspect.c: (main):
6137         * tools/tools.h:
6138           Add back --version command line option (#340460).
6139
6140         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
6141           Add --version option and use GOption for argument parsing; refactor a
6142           bit; accept directories as arguments and recurse into them; lastly,
6143           print a decent error message when things go wrong.
6144
6145 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
6146
6147         * docs/manual/basics-bins.xml:
6148         Don't mention GstThread (#340611)
6149         * docs/manual/basics-elements.xml:
6150         Update link to GObject tutorial (#340607)
6151         
6152 2006-05-05  Wim Taymans  <wim@fluendo.com>
6153
6154         * gst/gstbuffer.h:
6155         * gst/gstminiobject.c:
6156         Add note about refcounting and miniobject/buffer writeability
6157         to docs. Fixes #340604
6158
6159         * gst/gstelementfactory.h:
6160         Added some explanation about @klass.
6161
6162 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
6163
6164         * docs/manual/intro-motivation.xml:
6165         * docs/manual/manual.xml:
6166         Avoid CORBA & Bonobo references (#340598)
6167
6168 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
6169
6170         * docs/manual/basics-bus.xml:
6171         * docs/manual/basics-pads.xml:
6172         Fix up some inaccuracies and omissions (#340609)
6173         
6174 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
6175
6176         * gst/gstghostpad.c:
6177           Small typo in docs (#340625)
6178
6179 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6180
6181         * gst/parse/Makefile.am:
6182           Make 'make -j' proof (see #340698).
6183
6184 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6185
6186         * configure.ac:
6187           Require GLib-2.8 here as well.
6188
6189 2006-05-05  Wim Taymans  <wim@fluendo.com>
6190
6191         * gst/glib-compat.c:
6192         * gst/gst.c: (init_pre):
6193         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
6194         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
6195         (gst_object_dispatch_properties_changed):
6196         * gst/gstobject.h:
6197         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
6198         * gst/gststructure.c: (gst_structure_set_valist):
6199         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
6200         Remove pre glib2.8 compatibility, fixes #340508
6201
6202 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
6203
6204         * gst/gsttaglist.h:
6205           Mention type of tags in doc blurbs.
6206
6207 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
6208
6209         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
6210         (gst_pad_configure_src), (gst_pad_push):
6211         Restore acceptcaps checking behaviour now that good plugins have
6212         been released.
6213
6214 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
6215
6216         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
6217
6218         * gst/gst.c:
6219         * gst/gstbus.c:
6220         * gst/gstclock.c:
6221         * gst/gstevent.c:
6222         * gst/gstformat.c:
6223         * gst/gstmessage.c:
6224         * gst/gstparse.c:
6225         * gst/gstquery.c:
6226         * gst/gstutils.c:
6227         * gst/parse/Makefile.am:
6228         * libs/gst/base/gstadapter.c:
6229         * libs/gst/base/gstbasesrc.c:
6230         * libs/gst/base/gstpushsrc.c:
6231         * libs/gst/base/gsttypefindhelper.c:
6232         * plugins/elements/gstfakesrc.c:
6233         * plugins/elements/gstidentity.c:
6234           Make sure gstprivate.h and/or config.h are
6235           always included first, otherwise some of our
6236           defines (like _FILE_OFFSET_BITS) might be
6237           redefined in the system headers. Fixes build
6238           on opensolaris (#340016).
6239
6240 2006-05-04  Wim Taymans  <wim@fluendo.com>
6241
6242         * docs/libs/gstreamer-libs-sections.txt:
6243         API: addition: gst_adapter_take_buffer()
6244         
6245         * libs/gst/base/gstadapter.c: (gst_adapter_push),
6246         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
6247         (gst_adapter_available_fast):
6248         * libs/gst/base/gstadapter.h:
6249         Prepare for optimizing the hell out of this hugely inefficient
6250         piece of code. 
6251         Added gst_adapter_take_buffer() so we can at least start thinking
6252         about subbuffering and merging.
6253         Added some comments.
6254
6255         * tests/check/Makefile.am:
6256         * tests/check/libs/adapter.c: (GST_START_TEST),
6257         (gst_adapter_suite), (main):
6258         Added GstAdapter check.
6259
6260 2006-05-04  Wim Taymans  <wim@fluendo.com>
6261
6262         * docs/design/part-overview.txt:
6263         Fix some typos, add blurb about buffer flags.
6264
6265 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6266
6267         * docs/libs/gstreamer-libs-sections.txt:
6268           make sure GstBaseTransformClass shows up in the docs
6269         * libs/gst/base/gstbasetransform.c:
6270         * libs/gst/base/gstbasetransform.h:
6271           move docs so gtk-doc picks it up now
6272
6273 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
6274
6275         * docs/libs/gstreamer-libs-sections.txt:
6276           add missing symbols to docs
6277
6278 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
6279
6280         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
6281           back out the newsegment handling change, see #340060 for ongoing
6282           discussion
6283
6284 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
6285
6286         * tools/gst-run.c: (get_candidates), (main):
6287           Fix wrong g_file_test() usage (see glib docs for why it doesn't
6288           work); fix typo in error message. Fixes #340079.
6289
6290 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6291
6292         * common/Makefile.am:
6293         * docs/Makefile.am:
6294         * docs/faq/Makefile.am:
6295         * docs/gst/Makefile.am:
6296         * docs/libs/Makefile.am:
6297         * docs/manual/Makefile.am:
6298         * docs/plugins/Makefile.am:
6299         * docs/pwg/Makefile.am:
6300         * docs/slides/Makefile.am:
6301         * docs/upload.mak:
6302         * common/upload.mak:
6303           move upload.mak to common
6304
6305 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6306
6307         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
6308           add more asserts on refcounts
6309           do more cleanup at end of tests
6310           fix test leaks showing in FC5
6311
6312 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
6313
6314         * plugins/elements/gsttypefindelement.c:
6315         (gst_type_find_element_handle_event):
6316         reverted wrong change and reflowed code to avoid others falling into
6317         this trap
6318
6319 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6320
6321         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
6322           fix changelog entry about last collectpads change,
6323           add notes about proper fix
6324
6325 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6326
6327         * gst/gst.c:
6328         * gst/gstregistry.c: (gst_registry_scan_path_level),
6329         (gst_registry_scan_path):
6330         * gst/gstregistry.h:
6331           only write out registry if it has changed, fixes #338339
6332
6333 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6334
6335         * gst/gstbin.c:
6336         * gst/gstpipeline.c:
6337         * plugins/elements/gstcapsfilter.c:
6338         * plugins/elements/gstfakesink.c:
6339         * plugins/elements/gstfakesrc.c:
6340         * plugins/elements/gstfdsink.c:
6341         * plugins/elements/gstfdsrc.c:
6342         * plugins/elements/gstfilesink.c:
6343         * plugins/elements/gstfilesrc.c:
6344         * plugins/elements/gstidentity.c:
6345         * plugins/elements/gstqueue.c:
6346         * plugins/elements/gsttee.c:
6347         * plugins/elements/gsttypefindelement.c:
6348         (gst_type_find_element_handle_event):
6349           make GstElementDetails const
6350
6351 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6352
6353         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
6354         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
6355         (gst_collect_pads_is_collected), (gst_collect_pads_event):
6356           more detailed debug and formatting cleanup,
6357           forward newsegments to src-pad (so that e.g. adder not eats them)
6358
6359 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6360
6361         * gst/gstutils.c: (gst_element_link_pads):
6362           cleanup double code
6363
6364 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6365
6366         * libs/gst/controller/gstcontroller.c:
6367         (gst_controller_sync_values):
6368           some little tuning
6369         * tests/check/libs/controller.c: (GST_START_TEST),
6370         (gst_controller_suite):
6371           a new test for live value handling
6372
6373 2006-04-28  Wim Taymans  <wim@fluendo.com>
6374
6375         * gst/gstutils.c: (push_and_ref):
6376         Added some more docs.
6377         Fix refcount issue whith gst_element_found_tags() helper 
6378         function. Fixes #338335
6379
6380         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6381         Added testsuite for gst_element_found_tags().
6382
6383 2006-04-28  Michael Smith  <msmith@fluendo.com>
6384
6385         * gst/gstvalue.c: (gst_value_serialize_flags):
6386           Avoid NULL dereference when trying to serialize flags containing
6387           invalid values.
6388
6389 2006-04-28  Michael Smith  <msmith@fluendo.com>
6390
6391         * plugins/elements/gsttypefindelement.c:
6392         (gst_type_find_element_handle_event):
6393           If we get EOS before any data is accumulated, don't use
6394           uninitialised local variables.
6395
6396 2006-04-28  Michael Smith  <msmith@fluendo.com>
6397
6398         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
6399         (gst_dp_event_from_packet):
6400           Fixes in reading/writing events over GDP (not currently used?) - 
6401           dereferencing NULL events for unknown/invalid event types, memory
6402           leak, and change g_warning to GST_WARNING.
6403
6404 2006-04-28  Wim Taymans  <wim@fluendo.com>
6405
6406         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
6407         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
6408         (gst_base_sink_get_position), (gst_base_sink_change_state):
6409         When frame dropping is enabled, we should not ignore frames
6410         without a duration.
6411         Update some documentation.
6412
6413 2006-04-28  Wim Taymans  <wim@fluendo.com>
6414
6415         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
6416         (gst_base_src_send_event), (gst_base_src_change_state):
6417         Documentation updates.
6418
6419 2006-04-28  Wim Taymans  <wim@fluendo.com>
6420
6421         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
6422         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
6423         handle EAGAIN, EINTR and short writes correctly. Also clean
6424         up some error cases, avoid a deadlock on bad file descriptors and
6425         use GST_DEBUG_OBJECT.
6426         Fixes #339843
6427
6428 2006-04-28  Wim Taymans  <wim@fluendo.com>
6429
6430         * gst/gstvalue.c: (gst_value_serialize_buffer),
6431         (gst_value_deserialize_buffer):
6432         Don't try to serialize a GValue with a NULL buffer. 
6433         Fixes #339821.
6434
6435         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6436         Added check for serialisation of NULL buffers.
6437
6438 2006-04-28  Wim Taymans  <wim@fluendo.com>
6439
6440         * gst/gstminiobject.c: (gst_value_take_mini_object):
6441         Taking a NULL miniobject is valid, fix the case where
6442         we try to unref the NULL miniobject.
6443
6444 2006-04-28  Wim Taymans  <wim@fluendo.com>
6445
6446         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
6447
6448         * gst/gstbin.c: (gst_bin_handle_message_func):
6449         Update docs.
6450         Don't leak bin refcount when a state recalc is
6451         in progress and we delay another one #339808.
6452
6453 2006-04-28  Wim Taymans  <wim@fluendo.com>
6454
6455         * docs/design/part-TODO.txt:
6456         Mention QoS as an ongoing work item.
6457
6458         * docs/design/part-buffering.txt:
6459         New doc about buffering that needs to be fleshed out
6460         at some point.
6461
6462         * docs/design/part-qos.txt:
6463         More QoS policy for decoders/demuxers/transforms
6464
6465         * docs/design/part-trickmodes.txt:
6466         Small update.
6467
6468 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6469
6470         * configure.ac:
6471           back to HEAD
6472
6473 === release 0.10.5 ===
6474
6475 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
6476
6477         * configure.ac:
6478           releasing 0.10.5, "Fogo"
6479
6480 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6481
6482         patch by: Wim Taymans
6483
6484         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
6485         (gst_pad_configure_src), (gst_pad_push):
6486         * gst/gstpipeline.c: (gst_pipeline_init):
6487           Fix internal data flow errors.  Fixes #338711.
6488
6489 2006-04-12  Wim Taymans  <wim@fluendo.com>
6490
6491         * tests/check/gst/gstelement.c: (GST_START_TEST):
6492         Don't leak the factory.
6493
6494 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6495
6496         * configure.ac:
6497         * win32/common/config.h:
6498           prerelease
6499
6500 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
6501
6502         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
6503         (gst_controller_unset_all):
6504           Free allocated GstTimedValues when freeing list nodes.
6505           Should fix leaks 'make check-valgrind' complains about.
6506
6507         * win32/common/libgstcontroller.def:
6508           Add gst_controller_unset_all.
6509
6510 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
6511
6512         * docs/libs/gstreamer-libs-sections.txt:
6513         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
6514         (gst_controller_unset_all):
6515         * libs/gst/controller/gstcontroller.h:
6516         API: Added new method gst_controller_unset_all()
6517         fixed gst_controller_unset()
6518         * tests/check/libs/controller.c: (GST_START_TEST),
6519         (gst_controller_suite):
6520         Added two testcases for new and fixed method
6521
6522 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
6523
6524         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
6525           MSG_DONTWAIT is not defined on Cygwin, so work
6526           around that (fixes #317048).
6527           
6528 2006-04-11  Wim Taymans  <wim@fluendo.com>
6529
6530         * gst/gstelementfactory.c: (gst_element_register),
6531         (gst_element_factory_create), (gst_element_factory_make):
6532         Some cleanups.
6533         Fixed a FIXME.
6534         Updated docs (Fixes #131079)
6535
6536         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
6537         Small cleanups.
6538
6539         * tests/check/gst/gstelement.c: (GST_START_TEST),
6540         (gst_element_suite):
6541         Added testcase for elementfactory class field.
6542
6543 2006-04-10  Wim Taymans  <wim@fluendo.com>
6544
6545         * gst/gstsegment.c:
6546         Added some more docs.
6547
6548         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
6549         (gst_base_sink_reset_qos):
6550         Calculate more accurate rate values.
6551
6552 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
6553
6554         * gst/gst_private.h:
6555           add a new #ifdef to use __declspec(dllimport) only for
6556           other modules and not for gstreamer core
6557         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
6558           use gst_guint64_to_gdouble for conversion
6559         * win32/common/libgstreamer.def:
6560           add new exported functions
6561         * win32/vs6/gst_inspect.dsp:
6562         * win32/vs6/gst_launch.dsp:
6563         * win32/vs6/libgstbase.dsp:
6564         * win32/vs6/libgstcontroller.dsp:
6565         * win32/vs6/libgstcoreelements.dsp:
6566         * win32/vs6/libgstdataprotocol.dsp:
6567         * win32/vs6/libgstnet.dsp:
6568           update project files
6569
6570 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
6571
6572         * gst/gstbuffer.c: (gst_subbuffer_class_init):
6573         * gst/gstclock.c: (gst_clock_class_init):
6574         * gst/gstelement.c: (gst_element_class_init):
6575         * gst/gstindex.c: (gst_index_class_init):
6576         * gst/gstindexfactory.c: (gst_index_factory_class_init):
6577         * gst/gstobject.c: (gst_object_class_init),
6578         (gst_signal_object_class_init):
6579         * gst/gstpad.c: (gst_pad_class_init):
6580         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
6581         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
6582         * gst/gstregistry.c: (gst_registry_class_init):
6583         * gst/gstsystemclock.c: (gst_system_clock_class_init):
6584         * gst/gsttask.c: (gst_task_class_init):
6585         * gst/gstxml.c: (gst_xml_class_init):
6586         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
6587         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6588         (gst_base_src_loop):
6589         * libs/gst/controller/gstcontroller.c:/
6590         (_gst_controller_class_init):
6591         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
6592         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
6593         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
6594         * tests/old/examples/plugins/example.c: (gst_example_class_init):
6595         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
6596         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
6597
6598 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
6599
6600         * gst/gstpad.c: (gst_pad_link):
6601           Must set peer pads before calling the link function, otherwise
6602           a task started from a link function might get a flow-not-linked
6603           result when trying to push because the other thread where the
6604           linking happens hasn't had a chance to set the peers yet. This
6605           might happen for example when a queue gets linked to a downstream
6606           element, as queue starts a streaming task when its source pad
6607           gets linked. Happens in real life when playing back flac/musepack
6608           files in playbin (#332390).
6609           
6610 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
6611
6612         * gst/gstindex.h:
6613         * gst/gstxml.h:
6614         * libs/gst/base/gstadapter.h:
6615         * libs/gst/base/gstbasesink.h:
6616         * libs/gst/base/gstbasesrc.h:
6617         * libs/gst/base/gstbasetransform.h:
6618         * libs/gst/base/gstcollectpads.h:
6619         * libs/gst/base/gstpushsrc.h:
6620         Fix broken GObject macros
6621
6622 2006-04-07  Wim Taymans  <wim@fluendo.com>
6623
6624         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
6625         Initialize start and stop times, thanks valgrind.
6626
6627 2006-04-07  Wim Taymans  <wim@fluendo.com>
6628
6629         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
6630         Be a bit nicer to badly behaving upstream elements that expect
6631         us to deal with non TIME segments and timestamps (such as fakesrc
6632         in the testsuite).
6633
6634 2006-04-07  Wim Taymans  <wim@fluendo.com>
6635
6636         * gst/gstbus.c:
6637         Small documentation clarification about the signal watch.
6638
6639         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
6640         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
6641         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
6642         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
6643         (gst_base_sink_get_position_last),
6644         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
6645         Convert and store timestamps in stream time and running time, the
6646         raw timestamps are not useful, also document this better.
6647         Use different window sizes for good and bad QoS observations so
6648         we react to badness a little quicker.
6649         Keep track of the amount of rendered and dropped buffers.
6650         Send QoS timestamps in running time.
6651
6652         * libs/gst/base/gstbasetransform.c:
6653         (gst_base_transform_sink_eventfunc),
6654         (gst_base_transform_handle_buffer):
6655         Compare QoS timestamps against running time.
6656
6657 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
6658
6659         * gst/gstpad.c:
6660           Typo fixes in docs.
6661
6662 2006-04-06  Michael Smith  <msmith@fluendo.com>
6663
6664         * gst/gstpad.c: (gst_pad_set_property):
6665           Use g_value_get_object() instead of g_value_dup_gst_object(),
6666           to avoid double-reffing the pad template (which we then sink,
6667           so this worked previously if (and only if) the pad template
6668           was floating.
6669
6670         * gst/gstpadtemplate.c: (gst_pad_template_init),
6671         (gst_pad_template_pad_created):
6672           Never return floating references to pad templates, create
6673           them as initially-sunken.
6674
6675           Document an extra function (and make this stop sinking our
6676           pad template, since that is now guaranteed to do nothing,
6677           since we created it sunken).
6678
6679         * gst/gstghostpad.c:
6680           Fix docs typo.
6681
6682 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
6683
6684         * gst/gstinfo.c: (__gst_in_valgrind):
6685           Add some newlines.
6686
6687         * plugins/elements/gsttypefindelement.c:
6688         (gst_type_find_element_chain):
6689           Don't leak buffer caps.
6690
6691 2006-04-06  Michael Smith  <msmith@fluendo.com>
6692
6693         * gst/parse/grammar.y:
6694           Fix a leak in parse-launch for any source-or-sink named element 
6695           references used.
6696
6697         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
6698           Unref the pipeline if it exists after we've failed parsing.
6699
6700 2006-04-05  Michael Smith  <msmith@fluendo.com>
6701
6702         * gst/gstpipeline.c: (gst_pipeline_init):
6703           When we create a pipeline bus, initially create it in flushing mode.
6704           Fixes leaks in at least one test, and makes a new pipeline work the
6705           same as one that has gone to READY and then back to NULL.
6706
6707         * gst/gstelement.c:
6708           Typo fix in docs.
6709
6710 2006-04-05  Michael Smith  <msmith@fluendo.com>
6711
6712         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
6713           Unref a pad we reffed.
6714         * tests/check/gst/gstutils.c: (GST_START_TEST):
6715           Unref bins
6716
6717 2006-04-05  Michael Smith  <msmith@fluendo.com>
6718
6719         * gst/gstquery.c: (gst_query_set_formats),
6720         (gst_query_set_formatsv):
6721           Fix leaking GValues in queries, as shown by valgrind/testsuite.
6722
6723 2006-04-05  Michael Smith  <msmith@fluendo.com>
6724
6725         * tests/check/generic/sinks.c: (GST_START_TEST):
6726           Fix a variety of memleaks in sinks check, which are only sometimes 
6727           shown by running the tests under valgrind (weird?).
6728
6729 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
6730
6731         * docs/version.entities.in:
6732           Fix the substituted entity name after thomas' changes on the
6733           weekend.
6734
6735 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6736
6737         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
6738         VALGRIND_PRINTF
6739         
6740 2006-04-05  Andy Wingo  <wingo@pobox.com>
6741
6742         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
6743
6744         * libs/gst/base/gstbasetransform.c
6745         (gst_base_transform_sink_eventfunc): When resetting our segment on
6746         FLUSH_STOP, also update the flag saying we haven't seen a
6747         newsegment.
6748
6749 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
6750
6751         Patch by: Paolo Borelli  <pborelli at katamail dot com>
6752
6753         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
6754         (gst_plugin_check_license):
6755           minor clean-ups: G_DEFINE_TYPE already takes care of the
6756           parent_class stuff, no need to do it twice. Mark array of
6757           license strings as constant. (#337103)
6758           
6759 2006-04-04  Michael Smith  <msmith@fluendo.com>
6760
6761         * tools/gst-inspect.c: (print_element_list):
6762           Free the right plugin list; fixes a memory leak.
6763
6764 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
6765
6766         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
6767
6768         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
6769           Don't error out on empty buffers (#336945).
6770           
6771 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
6772
6773         * docs/libs/gstreamer-libs-sections.txt:
6774         * gst/gsttaglist.c:
6775         * libs/gst/base/gstbasesink.c:
6776         * libs/gst/base/gstbasesink.h:
6777         * libs/gst/base/gstbasesrc.c:
6778         * libs/gst/base/gstbasesrc.h:
6779           Documentation updates. Make BaseSink and BaseSrc docs contain the
6780           class structure so that people can actually see the prototypes for
6781           virtual functions they're supposed to be overriding.
6782
6783 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
6784
6785         * plugins/elements/gsttypefindelement.c:
6786         (gst_type_find_element_chain):
6787           More debug info; when skipping typefinding, send cached
6788           events in all cases.
6789
6790 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
6791
6792         * configure.ac:
6793           use new AS_VERSION and AS_NANO macros
6794         * gst/gst-i18n-lib.h:
6795         * gst/gst.c:
6796         * gst/gsterror.c:
6797         * gst/gstversion.h.in:
6798         * win32/common/config.h:
6799         * win32/common/config.h.in:
6800           update accordingly
6801
6802 2006-03-31  Michael Smith  <msmith@fluendo.com>
6803
6804         * plugins/elements/gsttypefindelement.c:
6805         (gst_type_find_element_chain):
6806           Do not typefind content if the buffers already have caps.
6807           Neccesary for icydemux (#333657), and the right thing to do anyway.
6808
6809 2006-03-30  Wim Taymans  <wim@fluendo.com>
6810
6811         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
6812         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
6813         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
6814         (gst_base_sink_record_qos_observation),
6815         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
6816         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
6817         (gst_base_sink_change_state):
6818         More QoS measurements as described in the design doc.
6819         Get rid of ringbuffer with observations, running average is
6820         more simple and equally good.
6821         Calculates valid proportion now.
6822         Added beginning of flood measurement.
6823
6824 2006-03-29  Wim Taymans  <wim@fluendo.com>
6825
6826         * docs/design/part-qos.txt:
6827         * gst/gstclock.c:
6828         Small documentation updates and additions.
6829
6830 2006-03-29  Wim Taymans  <wim@fluendo.com>
6831
6832         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
6833         (gst_base_src_send_event), (gst_base_src_loop),
6834         (gst_base_src_change_state):
6835         Perform the EOS logic when we reach the segment stop position.
6836         Fix compilation on gcc4.1
6837
6838 2006-03-29  Wim Taymans  <wim@fluendo.com>
6839
6840         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
6841
6842         * plugins/elements/gstqueue.c: (gst_queue_init),
6843         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
6844         (gst_queue_set_property):
6845         * plugins/elements/gstqueue.h:
6846         In queue, when EOS is received, if minimum threshold > max_size -
6847         current_level, there is chance that queue blocks forever in conditional
6848         item del wait. This is because the queue is not emptied completely due
6849         to minimum threshold.  Here is another approach. Instead of setting
6850         cur_levels to max in EOS, just zero all minimum threshold levels. This
6851         should make sure that queue gives out all data. When going to READY
6852         (stop) state, just reset the original minimum threshold levels.
6853         Fixes #336336.
6854
6855 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
6856
6857         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
6858         (gst_type_find_element_handle_event),
6859         (gst_type_find_element_send_cached_events),
6860         (gst_type_find_element_change_state):
6861         * plugins/elements/gsttypefindelement.h:
6862           When typefinding is done in push mode, we should cache
6863           events we receive during typefinding instead of just
6864           dropping them (e.g. newsegment, custom events from
6865           dvdreadsrc etc.) and then send them out once we've
6866           determined the type of the stream (and decodebin
6867           has had a chance to plug in a decoder/demuxer).
6868           
6869 2006-03-27  Wim Taymans  <wim@fluendo.com>
6870
6871         * docs/design/part-qos.txt:
6872         First QoS ideas.
6873
6874 2006-03-27  Wim Taymans  <wim@fluendo.com>
6875
6876         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
6877
6878         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
6879         (gst_base_src_send_event), (gst_base_src_change_state):
6880         Handle element seek correctly when we are streaming.
6881         Fixes #326998.
6882
6883 2006-03-24  Michael Smith  <msmith@fluendo.com>
6884
6885         * docs/faq/gst-uninstalled:
6886           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
6887           allow you to correctly run intalled applications built against old 
6888           core, using plugins that require updated core (e.g. running
6889           installed totem against a full uninstalled gstreamer stack)
6890
6891 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
6892
6893         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
6894         more debug details
6895
6896 2006-03-24  Wim Taymans  <wim@fluendo.com>
6897
6898         * docs/gst/gstreamer-sections.txt:
6899         Rearrange the order of the methods so that related methods
6900         are grouped together in sections.
6901
6902 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
6903
6904         * gst/gstelement.c:
6905           Little clarification in the docs
6906
6907 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
6908
6909         * docs/README:
6910         formatting fix
6911         * plugins/elements/gstidentity.c:
6912         * plugins/elements/gstqueue.c:
6913         * plugins/elements/gsttee.c:
6914         * plugins/elements/gsttypefindelement.c:
6915         GST_ELEMENT_DETAILS formatting
6916
6917 2006-03-24  Wim Taymans  <wim@fluendo.com>
6918
6919         * libs/gst/base/gstbasesink.h:
6920         Only add fields, not insert or we break ABI.
6921
6922 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
6923
6924         * win32/common/libgstbase.def:
6925         * win32/common/libgstreamer.def:
6926           Update, add recently added functions.
6927
6928 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
6929
6930         * docs/gst/gstreamer-sections.txt:
6931         * gst/gstutils.c: (gst_pad_query_peer_position),
6932         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
6933         * gst/gstutils.h:
6934           API: add some new utility functions:
6935            - gst_pad_query_peer_position()
6936            - gst_pad_query_peer_duration()
6937            - gst_pad_query_peer_convert()
6938           
6939 2006-03-23  Wim Taymans  <wim@fluendo.com>
6940
6941         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6942         (gst_base_sink_init), (gst_base_sink_finalize),
6943         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
6944         (gst_base_sink_set_property), (gst_base_sink_get_property),
6945         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
6946         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
6947         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
6948         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
6949         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
6950         (gst_base_sink_preroll_object), (gst_base_sink_event),
6951         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
6952         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
6953         (gst_base_sink_query), (gst_base_sink_change_state):
6954         Decouple max-lateness and the fact that QoS messages are generated
6955         with a new property (qos).
6956         added API: GstBaseSink::async_play()
6957         Add vmethod so subclasses can be notified of ASYNC playing
6958         state changes.
6959         Collect timestamp start and stop to report better current
6960         position in EOS/PLAYING/PAUSED/READY/NULL.
6961         Refactor QoS/frame dropping and other measurements.
6962         API: GstBaseSrc::qos
6963         Fixes #326311
6964
6965         * libs/gst/base/gstbasesink.h:
6966         Added Private struct.
6967         API: gst_base_sink_set_qos_enabled()
6968         API: gst_base_sink_is_qos_enabled()
6969
6970 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
6971
6972         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
6973           If compiling against GLib-2.8 or newer, try to read the
6974           registry file using GMappedFile first before falling back
6975           to fopen() + fread() (#332151).
6976
6977 2006-03-22  Wim Taymans  <wim@fluendo.com>
6978
6979         * gst/gstinfo.c: (gst_debug_set_active),
6980         (gst_debug_category_set_threshold):
6981         Disable debugging unless explicitly activated.
6982         Fixes #335480.
6983
6984 2006-03-22  Wim Taymans  <wim@fluendo.com>
6985
6986         * gst/gstelement.c: (gst_element_set_locked_state),
6987         (gst_element_dispose):
6988         Cleanup the error case.
6989
6990         * gst/gstobject.c: (gst_object_dispose):
6991         print a critical when some object was disposed with
6992         a parent, also revive the object since it might
6993         crash the parent.
6994
6995 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
6996
6997         * tools/gst-launch.1.in:
6998           Fix another typo.
6999
7000 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7001
7002         * configure.ac:
7003         * tests/check/Makefile.am:
7004           disable some tests when we don't have a registry
7005         * tests/check/gst/gstutils.c: (gst_utils_suite):
7006           don't build the part that needs parsing
7007
7008 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7009
7010         * gst/Makefile.am
7011         * tests/examples/Makefile.am:
7012           fix --disable-parse build
7013
7014 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
7015
7016         * tools/gst-feedback.1.in:
7017           Fix typo: s/feeback/feedback/ (#133494).
7018
7019 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
7020
7021         * tools/Makefile.am:
7022         * tools/gst-launch.1.in:
7023           Add FILES section and correct entry about GST_REGISTRY_PATH
7024           environment variable (#133495; #133494).
7025
7026 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
7027
7028         * tools/Makefile.am:
7029         * tools/gst-md5sum.1.in:
7030         * tools/gst-md5sum.c:
7031           Remove gst-md5sum and man page (the md5sink element
7032           required was removed ages ago)
7033
7034 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
7035
7036         * gst/gststructure.c: (gst_structure_id_set_value):
7037           Make sure that string fields in structures/taglists
7038           contain valid UTF-8 - we don't want to pass rubbish to
7039           applications because of a buggy plugin (cp. #334167).
7040
7041 2006-03-21  Edward Hervey  <edward@fluendo.com>
7042
7043         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
7044         (gst_bin_handle_message_func):
7045         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
7046         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
7047         (gst_element_set_bus_func):
7048         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
7049         * gst/gstminiobject.c: (gst_value_set_mini_object),
7050         (gst_value_take_mini_object):
7051         * gst/gstpad.c: (gst_pad_set_pad_template):
7052         * gst/gstpipeline.c: (gst_pipeline_dispose),
7053         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
7054         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
7055         (gst_collect_pads_chain):
7056         * libs/gst/net/gstnettimeprovider.c:
7057         (gst_net_time_provider_set_property):
7058         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
7059         It's in fact all issues with gst_*object_replace().
7060
7061 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
7062
7063         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
7064         
7065         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7066         * pkgconfig/gstreamer-check.pc.in:
7067           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
7068
7069 2006-03-21  Edward Hervey  <edward@fluendo.com>
7070
7071         * gst/gstbuffer.h:
7072         * gst/gstevent.h:
7073         * gst/gstmessage.h:
7074         gst_[buffer|event|message]_ref() macros are replaced by a static
7075         inline functions because gcc-4.1 will about if the return value
7076         isn't used.
7077         * tests/check/gst/gstevent.c: (event_probe):
7078         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
7079
7080 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
7081
7082         * gst/gstutils.h:
7083         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
7084         the type' case. (Closes: #335195 for now). In the future, when we
7085         depend on GLib 2.10, we could also intern the type name using
7086         g_intern_static_string()
7087
7088 2006-03-20  Wim Taymans  <wim@fluendo.com>
7089
7090         * gst/gstbin.c: (gst_bin_handle_message_func),
7091         (bin_query_max_init), (bin_query_position_fold),
7092         (bin_query_position_done), (gst_bin_query):
7093         Position query should also take max of all streams.
7094
7095 2006-03-20  Wim Taymans  <wim@fluendo.com>
7096
7097         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
7098         (gst_fake_src_finalize):
7099         Fix leaks in fakesrc.
7100
7101         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
7102         Fix leaks in the testcase.
7103
7104 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
7105
7106         * gst/gst_private.h:
7107           add win32 specific import decoration(__declspec(dllimport)) 
7108           for all extern GstDebugCategory * variables
7109         * win32/common/libgstbase.def:
7110         * win32/common/libgstcontroller.def:
7111         * win32/common/libgstreamer.def:
7112           Add some exports, remove empty lines
7113         * win32/common/libgstdataprotocol.def:
7114         * win32/common/libgstdataprotocol.dsp:
7115         * win32/common/libgstnet.def:
7116         * win32/common/libgstnet.dsp:
7117           new project files and exportation files added
7118         
7119 2006-03-19  Wim Taymans  <wim@fluendo.com>
7120
7121         * tests/check/libs/basesrc.c: (eos_event_counter):
7122         Use proper return value for probe.
7123
7124 2006-03-17  Wim Taymans  <wim@fluendo.com>
7125
7126         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
7127         (gst_pad_push):
7128         Don't leak buffers, caps and pads on negotiation errors.
7129
7130 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
7131
7132         * docs/faq/cvs.xml:
7133         * docs/faq/dependencies.xml:
7134         * docs/faq/developing.xml:
7135         * docs/faq/faq.xml:
7136         * docs/faq/general.xml:
7137         * docs/faq/getting.xml:
7138         * docs/faq/legal.xml:
7139         * docs/faq/troubleshooting.xml:
7140         * docs/faq/using.xml:
7141         Faq review and update.
7142
7143 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
7144
7145         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
7146         (gst_pad_push):
7147         Don't pound the cpu to pieces by checking get_caps when accept_caps
7148         is called with the same caps as the pad already has.
7149         Use GST_DEBUG_OBJECT when outputting caps change information.
7150
7151 2006-03-15  Wim Taymans  <wim@fluendo.com>
7152
7153         * gst/gstclock.c: (gst_clock_class_init):
7154         Fix docs.
7155
7156 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
7157
7158         * gst/gstbuffer.h:
7159         Documentation fix.
7160
7161         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
7162         (gst_pad_accept_caps), (gst_pad_configure_sink),
7163         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
7164         Make the default acceptcaps behaviour be to check the requested 
7165         caps against the gst_pad_get_caps output. 
7166
7167         Ensure that gst_pad_accept_caps is used to check caps when a pad
7168         doesn't have a setcaps function, so that pads automatically refuse 
7169         caps that they don't allow in their pad template. (Fixes #332986)
7170
7171         When a buffer with attached caps is pushed, ensure that the source 
7172         pad receives those caps even if the element didn't call
7173         gst_pad_set_caps first.
7174
7175 2006-03-15  Wim Taymans  <wim@fluendo.com>
7176
7177         * libs/gst/base/gstadapter.c:
7178         Add some docs.
7179
7180 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
7181
7182         * win32/common/libgstbase.def:
7183         * win32/common/libgstcontroller.def:
7184         * win32/common/libgstreamer.def:
7185           Add a whole bunch of missing functions (#334434).
7186
7187 2006-03-14  Wim Taymans  <wim@fluendo.com>
7188
7189         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
7190         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
7191         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
7192         Better debug info when we receive a segment event.
7193         Reorganize a bit so we can pass the get_times() results around.
7194         Use the segment format when calculating the running time.
7195         Don't do QoS is sync is disabled or we have no clock or the
7196         element does not want us to sync to the clock.
7197         Don't drop buffers if QoS is disabled for now.
7198
7199 2006-03-14  Wim Taymans  <wim@fluendo.com>
7200
7201         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
7202         Marked the stats property as unimplemented so people don't get
7203         wild ideas.
7204         Add debug message when regression goes wrong.
7205         Added some more docs.
7206
7207 2006-03-14  Wim Taymans  <wim@fluendo.com>
7208
7209         * gst/gstsegment.c: (gst_segment_to_stream_time):
7210         Return correct return type in case of errors.
7211
7212 2006-03-14  Wim Taymans  <wim@fluendo.com>
7213
7214         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
7215           Don't segfault on invalid formats.
7216
7217 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
7218
7219         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
7220           Can't use gst_segment_to_running_time() when the segment
7221           is not in GST_TIME_FORMAT (like with filesink, for example).
7222           Stops flac encoding pipelines from spewing critical warnings
7223           at EOS (#331248).
7224           
7225 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
7226
7227         * gst/gstpipeline.c: (gst_pipeline_class_init):
7228           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
7229
7230         * plugins/elements/gsttypefindelement.c:
7231         (gst_type_find_element_handle_event):
7232           Don't try to typefind empty streams.
7233
7234 2006-03-14  Wim Taymans  <wim@fluendo.com>
7235
7236         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
7237         (gst_base_sink_do_qos):
7238         Separate QoS calculation.
7239         Only drop buffers when lateness is bigger than the 
7240         duration of the buffer.
7241
7242 2006-03-13  Wim Taymans  <wim@fluendo.com>
7243
7244         * gst/gstpipeline.c: (gst_pipeline_set_property),
7245         (gst_pipeline_get_property), (do_pipeline_seek),
7246         (gst_pipeline_change_state), (gst_pipeline_set_delay),
7247         (gst_pipeline_get_delay):
7248         Don't deadlock when reading properties.
7249
7250 2006-03-13  Wim Taymans  <wim@fluendo.com>
7251
7252         * libs/gst/base/gstbasetransform.c:
7253         (gst_base_transform_class_init), (gst_base_transform_init),
7254         (gst_base_transform_sink_event),
7255         (gst_base_transform_sink_eventfunc),
7256         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
7257         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
7258         (gst_base_transform_set_property),
7259         (gst_base_transform_get_property),
7260         (gst_base_transform_change_state), (gst_base_transform_update_qos),
7261         (gst_base_transform_set_qos_enabled),
7262         (gst_base_transform_is_qos_enabled):
7263         * libs/gst/base/gstbasetransform.h:
7264         Make basetransform virtual method for src events too.
7265         Handle QOS in basetransform.
7266         API: gst_base_transform_update_qos()
7267         API: gst_base_transform_set_qos_enabled()
7268         API: gst_base_transform_is_qos_enabled()
7269
7270 2006-03-13  Wim Taymans  <wim@fluendo.com>
7271
7272         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
7273         (gst_base_sink_do_sync):
7274         Small cleanups.
7275         Use QOS debug category.
7276
7277 2006-03-13  Wim Taymans  <wim@fluendo.com>
7278
7279         * plugins/elements/gstqueue.c:
7280         Very small doc update.
7281
7282 2006-03-13  Wim Taymans  <wim@fluendo.com>
7283
7284         * gst/gst_private.h:
7285         * gst/gstinfo.c: (_gst_debug_init):
7286         Added QOS debug category
7287
7288 2006-03-13  Wim Taymans  <wim@fluendo.com>
7289
7290         * docs/gst/gstreamer-sections.txt:
7291         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
7292         * gst/gstbin.h:
7293         * gst/gstbus.c: (gst_bus_class_init):
7294         * gst/gstbus.h:
7295         * gst/gstclock.c:
7296         * gst/gstelement.c: (gst_element_set_locked_state):
7297         * gst/gstsegment.c:
7298         Documentation updates.
7299
7300         * gst/gstpipeline.c: (gst_pipeline_get_type),
7301         (gst_pipeline_class_init), (gst_pipeline_init),
7302         (gst_pipeline_dispose), (gst_pipeline_set_property),
7303         (gst_pipeline_get_property), (do_pipeline_seek),
7304         (gst_pipeline_send_event), (gst_pipeline_change_state),
7305         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
7306         (gst_pipeline_get_delay):
7307         * gst/gstpipeline.h:
7308         Added methods for setting the delay.
7309         API: gst_pipeline_set_delay()
7310         API: gst_pipeline_get_delay()
7311         Add pipeline debug category
7312         Various cleanups.
7313         Updated docs.
7314         Don't reset stream time when seek failed.
7315
7316 2006-03-13  Wim Taymans  <wim@fluendo.com>
7317
7318         * docs/design/draft-klass.txt:
7319         * docs/design/part-clocks.txt:
7320         * docs/design/part-events.txt:
7321         * docs/design/part-gstbin.txt:
7322         * docs/design/part-gstpipeline.txt:
7323         * docs/design/part-messages.txt:
7324         * docs/design/part-negotiation.txt:
7325         * docs/design/part-overview.txt:
7326         * docs/design/part-preroll.txt:
7327         * docs/design/part-seeking.txt:
7328         * docs/design/part-states.txt:
7329         * docs/design/part-streams.txt:
7330         Documentation updates.
7331
7332 2006-03-12  Julien MOUTTE  <julien@moutte.net>
7333
7334         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
7335         us to leak strings...
7336
7337 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7338
7339         * libs/gst/net/gstnettimeprovider.c:
7340           fix docs
7341         * win32/common/config.h:
7342           update
7343
7344 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
7345
7346         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
7347
7348         * configure.ac:
7349           Don't check for libgnomeui (leftover from old examples
7350           that aren't built or disted any longer) (#334303).
7351           
7352 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
7353
7354         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
7355         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
7356           Emit RESOURCE_NO_SPACE_LEFT error here as well when
7357           there's no space left on the device.
7358
7359 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
7360
7361         * gst/gstclock.h:
7362           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
7363           to cast the input to GstClockTime before comparing with
7364           another GstClockTime value.
7365
7366 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7367
7368         * configure.ac:
7369           back to trunk
7370
7371 === release 0.10.4 ===
7372
7373 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
7374
7375         * configure.ac:
7376           releasing 0.10.4, "Light"
7377
7378 2006-03-10  Michael Smith  <msmith@fluendo.com>
7379
7380         * libs/gst/dataprotocol/dataprotocol.c:
7381           Fix docs for dataprocotol to not get the return types completely
7382           wrong for a few functions.
7383
7384 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
7385
7386         * docs/gst/gstreamer-sections.txt:
7387         * gst/gstpipeline.c: (gst_pipeline_class_init),
7388         (gst_pipeline_init), (gst_pipeline_set_property),
7389         (gst_pipeline_get_property), (gst_pipeline_change_state),
7390         (gst_pipeline_set_auto_flush_bus),
7391         (gst_pipeline_get_auto_flush_bus):
7392         * gst/gstpipeline.h:
7393           Add new API: gst_pipeline_set_auto_flush_bus() and
7394           gst_pipeline_get_auto_flush_bus() to disable automatic
7395           flushing of the pipeline's GstBus when going from READY
7396           to NULL state (#332045).
7397
7398 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
7399
7400         * docs/gst/gstreamer-sections.txt:
7401         * gst/gsturi.c: (gst_uri_has_protocol):
7402         * gst/gsturi.h:
7403            Add new API: gst_uri_has_protocol() (#333779).
7404
7405 2006-03-09  Wim Taymans  <wim@fluendo.com>
7406
7407         * gst/gstclock.c: (gst_clock_entry_new),
7408         (gst_clock_id_compare_func), (gst_clock_id_wait),
7409         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
7410         (gst_clock_init), (gst_clock_get_internal_time),
7411         (gst_clock_set_master), (do_linear_regression),
7412         (gst_clock_add_observation), (gst_clock_set_property):
7413         * gst/gstclock.h:
7414         Review docs.
7415         Small cleanups.
7416         Fix a possible segfault when the window-size is made smaller.
7417         Calculate jitter before performing the clock wait. Ideally
7418         the clock implementation should calculate jitter but we need
7419         API breakage for that.
7420
7421         * gst/gstsystemclock.c: (gst_system_clock_init):
7422         Docs review.
7423         
7424         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7425         Remove leftover else
7426
7427         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
7428         (gst_systemclock_suite):
7429         Added check to test GST_CLOCK_DIFF.
7430
7431 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
7432
7433         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
7434         (gst_type_find_helper_get_range):
7435           If we are provided with the size, we should implement
7436           GstTypeFind::get_length, so that typefind functions who
7437           want to can actually peek at the middle of a file.
7438
7439 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
7440
7441         * docs/manual/advanced-dataaccess.xml:
7442           Add some very very basic error checking.
7443
7444         * docs/pwg/appendix-checklist.xml:
7445           Some updates to the list of things to check when writing an element.
7446
7447 2006-03-08  Wim Taymans  <wim@fluendo.com>
7448
7449         * docs/design/part-element-transform.txt:
7450         Added some docs about the design of tranform elements.
7451
7452         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
7453         (gst_base_src_loop), (gst_base_src_change_state):
7454         Mark buffers with the DISCONT flag.
7455
7456 2006-03-08  Michael Smith  <msmith@fluendo.com>
7457
7458         * gst/gstregistry.h:
7459         * gst/gstregistryxml.c: (gst_registry_save),
7460         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
7461         (gst_registry_xml_save_pad_template),
7462         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
7463         (gst_registry_xml_write_cache):
7464           Rewrite registry-saving to avoid race conditions and check for
7465           failed writes.
7466
7467 2006-03-08  Wim Taymans  <wim@fluendo.com>
7468
7469         * libs/gst/base/gstbasetransform.c:
7470         (gst_base_transform_transform_caps),
7471         (gst_base_transform_transform_size),
7472         (gst_base_transform_prepare_output_buffer),
7473         (gst_base_transform_get_unit_size),
7474         (gst_base_transform_buffer_alloc),
7475         (gst_base_transform_handle_buffer),
7476         (gst_base_transform_change_state):
7477         Cleanups, separate normal flow from errors, add sensible
7478         DEBUG lines.
7479         Don't try to renegotiate when allocating an output buffer.
7480         Also copy DISCONT buffer flag when copying a buffer.
7481         Reset the transform after we finish streaming, not during.
7482
7483 2006-03-08  Wim Taymans  <wim@fluendo.com>
7484
7485         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7486         Use last buffer timestamp in qos message.
7487
7488 2006-03-07  Wim Taymans  <wim@fluendo.com>
7489
7490         Patch by: Christophe Fergeau
7491
7492         * docs/pwg/advanced-tagging.xml:
7493         * docs/pwg/building-pads.xml:
7494           fixes #333416
7495
7496 2006-03-07  Wim Taymans  <wim@fluendo.com>
7497
7498         * docs/libs/gstreamer-libs-sections.txt:
7499         Added basesink new methods.
7500
7501         * gst/gstevent.c:
7502         * gst/gstevent.h:
7503         Docs updates. Flesh out the QoS docs.
7504
7505         * libs/gst/base/gstadapter.c:
7506         Small doc clarification about ownership and flushing.
7507
7508         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
7509         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
7510         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
7511         (gst_base_sink_get_property), (gst_base_sink_do_sync):
7512         * libs/gst/base/gstbasesink.h:
7513         API additions: 
7514         Added new methods to allow subclass to control max-lateness 
7515         and sync.
7516         Generate very basic QoS events based on last sync observation.
7517         Updated docs, fix typo, added some QoS blurb.
7518
7519         * libs/gst/base/gstbasesrc.c:
7520         Remove obsolete _get_state() calls from docs.
7521
7522 2006-03-07  Wim Taymans  <wim@fluendo.com>
7523
7524         * docs/libs/gstreamer-libs-sections.txt:
7525         * libs/gst/base/gstbasetransform.h:
7526         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
7527         Fix docs for GstBaseSrc.
7528
7529 2006-03-07  Wim Taymans  <wim@fluendo.com>
7530
7531         * docs/gst/gstreamer-sections.txt:
7532         * gst/gstbuffer.h:
7533         * gst/gstvalue.c:
7534         * libs/gst/base/gstbasetransform.h:
7535         Small documentation fixes.
7536
7537 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
7538
7539         * gst/gstvalue.c:
7540           Document thread-unsafety of gst_value_register_foo_func()
7541           when used at the same time as gst_value_foo() (#322628).
7542
7543 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
7544
7545         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
7546         (gst_push_src_check_get_range):
7547           Push sources don't support pull mode by default.
7548
7549 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
7550
7551         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
7552         (gst_base_src_init), (gst_base_src_pad_check_get_range),
7553         (gst_base_src_default_check_get_range):
7554         * libs/gst/base/gstbasesrc.h:
7555           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
7556           provide default implementation, and rename
7557           gst_base_src_check_get_range() to
7558           gst_base_src_pad_check_get_range() for clarity.
7559
7560 2006-03-06  Wim Taymans  <wim@fluendo.com>
7561
7562         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
7563         Make property overridable.
7564
7565 2006-03-06  Wim Taymans  <wim@fluendo.com>
7566
7567         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
7568         (gst_base_sink_init), (gst_base_sink_set_property),
7569         (gst_base_sink_get_property), (gst_base_sink_do_sync):
7570         * libs/gst/base/gstbasesink.h:
7571         API addition: Make max-lateness a property.
7572
7573 2006-03-06  Wim Taymans  <wim@fluendo.com>
7574
7575         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
7576         (gst_base_sink_do_sync), (gst_base_sink_render_object):
7577         Don't ever draw a frame that is >10ms late.
7578
7579 2006-03-06  Michael Smith  <msmith@fluendo.com>
7580
7581         * gst/gstmessage.c: (_gst_message_copy):
7582           When copying a message, set the parent_refcount of the enclosed
7583           structure to point at the copy, not the original message.
7584
7585 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
7586
7587         Patch by: Christophe Fergeau
7588
7589         * gst/gstutils.h:
7590           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
7591           usable in c++ code (#333417)
7592
7593 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7594
7595         * gst/gstclock.h:
7596           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
7597
7598 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
7599
7600         * libs/gst/base/gstbasetransform.c:
7601         (gst_base_transform_transform_caps):
7602           Make sure caps are writable before passing them to
7603           gst_caps_append().
7604
7605 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
7606
7607         * gst/gsterror.h:
7608           Fix some minor docs errors.
7609
7610 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
7611
7612           Patch by: Ross Burton <ross at burtonini dot com>
7613
7614         * gst/gsterror.c: (_gst_resource_errors_init):
7615         * gst/gsterror.h:
7616           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
7617
7618 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
7619
7620         * gst/gst.c:
7621         Add a check and output a g_warning when GStreamer is built
7622         against GLib 2.6 but running against 2.8 or higher, and vice 
7623         versa. (Closes: #323542)
7624
7625 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
7626
7627         * gst/parse/parse.l:
7628           Commit patch for parse_launch syntax from #331255. Removes 
7629           support for quoted strings and mimetypes when writing filtered 
7630           caps. See the bug report for more details - I'm pretty sure this
7631           obscure feature is not in use by _anyone_ anywhere.
7632
7633           With this simple change, the size of the gstreamer.so here 
7634           drops from 2193KB to 1565KB.
7635
7636 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
7637
7638         * plugins/elements/gsttypefindelement.h:
7639         * plugins/elements/gsttypefindelement.c:
7640         (gst_type_find_element_src_event), (start_typefinding),
7641         (stop_typefinding), (gst_type_find_element_handle_event),
7642         (gst_type_find_element_chain),
7643         (gst_type_find_element_chain_do_typefinding):
7644           Use gst_type_find_helper_for_buffer() for chain-based
7645           typefinding.
7646
7647 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
7648
7649         * plugins/elements/gsttypefindelement.c:
7650         (gst_type_find_element_class_init),
7651         (gst_type_find_element_set_property),
7652         (gst_type_find_element_get_property):
7653           Deprecate "maximum" property (not only was it only taken into
7654           account for typefinding in push-mode anyway, it also was never
7655           actually possible to set it in the first place because the
7656           property was registered with the numeric property ID for the
7657           "minimum" property). Register "maximum" property correctly,
7658           for the sake of future copy'n'pasters. Remove some cruft
7659           from property get/set functions.
7660
7661 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
7662
7663         * plugins/elements/gsttypefindelement.c:
7664         (gst_type_find_element_activate):
7665           Use gst_type_find_helper_get_range() here, so we
7666           can honour the "minimum" property and also emit
7667           the signal with the correct probability of the found caps.
7668
7669 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
7670
7671         * docs/libs/gstreamer-libs-sections.txt:
7672         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
7673         (helper_find_suggest), (gst_type_find_helper_get_range),
7674         (gst_type_find_helper):
7675         * libs/gst/base/gsttypefindhelper.h:
7676           New API: gst_type_find_helper_get_range() (#333042).
7677
7678 2006-03-02  Michael Smith  <msmith@fluendo.com>
7679
7680         * gst/gstregistryxml.c: (load_feature):
7681           Asserting on a failure to read part of the registry is Not Cool.
7682           Just log a warning and return NULL (which is already handled)
7683
7684 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
7685
7686         * win32/common/libgstbase.def:
7687           added export of gst_type_find_helper_for_buffer
7688         * win32/common/libgstbase.def:
7689           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
7690           gst_ghost_pad_get_target
7691
7692 2006-02-28  Wim Taymans  <wim@fluendo.com>
7693
7694         * docs/design/draft-klass.txt:
7695         We use Filter now.
7696         Added Connector to mark elements that are only used to
7697         allow pipeline connections.
7698         Moved Debug to extra feature since most of them are 
7699         functionally something else.
7700
7701 2006-02-28  Wim Taymans  <wim@fluendo.com>
7702
7703         * docs/design/draft-klass.txt:
7704         Some updates and clarifications.
7705
7706 2006-02-28  Wim Taymans  <wim@fluendo.com>
7707
7708         * docs/design/draft-klass.txt:
7709         Proposal for klass field values.
7710
7711         * docs/design/part-streams.txt:
7712         Start of a doc describing stream anatomy.
7713
7714 2006-02-28  Wim Taymans  <wim@fluendo.com>
7715
7716         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
7717         Help the compiler a bit with type registration.
7718         Use existing forward cod path instead of duplicating it when 
7719         handling a message.
7720         
7721         * gst/gstbus.c: (gst_bus_get_type):
7722         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
7723         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
7724         * gst/gstclock.c: (gst_clock_get_type):
7725         * gst/gstelement.c: (gst_element_get_type),
7726         * gst/gstelementfactory.c: (gst_element_factory_get_type):
7727         * gst/gstindexfactory.c: (gst_index_factory_get_type):
7728         * gst/gstminiobject.c: (gst_mini_object_get_type):
7729         * gst/gstpad.c: (gst_pad_get_type):
7730         * gst/gstsegment.c: (gst_segment_get_type):
7731         * gst/gststructure.c: (gst_structure_get_type):
7732         * gst/gstsystemclock.c: (gst_system_clock_get_type):
7733         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
7734         * gst/gstvalue.c:
7735         Help compiler with type registration.
7736
7737         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
7738         Small doc update.
7739
7740 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
7741
7742         * plugins/elements/gsttypefindelement.c:
7743         (gst_type_find_element_handle_event):
7744           When we get an EOS event and have not found a type yet
7745           (most likely because we had not yet accumulated
7746           TYPE_FIND_MIN_SIZE of data yet), try to determine the
7747           type given the data we have so far. Fixes typefinding
7748           for very short streams again, most notably quicktime
7749           redirections as used on Apple's trailer site (#331701).
7750
7751 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
7752
7753         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
7754         (gst_type_find_helper):
7755           Try typefinding factories with the highest rank first.
7756
7757 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
7758
7759         * docs/libs/gstreamer-libs-docs.sgml:
7760         * docs/libs/gstreamer-libs-sections.txt:
7761         * libs/gst/base/gsttypefindhelper.c:
7762           Add section for typefind helper and add documentation
7763           for the old and the new function.
7764
7765 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
7766
7767         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
7768         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
7769         (gst_type_find_helper_for_buffer):
7770         * libs/gst/base/gsttypefindhelper.h:
7771           New API: gst_type_find_helper_for_buffer() (#332723).
7772           
7773 2006-02-27  Michael Smith  <msmith@fluendo.com>
7774
7775         Patch by: Loïc Minier
7776
7777         * configure.ac:
7778         * docs/Makefile.am:
7779         * docs/slides/Makefile.am:
7780           prevent CVS directories getting disted.
7781
7782 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
7783
7784         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
7785           Use the REFCOUNTING category for caps refcounting.
7786           
7787 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
7788
7789         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
7790           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
7791
7792 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
7793
7794         * plugins/elements/gsttypefindelement.c:
7795         (gst_type_find_element_activate):
7796           Use gst_pad_check_pull_range() before _activate_pull()
7797           to avoid unnecessary open/close (see #331690).
7798
7799 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
7800
7801         * gst/gstutils.c:
7802           Docs enhancement: make it crystal clear what the
7803           gst_pad_add_*_probe() callbacks should look like.
7804
7805 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
7806
7807         * libs/gst/base/gstbasesrc.c:
7808           Document how applications can stop recording from
7809           live sources (see #330996).
7810
7811 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
7812
7813         * tests/check/Makefile.am:
7814         * tests/check/libs/basesrc.c: (eos_event_counter),
7815         (basesrc_eos_events_pull), (basesrc_eos_events_push),
7816         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
7817         (gst_basesrc_suite), (main):
7818           ... and add some tests for the base source EOS stuff.
7819
7820 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
7821
7822         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
7823           Test case originally showed the problem fixed below,
7824           but was then amended. Add checks back at the place
7825           where they used to be.
7826
7827 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
7828
7829         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
7830         (gst_base_src_init), (gst_base_src_loop),
7831         (gst_base_src_activate_push), (gst_base_src_activate_pull),
7832         (gst_base_src_change_state):
7833         * libs/gst/base/gstbasesrc.h:
7834           Don't unconditionally send EOS when going from PAUSED to
7835           READY state, esp. make sure we don't send two EOS events
7836           in some cases (e.g. one when reaching EOS and one when
7837           going from PAUSED to READY). Also, we don't want to send
7838           EOS events when operating in pull mode. However, we do
7839           want to send an EOS event when shutting down a live
7840           source explicitly, for example (fixes #330996).
7841           
7842 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
7843
7844         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
7845           Update src->read_position after a seek when not using mmap.
7846           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
7847
7848 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
7849
7850         * gst/Makefile.am:
7851         * gst/gstparse.h:
7852         * gst/gstutils.c:
7853         * gst/gstutils.h:
7854         Make things work with --disable-parse as they do with 
7855         --disable-load-save - the symbols involved disappear, but the
7856         header is still installed and GST_DISABLE_PARSE is included via
7857         gstconfig.h
7858
7859 2006-02-20  Julien MOUTTE  <julien@moutte.net>
7860
7861         * libs/gst/base/gstbasetransform.c:
7862         (gst_base_transform_change_state): Fix a stupid bug. I was 
7863         sure I compiled that.
7864
7865 2006-02-20  Julien MOUTTE  <julien@moutte.net>
7866
7867         * gst/gstpad.c: (gst_pad_set_blocked_async):
7868         * gst/gstutils.c: (gst_pad_add_data_probe),
7869         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
7870         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
7871         (gst_pad_remove_buffer_probe): Make those function act on the
7872         ghostpad target when it's a ghostpad. (Closes #331727)
7873
7874 2006-02-20  Julien MOUTTE  <julien@moutte.net>
7875
7876         * libs/gst/base/gstbasetransform.c:
7877         (gst_base_transform_change_state): Make basetransform reusable.
7878         (Closes #331898)
7879
7880 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
7881
7882         * docs/random/release:
7883         Move the current documentation of how to do a release to the top
7884         of the file.
7885
7886         * gst/gstbin.c: (gst_bin_class_init),
7887         (gst_bin_handle_message_func):
7888         Allow multiple state-recalculation threads. (Closes #328873)
7889
7890 2006-02-19  Julien MOUTTE  <julien@moutte.net>
7891
7892         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
7893         * gst/gstpad.c: (gst_pad_set_event_function),
7894         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
7895         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
7896         2 strings. You can't use the STR_NULL macro on that.
7897
7898 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
7899
7900         * gst/gstpad.c: (gst_pad_set_event_function),
7901         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
7902         (gst_pad_set_getcaps_function)
7903         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
7904           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
7905           So now, we can use --gst-debug-level=5 on Windows
7906         * win32/common/libgstcontroller.def:
7907           Added export of gst_controller_init
7908         * win32/vs6/libgstcontroller.dsp:
7909           Fixed Release post build configuration
7910
7911 2006-02-17  Wim Taymans  <wim@fluendo.com>
7912
7913         * tests/check/gst/gstquery.c: (GST_START_TEST):
7914         Added another check.
7915
7916 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
7917
7918         * plugins/elements/gsttypefindelement.c: (find_peek):
7919           We can do peeks at non-zero offsets, as long as they
7920           fall within the buffer we have.
7921
7922 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
7923
7924         * tests/check/Makefile.am:
7925         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
7926         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
7927         (parse_suite), (main):
7928           Add testsuite for parse launch syntax
7929
7930 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
7931
7932         * plugins/elements/gsttypefindelement.c:
7933         (gst_type_find_element_chain):
7934           When typefinding is unsuccessful in the chain function, don't
7935           error out immediately. Only error out with NO_CAPS_FOUND if
7936           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
7937           otherwise simply wait for more data so we can try typefinding
7938           again with more data later. Also, don't attempt to typefind
7939           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
7940           this should improve typefinding from network sources where the
7941           size of the first buffer can be somewhat random.
7942
7943 2006-02-14  Wim Taymans  <wim@fluendo.com>
7944
7945         * docs/gst/gstreamer-sections.txt:
7946         * gst/gstpadtemplate.c:
7947         * gst/gstpadtemplate.h:
7948         Fix padtemplate docs, fixes #328805.
7949
7950 2006-02-14  Wim Taymans  <wim@fluendo.com>
7951
7952         * tools/gst-launch.c: (main):
7953         NO_PREROLL is not an ERROR so don't send confusing messages
7954         to the user.
7955
7956 2006-02-14  Wim Taymans  <wim@fluendo.com>
7957
7958         Patch by: Torsten Schoenfeld
7959
7960         * gst/gstregistry.c: (gst_registry_get_default),
7961         (_gst_registry_cleanup):
7962         Protect default registry with lock and ref/sink it.
7963         Fixes #324818
7964
7965 2006-02-14  Wim Taymans  <wim@fluendo.com>
7966
7967         * gst/gstbuffer.c:
7968         * gst/gstquery.c: (gst_query_list_add_format),
7969         (gst_query_set_formatsv), (gst_query_parse_formats_length),
7970         (gst_query_parse_formats_nth):
7971         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
7972         Docs fixes.
7973
7974 2006-02-14  Wim Taymans  <wim@fluendo.com>
7975
7976         * docs/gst/gstreamer-sections.txt:
7977         Reworked query docs.
7978
7979         * gst/gstquery.c: (gst_query_new_formats),
7980         (gst_query_list_add_format), (gst_query_set_formats),
7981         (gst_query_set_formatsv), (gst_query_parse_formats_length),
7982         (gst_query_parse_formats_nth):
7983         * gst/gstquery.h:
7984         Flesh out formats query, added some new methods.
7985         Fix part of #324398.
7986
7987         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
7988         Added query creation tests.
7989
7990 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
7991
7992         * gst/gstpad.c: (fixate_value):
7993         Add a default fixation for fraction lists.
7994
7995 2006-02-13  Wim Taymans  <wim@fluendo.com>
7996
7997         * gst/gsttask.c: (gst_task_init), (gst_task_func),
7998         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
7999         (gst_task_join):
8000         * gst/gsttask.h:
8001         Detect and warn for obvious deadlocks. fixes #320340
8002         Fix error case where lock was not released.
8003
8004         * tests/check/Makefile.am:
8005         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
8006         (task_func), (gst_element_suite), (main):
8007         Add task check.
8008
8009 2006-02-13  Wim Taymans  <wim@fluendo.com>
8010
8011         * docs/gst/gstreamer-sections.txt:
8012         * gst/gstbus.c:
8013         Add new functions to docs.
8014
8015 2006-02-13  Wim Taymans  <wim@fluendo.com>
8016
8017         * docs/design/part-TODO.txt:
8018         Updated TODO list, basesrc supports seeking to non-bytes
8019         formats.
8020
8021         * docs/design/part-element-sink.txt:
8022         Update docs.
8023
8024         * gst/gstbin.c: (bin_replace_message),
8025         (gst_bin_handle_message_func):
8026         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
8027         * gst/gstevent.c: (gst_event_finalize):
8028         * gst/gstpad.c: (gst_pad_event_default_dispatch),
8029         (gst_pad_send_event):
8030         Use shiny new _TYPE_NAME macros.
8031
8032         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
8033         Move debug statement up.
8034
8035         * gst/gstelement.c: (gst_element_set_locked_state):
8036         Add some debugging.
8037
8038 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
8039
8040         * docs/gst/gstreamer-sections.txt:
8041         * gst/gstmessage.h:
8042         * gst/gstquery.h:
8043           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
8044           macros (#330906). Also, document the already existing
8045           GST_QUERY_TYPE macro.
8046
8047 2006-02-13  Wim Taymans  <wim@fluendo.com>
8048
8049         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
8050         (event_probe), (GST_START_TEST):
8051         Only events up to the pipeline EOS are counted, there are
8052         some more when going to NULL currently which we don't care
8053         about for now.
8054
8055 2006-02-13  Wim Taymans  <wim@fluendo.com>
8056
8057         * gst/gstpad.c: (gst_pad_send_event):
8058         Correctly check flushing and emit probes. fixes #330125
8059
8060 2006-02-10  Andy Wingo  <wingo@pobox.com>
8061
8062         * gst/gstbus.c (gst_bus_class_init): Declare our private data
8063         structure.
8064         (gst_bus_init): Cache the location of the private data in the
8065         instance structure.
8066         (gst_bus_enable_sync_message_emission) 
8067         (gst_bus_disable_sync_message_emission): Implement new public
8068         functions.
8069         (gst_bus_post): Emit the sync-message signal if the user asked for
8070         it. Fixes #330684.
8071
8072         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
8073         location of the bus-private structure.
8074         (gst_bus_enable_sync_message_emission)
8075         (gst_bus_disable_sync_message_emission): API addition
8076
8077 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
8078
8079         Patch by: Vincent Torri
8080
8081         * docs/pwg/building-boiler.xml:
8082         PWG patch from #326800
8083
8084 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
8085
8086         * configure.ac:
8087         * docs/Makefile.am:
8088         * docs/design/Makefile.am:
8089           Dist design docs.
8090
8091 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
8092
8093         * configure.ac:
8094           back to CVS
8095
8096 === release 0.10.3 ===
8097
8098 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
8099
8100         * configure.ac:
8101           releasing 0.10.3, "Like a virgin"
8102
8103 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
8104
8105         * configure.ac:
8106           2nd prerelease of 0.10.3
8107           Bump libtool versioning.
8108
8109 2006-02-07  Andy Wingo  <wingo@pobox.com>
8110
8111         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
8112         update last_stop if we're in TIME format and the timestamp is
8113         valid.
8114
8115         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
8116         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
8117         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
8118         If we get a new newsegment with a different format, adapt
8119         accordingly.
8120
8121         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
8122         of 0. Not a problem, really.
8123
8124         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
8125         warn if sync=true.
8126
8127 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
8128
8129         * configure.ac:
8130           Prelease of 0.10.3
8131
8132 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
8133
8134         * win32/vs7:
8135           project files updated to the default vs7 configuration
8136         * win32/common/libgstbase.def:
8137         * win32/common/libgstreamer.def:
8138           added new symbols,
8139           removed empty lines,
8140           sorted all exported symbols alphabetically
8141         * win32/common/dirent.c:
8142         * win32/common/dirent.h:
8143         * win32/common/gchar.h:
8144           use windows line end.
8145           
8146 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
8147
8148         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
8149           Send EOS event when stopping.
8150
8151 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
8152
8153         * docs/README:
8154           Tell folks what to do if the plugin-foobar.xml file
8155           hasn't been generated for a newly-added plugin.
8156
8157 2006-02-05  Julien MOUTTE  <julien@moutte.net>
8158
8159         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
8160         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
8161         (gst_collect_pads_start), (gst_collect_pads_stop),
8162         (gst_collect_pads_event): Collectpads now holds a reference
8163         to the GstPad that was added. Indeed we don't want to look
8164         at pads that might just go away with no warning...
8165
8166 2006-02-05  Julien MOUTTE  <julien@moutte.net>
8167
8168         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
8169         (gst_collect_pads_start), (gst_collect_pads_stop),
8170         (gst_collect_pads_event), (gst_collect_pads_chain):
8171         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
8172         Mark Nauwelaerts's patch on bug #328491.
8173
8174 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
8175
8176         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
8177         (gst_utils_suite):
8178           Add some simple tests for gst_parse_bin_from_description() and
8179           gst_bin_find_unconnected_pad() (#329069).
8180
8181 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
8182
8183         * tools/gst-launch.c: (event_loop), (main):
8184           Catch errors during preroll (#320084).
8185
8186 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
8187
8188         * plugins/elements/gsttypefindelement.c:
8189         (gst_type_find_element_activate):
8190           Post TYPE_NOT_FOUND error message when typefinding
8191           is unsuccessful in the activate function as well.
8192
8193 2006-02-02  Wim Taymans  <wim@fluendo.com>
8194
8195         * docs/design/part-element-sink.txt:
8196         Updated doc.
8197
8198 2006-02-02  Wim Taymans  <wim@fluendo.com>
8199
8200         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
8201         (gst_base_sink_render_object),
8202         (gst_base_sink_queue_object_unlocked):
8203         Only keep track of prerollable items when we are 
8204         prerolling.
8205         Before rendering after preroll, always check if we
8206         have queued items.
8207         Added some more debugging.
8208
8209 2006-02-02  Wim Taymans  <wim@fluendo.com>
8210
8211         * gst/gstelement.c: (gst_element_continue_state),
8212         (gst_element_set_state_func), (gst_element_change_state):
8213         Fixed #326576, been running this for quite some time with
8214         no regressions at all.
8215
8216 2006-02-02  Wim Taymans  <wim@fluendo.com>
8217
8218         * common/gst.supp:
8219         Added more suppressions
8220
8221 2006-02-02  Wim Taymans  <wim@fluendo.com>
8222
8223         * docs/design/part-element-sink.txt:
8224         Updated document.
8225
8226         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
8227         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
8228         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
8229         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
8230         (gst_base_sink_do_sync), (gst_base_sink_render_object),
8231         (gst_base_sink_preroll_object),
8232         (gst_base_sink_queue_object_unlocked),
8233         (gst_base_sink_queue_object), (gst_base_sink_event),
8234         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
8235         (gst_base_sink_loop), (gst_base_sink_activate_pull),
8236         (gst_base_sink_get_position), (gst_base_sink_change_state):
8237         * libs/gst/base/gstbasesink.h:
8238         Totally refactored matching the design doc.
8239         Use two segments, one to clip incomming buffers and another to
8240         perform sync.
8241         Handle queueing correctly, bypass the queue when playing.
8242         Make EOS cancelable.
8243         Handle errors correctly when operating in pull based mode.
8244
8245         * tests/check/elements/fakesink.c: (GST_START_TEST),
8246         (fakesink_suite):
8247         Added new check for sinks.
8248
8249 2006-02-02  Wim Taymans  <wim@fluendo.com>
8250
8251         * gst/gstsegment.c: (gst_segment_clip):
8252         No reason to refuse to clip when start == -1
8253
8254 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
8255
8256         * docs/README:
8257         * docs/manual/intro-basics.xml:
8258         * docs/manual/intro-preface.xml:
8259         * docs/manual/manual.xml:
8260         * docs/pwg/advanced-dparams.xml:
8261         * docs/pwg/intro-basics.xml:
8262         * docs/pwg/intro-preface.xml:
8263         * docs/pwg/pwg.xml:
8264           describe dparams (controller) for plugins
8265           unify docs a little more
8266
8267 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
8268
8269         * docs/gst/gstreamer-sections.txt:
8270         * gst/gstutils.c: (element_find_unconnected_pad),
8271         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
8272         * gst/gstutils.h:
8273           Add new API: gst_parse_bin_from_description() and
8274           gst_bin_find_unconnected_pad() (#329069).
8275
8276 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
8277
8278         * docs/manual/README:
8279           uncover a nasty detail of the docs build
8280
8281 2006-01-31  Wim Taymans  <wim@fluendo.com>
8282
8283         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
8284         Don't cache duration messages if we're not going to use or
8285         free them.
8286
8287 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
8288
8289         * docs/manual/advanced-dparams.xml:
8290         * docs/pwg/advanced-dparams.xml:
8291           more dparam docs
8292         * gst/gstindex.c:
8293           fix docs
8294         * libs/gst/controller/lib.c: (gst_controller_init):
8295           init just once
8296
8297 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
8298
8299         * gst/gstelement.c: (gst_element_message_full):
8300           also show file/line/func if no additional debug was given
8301
8302 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
8303         
8304         * win32/vs7/grammar.vcproj:
8305           activate copy of autogenerated files for Release mode
8306
8307 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
8308         
8309         * win32/common/libgstreamer.def:
8310           export gst_value_compare
8311
8312 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
8313
8314         * plugins/elements/Makefile.am:
8315         * plugins/elements/gstelements.c:
8316         * plugins/elements/gstfdsink.c: (_do_init),
8317         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
8318         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
8319         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
8320         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
8321         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
8322         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
8323         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
8324         * plugins/elements/gstfdsink.h:
8325         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
8326
8327 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
8328
8329         * docs/manual/advanced-dparams.xml:
8330           describe controller
8331         * docs/manual/advanced-position.xml:
8332         * docs/manual/basics-init.xml:
8333         * docs/manual/manual.xml:
8334         * docs/manual/titlepage.xml:
8335         * docs/pwg/pwg.xml:
8336         * docs/pwg/titlepage.xml:
8337           cleanup xml (more to come)
8338         * libs/gst/controller/gstcontroller.c:
8339           fix typo
8340
8341 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
8342         
8343         * win32/vs6/grammar.dsp:
8344           add autogen of gstmarshal.c,h for Release mode
8345                 
8346 2006-01-30  Wim Taymans  <wim@fluendo.com>
8347
8348         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
8349         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
8350         (gst_base_sink_handle_object), (gst_base_sink_event),
8351         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
8352         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
8353         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
8354         (gst_base_sink_deactivate), (gst_base_sink_activate),
8355         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
8356         (gst_base_sink_query), (gst_base_sink_change_state):
8357         Basesink cleanups, remove some old code.
8358         Handle the case where a subclass can preroll in the render
8359         method (mostly audiosinks).
8360         Handle more events.
8361         Remove some locks around variables that are now protected
8362         with the PREROLL_LOCK (clock_id, flushing, ..).
8363         Optimize position query some more, do correct locking.
8364         Remove old code to push queue in state change, this is not
8365         needed anymore since preroll blocks on all prerollable items 
8366         now.
8367         Almost implemented as described in design doc.
8368
8369 2006-01-30  Wim Taymans  <wim@fluendo.com>
8370
8371         * tests/check/gst/gstbin.c: (GST_START_TEST):
8372         Wait for refcount to settle down before checking.
8373
8374 2006-01-30  Wim Taymans  <wim@fluendo.com>
8375
8376         * docs/design/part-element-sink.txt:
8377         Pseudo code overview of desired sink behaviour regarding
8378         preroll.
8379
8380 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
8381         * win32/vs6/grammar.dsp:
8382           fix some bugs in Release mode for autogenerated files
8383                 
8384 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
8385         * win32/common/libgstbase.def:
8386         * win32/common/libgstreamer.def:
8387           export some new symbols: gst_base_src_set_format,
8388           gst_iterator_next, gst_structure_set_valist
8389
8390 2006-01-29  Julien MOUTTE  <julien@moutte.net>
8391
8392         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
8393         Set pad functions unconditionally. Fixes #329105.
8394
8395 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
8396         * win32/vs8:
8397           add vs8 project files created by Sergey Scobich
8398
8399 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
8400
8401         * gst/gstutils.c: (gst_element_unlink_pads):
8402         Don't leak pad references.
8403
8404         * tests/check/elements/fakesink.c: (GST_START_TEST):
8405         * tests/check/generic/sinks.c: (GST_START_TEST):
8406         * tests/check/generic/states.c: (GST_START_TEST):
8407         * tests/check/gst/gstbin.c: (GST_START_TEST):
8408         * tests/check/gst/gstcaps.c: (GST_START_TEST):
8409         * tests/check/gst/gstelement.c: (GST_START_TEST):
8410         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
8411         * tests/check/gst/gstiterator.c: (GST_START_TEST):
8412         * tests/check/gst/gstvalue.c: (GST_START_TEST):
8413         Fix a bunch of leaks. Make generic/sinks.c
8414         use a bit less cpu by slowing the buffer rate
8415         between fakesrc and fakesink.
8416         
8417 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
8418         * gst/gstcaps.c:
8419         * gst/gstelement.c: (gst_element_send_event):
8420         * gst/gstevent.c:
8421         * gst/gstinfo.c:
8422         * gst/gstiterator.c:
8423         * gst/gstiterator.h:
8424         * gst/gstpad.c: (gst_pad_send_event):
8425         * gst/gststructure.c:
8426         * gst/gsturi.c:
8427         * gst/gstutils.c:
8428         * gst/gstvalue.c:
8429         * libs/gst/base/gstadapter.c:
8430           doc fixes, to link to function, just write gst_cool_function(), don't
8431           prefix with '#'
8432
8433 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
8434
8435         * plugins/elements/gsttee.c: (gst_tee_do_push),
8436         (gst_tee_handle_buffer):
8437         Always prefer an actual return value from a src
8438         pad in place of NOT_LINKED. This means we return
8439         WRONG_STATE when all src pads are WRONG_STATE
8440         instead of NOT_LINKED.
8441
8442         Lock when replacing the last message to prevent
8443         racing with the get_property method.
8444
8445         Add debug output
8446
8447 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
8448
8449         * tests/check/Makefile.am:
8450         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
8451         (main):
8452         Add a very simple check that should have caught the memleak I fixed
8453         last night (if not for the slice allocator hiding it)
8454
8455 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
8456
8457         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
8458         (gst_bin_remove_func), (gst_bin_handle_message_func),
8459         (bin_query_duration_fold), (bin_query_generic_fold):
8460         Clean up references to the clock provider when disposed or when
8461         handling a clock-lost message from it.
8462
8463         Unref sinks when performing a query via gst_iterator_fold, as the
8464         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
8465
8466         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
8467         (gst_clock_set_master):
8468         Drop our reference to the master clock, if any, when we are disposed.
8469
8470         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
8471         Chain up in dispose. 
8472
8473 2006-01-26  Wim Taymans  <wim@fluendo.com>
8474
8475         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
8476         Add some debugging.
8477
8478 2006-01-26  Julien MOUTTE  <julien@moutte.net>
8479
8480         * plugins/elements/gsttee.c: (gst_tee_do_push),
8481         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
8482         handles pad being NOT_LINKED or in WRONG_STATE.
8483
8484 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
8485
8486         * win32/MANIFEST:
8487           more updating
8488
8489 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
8490
8491         * win32/MANIFEST:
8492           remove obsolete entry
8493
8494 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
8495
8496         * docs/gst/gstreamer-sections.txt:
8497         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
8498         (gst_bin_iterate_sources), (gst_bin_send_event):
8499         * gst/gstbin.h:
8500         * gst/gstelement.c: (gst_element_send_event):
8501         * gst/gstevent.c:
8502         * gst/gstpad.c: (gst_pad_send_event):
8503           added code for downstream events, reviewed docs in gstevent.c
8504
8505 2006-01-25  Julien MOUTTE  <julien@moutte.net>
8506
8507         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
8508         We only query position using the clock in the playing state.
8509         Query peer in the other cases.
8510         * win32/common/config.h: Updates.
8511
8512 2006-01-24  Wim Taymans  <wim@fluendo.com>
8513
8514         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
8515         A clock entry that is scheduled for the exact time of the
8516         clock is still in time.
8517
8518         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8519         (gst_base_sink_do_sync):
8520         Add some more debug info.
8521
8522 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
8523
8524         * win32/vs7:
8525           Add new vs7 project files and solution.
8526
8527 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
8528
8529         * win32/vs7:
8530           all files removed as they were out-dated.
8531
8532 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8533
8534         * docs/random/release:
8535           update notes
8536         * gst/gstbin.c: (gst_bin_init):
8537         * gst/gstbus.c: (gst_bus_new):
8538         * gst/gstbus.h:
8539         * gst/gstpipeline.c: (gst_pipeline_init):
8540           use gst_bus_new(), improve logging, fix docs
8541         * win32/common/config.h:
8542           update for cvs build
8543
8544 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8545
8546         * autogen.sh:
8547           up required version of automake to 1.7
8548
8549 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
8550
8551         * win32/common/libgstreamer.def:
8552           export gst_buffer_is_metadata_writable
8553
8554 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
8555
8556         * docs/gst/gstreamer-sections.txt:
8557         * gst/gstevent.h:
8558           Add gst_event_replace() (#327001)
8559
8560 2006-01-20  Wim Taymans  <wim@fluendo.com>
8561
8562         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
8563         Make it actually compile too..
8564
8565 2006-01-20  Wim Taymans  <wim@fluendo.com>
8566
8567         * gst/gstcaps.c:
8568         Clarify behaviour of _is_equal() when passing NULL parameters.
8569
8570         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
8571         (gst_pad_set_caps):
8572         Cleanups. Don't unref NULL caps.
8573         When setting the same caps, protect caps of the pad with
8574         proper lock.
8575         Use full functionality of _is_equal() when comparing caps.
8576
8577 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
8578
8579         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
8580         Don't loop infinitely if there are no buffers to present. Partially
8581         fixes #327197, but collectpads is just broken for reusing elements
8582         to do multiple encodes atm.
8583
8584 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
8585
8586         * tools/gst-inspect.c: (print_element_features):
8587         * tools/gst-xmlinspect.c: (main):
8588         URL_HANDLER is not a plugin feature we can search for in
8589         the registry.
8590
8591 2006-01-19  Edward Hervey  <edward@fluendo.com>
8592
8593         * gst/gstelement.c: (gst_element_pads_activate): 
8594         When activating, do src pads first, then sink pads.
8595         When de-activating, do sink pads first, then src pads.
8596
8597 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
8598
8599         * docs/gst/gstreamer-sections.txt:
8600         Add gst_index_add_associationv to the docs
8601
8602 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
8603
8604         * gst/gstevent.c:
8605           Fix docs typo
8606
8607         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
8608         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
8609           Do some refactoring. Doesn't actually change functionality,
8610           but makes landing the DRAIN event easier later.
8611
8612 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
8613
8614         * docs/pwg/advanced-scheduling.xml:
8615           Update from 0.9.x to 0.10 API and make example a bit
8616           clearer.
8617
8618 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
8619
8620         * docs/gst/gstreamer-sections.txt:
8621         Add gst_buffer_(is|make)_metadata_writable methods.
8622
8623 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
8624
8625         * docs/design/part-sparsestreams.txt:
8626         Update sparse streams doc, hopefully for greater clarity
8627
8628 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
8629
8630         * docs/design/part-events.txt:
8631         Remove mention of FILLER events.
8632         Add DRAIN event.
8633
8634         * docs/design/part-sparsestreams.txt:
8635         Write some things about using NEWSEGMENT to keep sparse streams
8636         flowing.
8637
8638 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
8639
8640         * gst/gstbin.c: (gst_bin_dispose):
8641           Guard gst_object_unref call against a NULL object (dispose
8642           can theoretically be called multiple times).
8643           
8644 2006-01-18  Wim Taymans  <wim@fluendo.com>
8645
8646         * gst/gstbin.c: (gst_bin_element_set_state):
8647         * gst/gstclock.c: (gst_clock_id_wait):
8648         Added some more debug info.
8649
8650         * libs/gst/base/gstadapter.c:
8651         Added more docs.
8652
8653         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8654         (gst_base_sink_do_sync), (gst_base_sink_chain):
8655         Added some comments.
8656
8657 2006-01-18  Wim Taymans  <wim@fluendo.com>
8658
8659         * tests/check/Makefile.am:
8660         * tests/check/elements/fakesink.c: (chain_async_buffer),
8661         (chain_async), (chain_async_return), (GST_START_TEST),
8662         (fakesink_suite), (main):
8663         Added fakesink test that checks prerolling and clipping
8664         behaviour.
8665
8666         * tests/check/gst/gstutils.c: (GST_START_TEST):
8667         Make check run faster so that buildbots don't timeout.
8668
8669 2006-01-18  Wim Taymans  <wim@fluendo.com>
8670
8671         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8672         (gst_base_sink_do_sync):
8673         Some cleanups.
8674         When the sink finishes blocking on the preroll buffer, it can
8675         immediatly render it instead of rendering when the next buffer
8676         arrives.
8677
8678 2006-01-18  Wim Taymans  <wim@fluendo.com>
8679
8680         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
8681         (gst_base_sink_get_property), (gst_base_sink_do_sync),
8682         (gst_base_sink_chain):
8683         Small cleanups.
8684         GST_ELEMENT_CLOCK and sync are protected with LOCK.
8685         Don't store _last_stop if the buffer is dropped.
8686
8687 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
8688
8689         * plugins/elements/gsttypefindelement.c:
8690         (gst_type_find_element_class_init):
8691           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
8692           object method handler that sets the caps on the pad and we want
8693           that to happen before we emit the signal (fixes e.g. feeding a
8694           plain text file to decodebin).
8695
8696 2006-01-18  Christian Schaller  <Christian@fluendo.com>
8697
8698         * gst/gstplugin.c: Add MPL and Proprietary as license options
8699
8700 2006-01-18  Andy Wingo  <wingo@pobox.com>
8701
8702         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
8703         symbol was exported before, it appears this was just an oversight.
8704         Fixes #168703.
8705         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
8706
8707         * gst/gstindex.c (gst_index_add_associationv): Changed int in
8708         prototype to gint. OK since this prototype was not in the header.
8709
8710 2006-01-17  Andy Wingo  <wingo@pobox.com>
8711
8712         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
8713         registry while we remove plugins.
8714
8715         * tools/gst-inspect.c (print_element_info): Don't unref the
8716         factory arg, that should be the responsibility of whatever code
8717         received the ref. Fixes a double-free when called from
8718         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
8719         (main): Unref the factory if we have one.
8720         (print_element_list): No change -- relies on the
8721         plugin_feature_list_free to free the list of features.
8722
8723 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
8724
8725         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
8726         (gst_buffer_make_metadata_writable):
8727         * gst/gstbuffer.h:
8728         * libs/gst/base/gstbasetransform.c:
8729         (gst_base_transform_prepare_output_buf):
8730         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
8731         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8732           Replace gst_buffer_(make|is)_metadata_writable patch now
8733           that the release is out.
8734
8735 2006-01-17  Andy Wingo  <wingo@pobox.com>
8736
8737         * gst/gstregistry.c: Reflow design comment. Update so as to speak
8738         in the present tense without reference to versions.
8739
8740         * gst/gstregistry.c (gst_registry_add_plugin)
8741         (gst_registry_remove_plugin, gst_registry_remove_feature)
8742         (gst_registry_find_feature, gst_registry_get_feature_list)
8743         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
8744         (gst_registry_lookup, gst_registry_scan_path)
8745         (_gst_registry_remove_cache_plugins)
8746         (gst_registry_get_feature_list_by_plugin): Add argument
8747         validation.
8748
8749 === release 0.10.2 ===
8750
8751 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
8752
8753         * configure.ac:
8754           releasing 0.10.2, "If man is five"
8755
8756 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
8757
8758         * gst/gstbuffer.c:
8759         * gst/gstbuffer.h:
8760         * libs/gst/base/gstbasetransform.c:
8761         (gst_base_transform_prepare_output_buf):
8762         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
8763         * tests/check/gst/gstbuffer.c: (gst_test_suite):
8764           Back out patch until after the release.
8765
8766 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
8767
8768         * gst/gstminiobject.c:
8769           Spelling fix in docs.
8770         * ChangeLog - remove conflict indicator
8771
8772 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
8773
8774         Reviewed By: Andy Wingo
8775
8776         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
8777         (gst_buffer_make_metadata_writable):
8778         * gst/gstbuffer.h:
8779           Add gst_buffer_(is|make)_metadata_writable as analogues of
8780           gst_buffer_(is|make)_writable.
8781
8782         * libs/gst/base/gstbasetransform.c:
8783         (gst_base_transform_prepare_output_buf):
8784         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
8785           Use name gst_buffer_(is|make)_metadata_writable functions.
8786
8787         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8788           Test gst_buffer_(is|make)_metadata_writable
8789         
8790           (Closes: #324162)
8791
8792 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8793
8794         * docs/manual/Makefile.am:
8795           don't do parallel make
8796         * configure.ac:
8797           AC_SUBST HOST_CPU
8798         * win32/common/config.h.in:
8799           add generations for HOST_CPU and GST_MAJORMINOR
8800         * win32/common/config.h:
8801           commit generated result
8802
8803 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
8804
8805         * docs/manual/appendix-integration.xml:
8806           Update GNOME integration section to use gst_init_get_option_group()
8807           instead of the old popt stuff (#322911). Also, GNOME applications
8808           should  now use gconf*sink and gconf*src instead of the old gconf
8809           helper lib we had.
8810
8811 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
8812
8813
8814         * docs/gst/gstreamer-docs.sgml:
8815         * docs/gst/gstreamer-sections.txt:
8816         * docs/libs/gstreamer-libs-sections.txt:
8817           add new API entries to the docs
8818         * libs/gst/controller/Makefile.am:
8819         * libs/gst/controller/gstcontroller.c:
8820         * libs/gst/controller/gstcontroller.h:
8821         * libs/gst/controller/gstcontrollerprivate.h:
8822         * libs/gst/controller/gsthelper.c:
8823         * libs/gst/controller/gstinterpolation.c:
8824           move private structs to private header
8825         * po/README:
8826           gstreamer-0.7 -> gstreamer-0.10
8827         * tests/check/libs/struct_i386.h:
8828           remove private structs
8829
8830 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8831
8832         * plugins/indexers/Makefile.am:
8833           Fixes as part of #317048
8834
8835 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8836
8837         * plugins/indexers/Makefile.am:
8838           fix #316086 - compilation when mmap is missing
8839
8840 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
8841
8842         * libs/gst/base/gstbasesink.c:
8843           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
8844           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
8845         * win32/common/config.h:
8846           added some defines GST_MAJORMINOR and HOST_CPU
8847         * win32/common/libgstbase.def:
8848         * win32/common/libgstreamer.def:
8849           added some exported functions.
8850
8851 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
8852
8853         * libs/gst/controller/gstcontroller.c:
8854         (gst_controlled_property_set_interpolation_mode),
8855         (gst_controlled_property_new):
8856         * libs/gst/controller/gstcontroller.h:
8857         * libs/gst/controller/gstinterpolation.c:
8858         (interpolate_none_get_string_value_array):
8859           make G_TYPE_STRING controlable
8860
8861 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
8862
8863         * tools/README:
8864         * tools/gst-feedback.1.in:
8865         * tools/gst-inspect.1.in:
8866         * tools/gst-launch.1.in:
8867         * tools/gst-md5sum.1.in:
8868         * tools/gst-typefind.1.in:
8869         * tools/gst-xmlinspect.1.in:
8870         * tools/gst-xmllaunch.1.in:
8871           cleanup man-pages, remove reference to gst-register, document env-vars
8872
8873 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
8874
8875         * gst/gstbuffer.c: (gst_buffer_span):
8876           gst_buffer_span should copy the timestamp of the first buffer
8877           if they were both originally overlapping subbuffers of the 
8878           same parent, using the same logic as the 'slow copy' case.
8879
8880 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
8881
8882         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
8883           Need to awaken ALL the pads when we pop a buffer, otherwise
8884           collectpads only works when there is 2 input streams.
8885
8886 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
8887
8888         * docs/random/ensonic/media-device-daemon.txt:
8889           more ideas (dbus)
8890         * gst/gstbuffer.c:
8891           fix doc example, add clarification
8892         * tools/gst-launch.1.in:
8893           add initial info about GST_PLUGIN_PATH, needs more work
8894
8895 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
8896
8897         * docs/manual/basics-bins.xml:
8898         * docs/manual/basics-elements.xml:
8899         * docs/manual/intro-basics.xml:
8900           Some more minor docs additions and updates.
8901
8902 2006-01-11  Wim Taymans  <wim@fluendo.com>
8903
8904         * docs/manual/basics-bins.xml:
8905         * docs/manual/basics-elements.xml:
8906         Some small fixes as pointed out by Ser-ver on IRC.
8907
8908 2006-01-10  Edward Hervey  <edward@fluendo.com>
8909
8910         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
8911         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
8912         the single-segment mode.
8913
8914 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
8915
8916         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
8917
8918         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
8919         (gst_base_src_perform_seek), (gst_base_src_send_event),
8920         (gst_base_src_set_property), (gst_base_src_get_property),
8921         (gst_base_src_loop), (gst_base_src_start),
8922         (gst_base_src_activate_push):
8923         * libs/gst/base/gstbasesrc.h:
8924           Name (private) union; makes Sun's Forte compiler happy (#324900).
8925
8926 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
8927
8928         * README:
8929           gst-register is gone.
8930
8931 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8932
8933         * gst/gstvalue.c: (_gst_value_initialize):
8934           make the G_TYPE_DATE instantiation work if debug is disabled
8935
8936 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
8937
8938         * gst/gstmessage.c: (gst_message_parse_tag),
8939         (gst_message_parse_error), (gst_message_parse_warning):
8940           Don't crash when return location for error/warning debug
8941           string is NULL; add fact that return locations can be
8942           NULL to docs where appropriate.
8943
8944 2006-01-05  Wim Taymans  <wim@fluendo.com>
8945
8946         * gst/gstplugin.c: (gst_plugin_load_file):
8947         Replace strdup by g_strdup.
8948
8949 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8950
8951         * docs/pwg/advanced-types.xml:
8952           fix doc borkage
8953
8954 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8955
8956         submitted by: Abel Cheung
8957
8958         * po/LINGUAS:
8959         * po/zh_TW.po:
8960           Added Chinese (traditional) translation
8961
8962 2006-01-04  Wim Taymans  <wim@fluendo.com>
8963
8964         * docs/manual/basics-pads.xml:
8965         * docs/plugins/Makefile.am:
8966         * docs/plugins/gstreamer-plugins-docs.sgml:
8967         * docs/plugins/gstreamer-plugins-sections.txt:
8968         * docs/pwg/advanced-clock.xml:
8969         * docs/pwg/advanced-scheduling.xml:
8970         * docs/pwg/advanced-types.xml:
8971         * plugins/elements/gstfdsink.c:
8972         * plugins/elements/gstfdsrc.c:
8973         * plugins/elements/gstfdsrc.h:
8974         * plugins/elements/gstidentity.c: (gst_identity_class_init):
8975         * plugins/elements/gstidentity.h:
8976         * plugins/elements/gstqueue.h:
8977         * plugins/elements/gsttee.c:
8978         * plugins/elements/gsttee.h:
8979         * plugins/elements/gsttypefindelement.c:
8980         (gst_type_find_element_class_init):
8981         * plugins/elements/gsttypefindelement.h:
8982         Small updates to various docs.
8983         Added core plugins to docs.
8984
8985 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8986
8987         * common/gst.supp:
8988           add a suppression for liboil's uninitialized variable
8989
8990 2006-01-02  James Livingston  <jrl at ids dot org dot au>
8991
8992         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
8993
8994         * gst/gstutils.h:
8995           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
8996           macro, so that gcc doesn't complain if the -Wmissing-prototypes
8997           compiler switch is being used (#325429).
8998
8999 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
9000
9001         * gst/gstbin.c: (gst_bin_query):
9002           Disable duration query caching in bins until it gets
9003           fixed (see #324807).
9004
9005 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
9006
9007         * tools/gst-inspect.c: (print_element_properties_info):
9008           Handle properties of POINTER and BOXED type.
9009
9010 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
9011
9012         * gst/gst.c: (init_post):
9013           Init tags stuff and some other things before loading
9014           any static plugins (there may be other static plugins
9015           than just the GStreamer ones, and they may want to
9016           register their own tags or formats or whatever, and
9017           preferably without segfaulting).
9018
9019         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
9020           Print at least a warning in the debug logs if we drop a
9021           query just because we don't know how to adjust the value
9022           in the particular format.
9023
9024 2005-12-24  David Schleef  <ds@schleef.org>
9025
9026         * tools/gstreamer-completion:
9027           Replacement for gst-complete written in sh and sed.  Only
9028           completes names of features, but that's 90% of what I want
9029           it for.  Properties are not available in registry.xml.  (Maybe
9030           they should be...)
9031
9032 === release 0.10.1 ===
9033
9034 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
9035
9036         * configure.ac:
9037           releasing 0.10.1, "Nollaig chridheil"
9038
9039 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
9040
9041         * docs/faq/cvs.xml:
9042           Add missing quote, should be make ERROR_CFLAGS="".
9043
9044 2005-12-20  Wim Taymans  <wim@fluendo.com>
9045
9046         * docs/design/part-trickmodes.txt:
9047         More documentation on trickmodes.
9048
9049 2005-12-20  Edward Hervey  <edward@fluendo.com>
9050
9051         * gst/gstcaps.c: (gst_static_caps_get_type):
9052         * gst/gstcaps.h:
9053           API addition: GST_TYPE_STATIC_CAPS
9054         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
9055         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
9056         * gst/gstpadtemplate.h:
9057           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
9058         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
9059         bindings.
9060
9061 2005-12-18  Wim Taymans  <wim@fluendo.com>
9062
9063         * libs/gst/base/gstadapter.c:
9064         * libs/gst/base/gstadapter.h:
9065         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
9066         (gst_base_sink_get_position):
9067         * libs/gst/base/gstbasesink.h:
9068         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9069         (gst_base_src_default_query), (gst_base_src_default_do_seek),
9070         (gst_base_src_do_seek), (gst_base_src_perform_seek),
9071         (gst_base_src_send_event), (gst_base_src_update_length),
9072         (gst_base_src_get_range), (gst_base_src_loop),
9073         (gst_base_src_start):
9074         * libs/gst/base/gstbasesrc.h:
9075         * libs/gst/base/gstbasetransform.h:
9076         * libs/gst/base/gstcollectpads.h:
9077         * libs/gst/base/gstpushsrc.c:
9078         * libs/gst/base/gstpushsrc.h:
9079         * libs/gst/dataprotocol/dataprotocol.c:
9080         * libs/gst/dataprotocol/dataprotocol.h:
9081         * libs/gst/net/gstnetclientclock.h:
9082         * libs/gst/net/gstnettimeprovider.h:
9083         Documentation updates.
9084
9085 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
9086
9087         * docs/manual/basics-helloworld.xml:
9088           Remove superfluous closing bracket in helloworld example.
9089
9090 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
9091
9092         * tools/gst-launch.1.in:
9093           Update gst-launch man page; add a section with useful
9094           environment variables. Fixes #323882.
9095
9096 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
9097
9098         * gst/gst.c:
9099         * gst/gst_private.h:
9100           change some char* into char[]
9101
9102 2005-12-16  Wim Taymans  <wim@fluendo.com>
9103
9104         * gst/gstregistryxml.c: (load_feature):
9105         Cleanups.
9106         Don't use g_object_unref on GstObjects so that we avoid
9107         leaks on unsafe glibs.
9108
9109 2005-12-16  Wim Taymans  <wim@fluendo.com>
9110
9111         * gst/gstbin.c: (gst_bin_recalc_state):
9112         Small doc updates.
9113
9114 2005-12-16  Wim Taymans  <wim@fluendo.com>
9115
9116         * common/check.mak:
9117         Added make forever target for check.
9118
9119 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9120
9121         * gst/gst.c: (init_post):
9122           make the registry cache file HOST_CPU-dependent
9123
9124 2005-12-16  Andy Wingo  <wingo@pobox.com>
9125
9126         * plugins/elements/gstbufferstore.c
9127         (gst_buffer_store_cleared_func): Pay attention to g_list_append
9128         return value.
9129
9130         * tests/check/gst/gstobject.c
9131         (test_fake_object_name_threaded_unique): Pay attention to
9132         g_list_sort return value.
9133
9134 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
9135
9136         * tools/gst-feedback-m.m:
9137           Update for 0.9/0.10 (fixes #323870).
9138
9139 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
9140
9141         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
9142           Fix lcopy for mini objects, the mini object needs to be ref'ed.
9143           
9144         * tests/check/gst/gstminiobject.c: (my_foo_init),
9145         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
9146         (test_value_collection), (gst_mini_object_suite):
9147           Add test to ensure refcounts end up as expected when passing
9148           GstMiniObjects through g_object_get() and g_object_set().
9149
9150 2005-12-14  Julien MOUTTE  <julien@moutte.net>
9151
9152         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
9153         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
9154         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
9155         of collectpads. This version removes a lot of races without
9156         touching API/ABI. Yay !
9157
9158 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
9159
9160         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
9161           Don't allow activation of a srcpad in pull_range if it has no
9162           getrange function.
9163           Change some debug statements to be a little clearer
9164
9165         * plugins/elements/gsttypefindelement.c:
9166         (gst_type_find_handle_src_query):
9167           Check that we have a peer before executing queries thereupon.
9168
9169         * tests/examples/metadata/read-metadata.c: (message_loop):
9170           Use gst_bus_pop instead of gst_bus_poll when we just want it to
9171           immediately return us any available message with 0 timeout.
9172
9173 2005-12-12  Michael Smith  <msmith@fluendo.com>
9174
9175         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
9176           Don't unref factories after calling them.
9177         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
9178         * plugins/elements/gsttypefindelement.c:
9179         (gst_type_find_element_chain):
9180           Free lists of factories after using them. Fixing typefinding memory
9181           leaks.
9182
9183 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9184
9185         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
9186         (gst_plugin_feature_load):
9187           more meaningful debug output
9188         * configure.ac:
9189         * tests/Makefile.am:
9190         * tests/old/examples/Makefile.am:
9191           make make distcheck happy again
9192
9193 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
9194
9195         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
9196           Catch the special case where we are operating chain-based,
9197           but the downstream peer pad has no chain function. Emit a
9198           custom error message in this case instead of letting the
9199           core generate one implying that this is some sort of core
9200           bug. It's not, it just means that whatever got plugged
9201           into the pipeline downstream when we announced the type
9202           can only operate pull-based, while our source can only
9203           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
9204           Error string has not been marked for translation yet, as
9205           it probably needs some more work first.
9206
9207         (gst_type_find_element_get_best_possibility):
9208           Add helper function to find the best of all available
9209           found possibilities that qualify given the min. threshold.
9210
9211         (gst_type_find_element_handle_event):
9212           Fix the case where we get an EOS while still in TYPEFIND
9213           mode (we want to chose the best of all possible types,
9214           not just the first type that happens to be in our unsorted
9215           list of possible types).
9216
9217         (gst_type_find_element_chain):
9218           Make sure we return GST_FLOW_ERROR when we errored out
9219           in stop_typefinding(); also, don't just find the best of
9220           all found type entries and then use the last examined
9221           type entry, but actually use the best entry.
9222
9223 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
9224
9225         * tests/examples/typefind/typefind.c: (type_found):
9226         * tests/examples/xml/runxml.c: (xml_loaded):
9227           More gcc4 fixes and a mem leak fix.
9228
9229 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9230
9231         * tests/examples/xml/createxml.c: (object_saved):
9232           gcc 4 fixes
9233
9234 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9235
9236         * tests/Makefile.am:
9237           enable the examples even more
9238
9239 2005-12-12  Andy Wingo  <wingo@pobox.com>
9240
9241         * libs/gst/net/gstnettimeprovider.c
9242         (gst_net_time_provider_class_init, gst_net_time_provider_init)
9243         (gst_net_time_provider_set_property)
9244         (gst_net_time_provider_get_property):
9245         API addition: Export "active" as a GObject property.
9246         (gst_net_time_provider_thread): Only respond to time queries if
9247         the time provider is active.
9248
9249         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
9250         NetTimeProvider, preserving binary compat.
9251
9252 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9253
9254         * tests/examples/controller/audio-example.c: (main):
9255         * tests/examples/launch/Makefile.am:
9256           convert comments again
9257
9258 2005-12-12  Wim Taymans  <wim@fluendo.com>
9259
9260         * libs/gst/base/gstpushsrc.c:
9261         Fix typo.
9262
9263 2005-12-12  Wim Taymans  <wim@fluendo.com>
9264
9265         * docs/libs/gstreamer-libs-sections.txt:
9266         Added new symbol to docs.
9267
9268         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9269         (gst_base_src_init), (gst_base_src_set_format),
9270         (gst_base_src_default_query), (gst_base_src_query),
9271         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
9272         (gst_base_src_perform_seek), (gst_base_src_send_event),
9273         (gst_base_src_default_event), (gst_base_src_event_handler),
9274         (gst_base_src_set_property), (gst_base_src_get_property),
9275         (gst_base_src_wait), (gst_base_src_do_sync),
9276         (gst_base_src_update_length), (gst_base_src_get_range),
9277         (gst_base_src_check_get_range), (gst_base_src_loop),
9278         (gst_base_src_default_negotiate), (gst_base_src_start),
9279         (gst_base_src_activate_push), (gst_base_src_activate_pull),
9280         (gst_base_src_change_state):
9281         * libs/gst/base/gstbasesrc.h:
9282         Implement seeking to other formats than _BYTES.
9283         Implement more seeking methods correctly.
9284         Doc updates.
9285         Added query vmethod.
9286         Added do_seek vmethod to make life easier for subclasses
9287         when seeking.
9288         API addition: gst_base_src_set_format()
9289
9290 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9291
9292         * tests/examples/Makefile.am:
9293           added that too
9294
9295 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9296
9297         * configure.ac:
9298         * docs/random/ensonic/media-device-daemon.txt:
9299         * tests/examples/controller/.cvsignore:
9300         * tests/examples/controller/Makefile.am:
9301         * tests/examples/controller/audio-example.c: (main):
9302         * tests/examples/helloworld/.cvsignore:
9303         * tests/examples/helloworld/Makefile.am:
9304         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
9305         * tests/examples/launch/.cvsignore:
9306         * tests/examples/launch/Makefile.am:
9307         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
9308         * tests/examples/metadata/.cvsignore:
9309         * tests/examples/metadata/Makefile.am:
9310         * tests/examples/metadata/read-metadata.c: (message_loop),
9311         (make_pipeline), (print_tag), (main):
9312         * tests/examples/queue/.cvsignore:
9313         * tests/examples/queue/Makefile.am:
9314         * tests/examples/queue/queue.c: (event_loop), (main):
9315         * tests/examples/typefind/.cvsignore:
9316         * tests/examples/typefind/Makefile.am:
9317         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
9318         (main):
9319         * tests/examples/xml/.cvsignore:
9320         * tests/examples/xml/Makefile.am:
9321         * tests/examples/xml/createxml.c: (object_saved), (main):
9322         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
9323         * tests/old/examples/Makefile.am:
9324         * tests/old/examples/TODO:
9325         * tests/old/examples/controller/.cvsignore:
9326         * tests/old/examples/controller/Makefile.am:
9327         * tests/old/examples/controller/audio-example.c:
9328         * tests/old/examples/helloworld/.cvsignore:
9329         * tests/old/examples/helloworld/Makefile.am:
9330         * tests/old/examples/helloworld/helloworld.c:
9331         * tests/old/examples/launch/.cvsignore:
9332         * tests/old/examples/launch/Makefile.am:
9333         * tests/old/examples/launch/mp3parselaunch.c:
9334         * tests/old/examples/launch/mp3play:
9335         * tests/old/examples/manual/Makefile.am:
9336         * tests/old/examples/metadata/Makefile.am:
9337         * tests/old/examples/metadata/read-metadata.c:
9338         * tests/old/examples/queue/.cvsignore:
9339         * tests/old/examples/queue/Makefile.am:
9340         * tests/old/examples/queue/queue.c:
9341         * tests/old/examples/typefind/.cvsignore:
9342         * tests/old/examples/typefind/Makefile.am:
9343         * tests/old/examples/typefind/typefind.c:
9344         * tests/old/examples/xml/.cvsignore:
9345         * tests/old/examples/xml/Makefile.am:
9346         * tests/old/examples/xml/createxml.c:
9347         * tests/old/examples/xml/runxml.c:
9348           applied some simple fixing to some examples
9349           re-enabled the working examples
9350
9351 2005-12-12  Wim Taymans  <wim@fluendo.com>
9352
9353         * gst/gstsegment.c: (gst_segment_init),
9354         (gst_segment_set_last_stop), (gst_segment_set_seek),
9355         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
9356         (gst_segment_to_running_time):
9357         Added more documentation.
9358         Make sure the last_pos value is updated properly.
9359         Make sure to_stream_time and to_running_time don't
9360         operate on wrong values.
9361
9362         * tests/check/gst/gstsegment.c: (GST_START_TEST):
9363         Update check.
9364
9365 2005-12-12  Michael Smith  <msmith@fluendo.com>
9366
9367         * plugins/elements/gsttypefindelement.c: (free_entry),
9368         (gst_type_find_element_chain):
9369           Now that we're not leaking factories, make sure we keep references
9370           to them while we need them.
9371
9372 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9373
9374         * tests/check/gst/struct_i386.h:
9375           ifdef out the XML structs
9376
9377 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9378
9379         * gst/gstvalue.c: (gst_value_transform_double_fraction):
9380           floor is not needed, F is always positive; this obviates the
9381           need for adding -lm when building without libxml
9382
9383 2005-12-12  Wim Taymans  <wim@fluendo.com>
9384
9385         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
9386         Take current playback rate into account when reporting
9387         the position.
9388
9389 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9390
9391         * docs/manual/mime-world.fig:
9392           Let's try this again, this time with a file that is
9393           actually in XFig format.
9394
9395 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9396
9397         * docs/manual/mime-world.fig:
9398           Add audioconvert element to diagram so that it
9399           matches the text and the code (fixes #319526).
9400
9401 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9402
9403         * docs/pwg/building-chainfn.xml:
9404         * docs/pwg/building-pads.xml:
9405         * docs/pwg/building-state.xml:
9406         * docs/pwg/other-source.xml:
9407           Update state change stuff for 0.10 (fixes #322969).
9408
9409 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9410
9411         * docs/manual/advanced-dataaccess.xml:
9412         * docs/manual/appendix-checklist.xml:
9413         * docs/manual/appendix-programs.xml:
9414         * docs/manual/basics-pads.xml:
9415         * docs/manual/highlevel-components.xml:
9416         * docs/manual/manual.xml:
9417           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
9418           add converters in front of pipelines; remove curly
9419           brackets for threads stuff, they no longer exist; use
9420           GST_TYPE_FRACTION for framerates; update some pieces of
9421           code to 0.10, but there's plenty more to do.
9422
9423         * docs/manual/appendix-porting.xml:
9424           Expand on asynchroneous state changes; s/0.9/0.10/;
9425           mention disappearance of gst_init_get_popt_table()
9426           (fixes #322916).
9427
9428 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9429
9430         * docs/faq/using.xml:
9431           Spider no longer exists, and neither does gst-launch-ext.
9432           Update examples to use decodebin and playbin and put
9433           converters in front of sinks (fixes #323726).
9434
9435 2005-12-09  Michael Smith  <msmith@fluendo.com>
9436
9437         * plugins/elements/gsttypefindelement.c: (find_peek),
9438         (gst_type_find_element_chain):
9439           Fix leaking element factories in typefinding.
9440           Fix problem where we forgot about a probable type on non-seekable
9441           files, and thus later mis-typefound it.
9442
9443 2005-12-09  Michael Smith  <msmith@fluendo.com>
9444
9445         * common/m4/gst-makecontext.m4:
9446         * common/m4/gst-mcsc.m4:
9447         * configure.ac:
9448         * win32/common/config.h:
9449         * win32/common/config.h.in:
9450           Remove makecontext stuff; not used in 0.10 and causes problems on
9451           HPUX according to bug #322441
9452
9453 2005-12-07  Wim Taymans  <wim@fluendo.com>
9454
9455         * tests/check/Makefile.am:
9456         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
9457         (main):
9458         * tests/check/libs/struct_i386.h:
9459         Added ABI check for libs
9460
9461 2005-12-07  Wim Taymans  <wim@fluendo.com>
9462
9463         * tests/check/Makefile.am:
9464         And add the struct_i386.h to dist.
9465
9466 2005-12-07  Wim Taymans  <wim@fluendo.com>
9467
9468         * tests/check/Makefile.am:
9469         * tests/check/gst/.cvsignore:
9470         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
9471         (main):
9472         * tests/check/gst/struct_i386.h:
9473         Added check for ABI compatibility.
9474
9475 2005-12-07  Wim Taymans  <wim@fluendo.com>
9476
9477         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
9478         (gst_fake_src_get_times), (gst_fake_src_create):
9479         Fix broken sync option, fixes #323259
9480
9481 2005-12-07  Wim Taymans  <wim@fluendo.com>
9482
9483         * gst/gstbuffer.c:
9484         Small docs update.
9485
9486         * gst/gstcaps.c: (gst_caps_is_equal):
9487         Don't assert on NULL <--> X. Fixes #323260
9488
9489         * gst/gstminiobject.c: (gst_mini_object_replace):
9490         If we're doing atomic operations, we might just as well use
9491         the proper way to get an atomic pointer.
9492
9493         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
9494         Clean up debugging.
9495
9496 2005-12-07  Michael Smith  <msmith@fluendo.com>
9497
9498         * gst/parse/grammar.y:
9499           Remove handling of { } for threads.
9500
9501 2005-12-06  David Schleef  <ds@schleef.org>
9502
9503         * libs/gst/base/gstbasetransform.c: speling fix.
9504
9505 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9506
9507         * docs/libs/tmpl/gstdataprotocol.sgml:
9508         * docs/random/omega/testing/gstobject.c:
9509         * gst/gst.c:
9510         * gst/gstclock.c:
9511         * gst/gstelement.c:
9512         * gst/gstelementfactory.c:
9513         * gst/gsterror.c:
9514         * gst/gstevent.c:
9515         * gst/gstghostpad.c:
9516         * gst/gstinfo.c:
9517         * gst/gstpadtemplate.c:
9518         * gst/gstregistryxml.c:
9519         * gst/gsttaglist.c:
9520         * gst/gsttagsetter.c:
9521         * gst/gsttypefind.c:
9522         * gst/gstvalue.c:
9523         * libs/gst/base/gstbasesrc.c:
9524         * libs/gst/net/gstnetclientclock.c:
9525         * libs/gst/net/gstnettimeprovider.c:
9526         * plugins/elements/gstfakesrc.c:
9527         * plugins/elements/gstfdsrc.c:
9528         * plugins/elements/gstfilesrc.c:
9529         * plugins/elements/gstidentity.c:
9530         * plugins/elements/gstqueue.c:
9531         * plugins/elements/gsttypefindelement.c:
9532         * plugins/indexers/gstfileindex.c:
9533         * plugins/indexers/gstmemindex.c:
9534         * tests/check/gst/gsttag.c:
9535         * tests/old/examples/cutter/cutter.c:
9536         * tests/old/examples/mixer/mixer.c:
9537         * tests/old/examples/xml/runxml.c: (main):
9538         * tests/old/testsuite/caps/normalisation.c:
9539         * tests/old/testsuite/debug/global.c:
9540         * tests/old/testsuite/parse/parse1.c:
9541         * tools/gst-xmlinspect.c:
9542         * win32/common/dirent.c:
9543           expand tabs
9544
9545 === release 0.10.0 ===
9546
9547 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9548
9549         * configure.ac:
9550           releasing 0.10.0, "Maroilles"
9551
9552 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9553
9554         submitted by: Funda Wang <fundawang@linux.net.cn>
9555
9556         * po/LINGUAS:
9557         * po/zh_CN.po:
9558           added Chinese (Traditional) translation
9559
9560 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9561
9562         * docs/gst/gstreamer-sections.txt:
9563         * docs/libs/tmpl/gstdataprotocol.sgml:
9564         * docs/random/thomasvs/TODO:
9565         * gst/gstutils.c:
9566         * gst/gstutils.h:
9567           fix docs
9568
9569 2005-12-05  Andy Wingo  <wingo@pobox.com>
9570
9571         patch by: Wim Taymans <wim@fluendo.com>
9572
9573         * libs/gst/base/gstbasetransform.c
9574         (gst_base_transform_prepare_output_buf)
9575         (gst_base_transform_buffer_alloc):
9576         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
9577         alloc_buffer_and_set_caps.
9578
9579         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
9580         set_caps on the source pad.
9581         (gst_pad_alloc_buffer_and_set_caps): New function, does what
9582         alloc_buffer used to do. Fixes #322874.
9583
9584         * docs/gst/gstreamer-sections.txt: 
9585         * docs/design/part-negotiation.txt: 
9586         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
9587         changes.
9588
9589 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9590
9591         patch by: Sebastien Moutte
9592
9593         * win32/MANIFEST:
9594         * win32/common/config.h.in:
9595         * win32/vs6/libgstcontroller.dsp:
9596           win32 build fixes
9597
9598 2005-12-05  Wim Taymans  <wim@fluendo.com>
9599
9600         * gst/gstcaps.c: (gst_caps_is_equal):
9601         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
9602         (gst_fake_src_create):
9603         Back out previous code changes, leave doc updates, file bugs 
9604         instead. 
9605
9606 2005-12-05  Wim Taymans  <wim@fluendo.com>
9607
9608         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
9609         (gst_fake_src_get_times), (gst_fake_src_create):
9610         * plugins/elements/gstfakesrc.h:
9611         Fix broken sync code.
9612
9613 2005-12-05  Wim Taymans  <wim@fluendo.com>
9614
9615         * gst/gstcaps.c: (gst_caps_is_equal):
9616         Comparing NULL against !NULL yields different caps, not a
9617         failure.
9618
9619 2005-12-05  Wim Taymans  <wim@fluendo.com>
9620
9621         * gst/gstpipeline.c:
9622         Fix small typo in docs.
9623
9624 2005-12-05  Andy Wingo  <wingo@pobox.com>
9625
9626         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
9627
9628         * gst/gst.c (init_post): remove hard-coded 0.9 location for
9629         registries/plugins with a MAJORMINOR one.
9630         (plugin_desc): Rename library from gstcoreleements to
9631         staticelements. Fixes #323222.
9632
9633 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
9634
9635         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
9636           Change debug category to 'collectpads' from 'collect_pads'
9637           (fixes #323250).
9638
9639 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9640
9641         patch by: Sebastien Moutte
9642
9643         * libs/gst/controller/gstinterpolation.c:
9644           use convert function for uint64/double
9645         * win32/vs6/libgstcontroller.dsp:
9646           link to GLib
9647
9648 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9649
9650         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
9651         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
9652         * gst/gstutils.h:
9653         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
9654           add tests that seem to show that the guint64/gdouble conversions
9655           are correct.
9656
9657 2005-12-02  Wim Taymans  <wim@fluendo.com>
9658
9659         * gst/gstregistry.c: (gst_registry_add_path):
9660         * gst/gstregistry.h:
9661         * gst/gstregistryxml.c:
9662         Fix docs again.
9663
9664 2005-12-02  Wim Taymans  <wim@fluendo.com>
9665
9666         * gst/gstutils.c: (gst_util_uint64_scale_int64),
9667         (gst_util_uint64_scale_int):
9668         Small cleanup.
9669
9670         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9671         Add debug log line.
9672
9673         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
9674         Add FIXME.
9675
9676 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9677
9678         * win32/MANIFEST:
9679         * win32/common/config.h:
9680         * win32/vs6/gstreamer.dsw:
9681         * win32/vs6/libgstcoreelements.dsp:
9682         * win32/vs6/libgstelements.dsp:
9683           renamed core elements plugin
9684
9685 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9686
9687         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
9688         (get_candidates):
9689           do piece-wise major/minor comparison so 0.9 < 0.10
9690           also allow .exe extensions for tools
9691
9692 2005-12-02  Michael Smith  <msmith@fluendo.com>
9693
9694         * gst/gst.c:
9695           Escape a % to make gtkdoc happier; bug 322958.
9696
9697 === release 0.9.7 ===
9698
9699 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
9700
9701         * configure.ac:
9702           releasing 0.9.7, "My Dog Has No Nose"
9703
9704 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9705
9706         * common/gst-xmlinspect.py:
9707         * configure.ac:
9708         * docs/libs/tmpl/gstdataprotocol.sgml:
9709         * docs/random/release:
9710         * po/af.po:
9711         * po/az.po:
9712         * po/bg.po:
9713         * po/ca.po:
9714         * po/cs.po:
9715         * po/de.po:
9716         * po/en_GB.po:
9717         * po/fr.po:
9718         * po/it.po:
9719         * po/nb.po:
9720         * po/nl.po:
9721         * po/ru.po:
9722         * po/sq.po:
9723         * po/sr.po:
9724         * po/sv.po:
9725         * po/tr.po:
9726         * po/uk.po:
9727         * po/vi.po:
9728         * win32/common/config.h:
9729         * win32/common/config.h.in:
9730         * win32/vs6/gst_inspect.dsp:
9731         * win32/vs6/gst_launch.dsp:
9732         * win32/vs6/libgstbase.dsp:
9733         * win32/vs6/libgstelements.dsp:
9734         * win32/vs6/libgstreamer.dsp:
9735         * win32/vs7/GStreamer.vcproj:
9736         * win32/vs7/gst-inspect.vcproj:
9737         * win32/vs7/gst-launch.vcproj:
9738         * win32/vs7/libgstbase.vcproj:
9739           bump GST_MAJORMINOR to 0.10
9740           reset libtool version
9741
9742 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9743
9744         * po/LINGUAS:
9745         * po/bg.po:
9746           Added Bulgarian translation by (Alexander Shopov)
9747
9748 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9749
9750         * tests/check/gst/gstplugin.c:
9751           fix test
9752
9753 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9754
9755         * common/gst-xmlinspect.py:
9756         * common/gtk-doc-plugins.mak:
9757         * configure.ac:
9758         * docs/Makefile.am:
9759         * docs/gst/Makefile.am:
9760         * docs/gst/gstreamer-docs.sgml:
9761         * docs/gst/gstreamer-sections.txt:
9762         * docs/gst/gstreamer.types:
9763         * docs/gst/gstreamer.types.in:
9764         * docs/plugins/Makefile.am:
9765         * docs/plugins/gstreamer-plugins-docs.sgml:
9766         * docs/plugins/gstreamer-plugins-sections.txt:
9767         * docs/plugins/gstreamer-plugins.types:
9768         * docs/plugins/inspect.stamp:
9769         * docs/plugins/inspect/plugin-coreelements.xml:
9770         * docs/plugins/inspect/plugin-coreindexers.xml:
9771         * docs/plugins/scanobj-build.stamp:
9772         * gstreamer.spec.in:
9773         * plugins/elements/Makefile.am:
9774         * plugins/elements/gstelements.c:
9775         * plugins/elements/gstfakesink.c:
9776         * plugins/elements/gstfakesrc.c:
9777         * plugins/elements/gstfilesink.c:
9778         * plugins/elements/gstfilesrc.c:
9779         * plugins/elements/gstqueue.c:
9780         * plugins/indexers/Makefile.am:
9781         * plugins/indexers/gstindexers.c:
9782           document core plugins in a separate document just like all the
9783           others
9784           rename these plugins to something starting with core
9785
9786 2005-12-01  Andy Wingo  <wingo@pobox.com>
9787
9788         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
9789         padding here before, but it missed the commit.
9790
9791 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
9792
9793         * libs/gst/controller/gstinterpolation.c:
9794           whitespace prices have crashed, we should feel free to use some now
9795           use gst_guint64_to_gdouble
9796
9797 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
9798
9799         * libs/gst/controller/gstcontroller.c:
9800         * libs/gst/controller/gsthelper.c:
9801         * libs/gst/controller/gstinterpolation.c:
9802         * libs/gst/controller/lib.c:
9803           wrap config.h include
9804
9805 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
9806
9807         * docs/gst/gstreamer-sections.txt:
9808           update docs
9809
9810 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
9811
9812         * plugins/elements/gstelements.c:
9813         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
9814         (gst_fd_sink__class_init), (gst_fd_sink__init),
9815         (gst_fd_sink__chain), (gst_fd_sink__set_property),
9816         (gst_fd_sink__get_property):
9817         * plugins/elements/gstfdsink.h:
9818         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
9819         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
9820         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
9821         (gst_fd_src_unlock), (gst_fd_src_set_property),
9822         (gst_fd_src_get_property), (gst_fd_src_create),
9823         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
9824         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
9825         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
9826         (gst_fd_src_uri_handler_init):
9827         * plugins/elements/gstfdsrc.h:
9828         * plugins/elements/gstqueue.c: (gst_queue_get_type):
9829           more anal cleanup
9830
9831 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9832
9833         * docs/gst/Makefile.am:
9834         * docs/gst/gstreamer.types.in:
9835         * gst/Makefile.am:
9836           fix the docs build
9837
9838 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9839
9840         * configure.ac:
9841         * gst/Makefile.am:
9842         * gst/gst.c:
9843         * gst/gstplugin.h:
9844         * gst/gstregistry.h:
9845         * tests/benchmarks/complexity.c:
9846         * tests/benchmarks/mass-elements.c:
9847         * tests/check/Makefile.am:
9848         * tools/Makefile.am:
9849         * tools/gst-inspect.c:
9850         * tools/gst-xmlinspect.c:
9851           various fixes to make
9852           --disable-nls --disable-registry --disable-loadsave
9853           --disable-parse --disable-gst-debug
9854           work and get the core .so down to 360444 bytes after stripping
9855
9856 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9857
9858         * Makefile.am:
9859         * configure.ac:
9860           descend into tests
9861         * docs/random/thomasvs/TODO:
9862         * tests/Makefile.am:
9863         * tests/README:
9864           add a README
9865
9866 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9867
9868         * win32/GStreamer.vcproj:
9869         * win32/MANIFEST:
9870         * win32/Makefile:
9871         * win32/Makefile.inspect:
9872         * win32/Makefile.launch:
9873         * win32/Makefile.register:
9874         * win32/README.txt:
9875         * win32/gst-inspect.vcproj:
9876         * win32/gst-launch.vcproj:
9877         * win32/gst-register.vcproj:
9878         * win32/gstelements.vcproj:
9879         * win32/gstgetbits.def:
9880         * win32/gstgetbits.vcproj:
9881         * win32/gstreamer-dbg.def:
9882         * win32/gstreamer.def:
9883         * win32/libgstbase.def:
9884         * win32/libgstbase.vcproj:
9885         * win32/link_oldruntime.c:
9886         * win32/mman.c:
9887         * win32/mman.h:
9888         * win32/mman.inl:
9889         * win32/msvc71.sln:
9890           move even more stuff, win32/ is nice and clean now
9891
9892 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9893
9894         * libs/gst/control/.cvsignore:
9895         * win32/MANIFEST:
9896         * win32/config.h:
9897         * win32/dirent.c:
9898         * win32/dirent.h:
9899         * win32/gstbytestream.def:
9900         * win32/gstbytestream.vcproj:
9901         * win32/gstconfig.h:
9902         * win32/gstenumtypes.c:
9903         * win32/gstenumtypes.h:
9904         * win32/gstoptimalscheduler.vcproj:
9905         * win32/gstversion.h:
9906         * win32/gtchar.h:
9907         * win32/testsuite/bins.vcproj:
9908         * win32/testsuite/bytestream.vcproj:
9909         * win32/testsuite/caps.vcproj:
9910         * win32/testsuite/cleanup.vcproj:
9911         * win32/testsuite/clock.vcproj:
9912         * win32/testsuite/debug.vcproj:
9913         * win32/testsuite/dlopen.vcproj:
9914         * win32/testsuite/dynparams.vcproj:
9915         * win32/testsuite/elements.vcproj:
9916         * win32/testsuite/ghostpads.vcproj:
9917         * win32/testsuite/indexers.vcproj:
9918         * win32/testsuite/negotiation.vcproj:
9919         * win32/testsuite/parse.vcproj:
9920         * win32/testsuite/plugin.vcproj:
9921         * win32/testsuite/refcounting.vcproj:
9922         * win32/testsuite/schedulers.vcproj:
9923         * win32/testsuite/states.vcproj:
9924         * win32/testsuite/tags.vcproj:
9925         * win32/testsuite/threads.vcproj:
9926           remove old win32 stuff that isn't maintained and should be
9927           reorganized
9928
9929 2005-11-30  Andy Wingo  <wingo@pobox.com>
9930
9931         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
9932         loading the gst.interfaces python module bork.
9933
9934         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
9935         available since GLib 2.2. Fixes #318031.
9936
9937 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9938
9939         * Makefile.am:
9940         * check/.cvsignore:
9941         * check/Makefile.am:
9942         * check/elements/.cvsignore:
9943         * check/elements/fakesrc.c:
9944         * check/elements/fdsrc.c:
9945         * check/elements/identity.c:
9946         * check/generic/.cvsignore:
9947         * check/generic/states.c:
9948         * check/gst-libs/.cvsignore:
9949         * check/gst-libs/controller.c:
9950         * check/gst-libs/gdp.c:
9951         * check/gst/.cvsignore:
9952         * check/gst/capslist.h:
9953         * check/gst/gst.c:
9954         * check/gst/gstbin.c:
9955         * check/gst/gstbuffer.c:
9956         * check/gst/gstbus.c:
9957         * check/gst/gstcaps.c:
9958         * check/gst/gstelement.c:
9959         * check/gst/gstevent.c:
9960         * check/gst/gstghostpad.c:
9961         * check/gst/gstiterator.c:
9962         * check/gst/gstmessage.c:
9963         * check/gst/gstminiobject.c:
9964         * check/gst/gstobject.c:
9965         * check/gst/gstpad.c:
9966         * check/gst/gstpipeline.c:
9967         * check/gst/gstplugin.c:
9968         * check/gst/gstsegment.c:
9969         * check/gst/gststructure.c:
9970         * check/gst/gstsystemclock.c:
9971         * check/gst/gsttag.c:
9972         * check/gst/gstutils.c:
9973         * check/gst/gstvalue.c:
9974         * check/net/.cvsignore:
9975         * check/net/gstnetclientclock.c:
9976         * check/net/gstnettimeprovider.c:
9977         * check/pipelines/.cvsignore:
9978         * check/pipelines/cleanup.c:
9979         * check/pipelines/simple_launch_lines.c:
9980         * check/pipelines/stress.c:
9981         * check/states/.cvsignore:
9982         * check/states/sinks.c:
9983         * configure.ac:
9984         * examples/Makefile.am:
9985         * examples/appreader/.cvsignore:
9986         * examples/appreader/Makefile.am:
9987         * examples/appreader/appreader.c:
9988         * examples/controller/.cvsignore:
9989         * examples/controller/Makefile.am:
9990         * examples/controller/audio-example.c:
9991         * examples/cutter/.cvsignore:
9992         * examples/cutter/Makefile.am:
9993         * examples/cutter/cutter.c:
9994         * examples/cutter/cutter.h:
9995         * examples/events/Makefile.am:
9996         * examples/events/seek.c:
9997         * examples/helloworld/.cvsignore:
9998         * examples/helloworld/Makefile.am:
9999         * examples/helloworld/helloworld.c:
10000         * examples/helloworld2/.cvsignore:
10001         * examples/helloworld2/Makefile.am:
10002         * examples/helloworld2/helloworld2.c:
10003         * examples/launch/.cvsignore:
10004         * examples/launch/Makefile.am:
10005         * examples/launch/mp3parselaunch.c:
10006         * examples/launch/mp3play:
10007         * examples/manual/.cvsignore:
10008         * examples/manual/Makefile.am:
10009         * examples/manual/extract.pl:
10010         * examples/metadata/Makefile.am:
10011         * examples/metadata/read-metadata.c:
10012         * examples/mixer/.cvsignore:
10013         * examples/mixer/Makefile.am:
10014         * examples/mixer/mixer.c:
10015         * examples/mixer/mixer.h:
10016         * examples/pingpong/.cvsignore:
10017         * examples/pingpong/Makefile.am:
10018         * examples/pingpong/pingpong.c:
10019         * examples/plugins/.cvsignore:
10020         * examples/plugins/Makefile.am:
10021         * examples/plugins/example.c:
10022         * examples/plugins/example.h:
10023         * examples/pwg/.cvsignore:
10024         * examples/pwg/Makefile.am:
10025         * examples/pwg/extract.pl:
10026         * examples/queue/.cvsignore:
10027         * examples/queue/Makefile.am:
10028         * examples/queue/queue.c:
10029         * examples/queue2/.cvsignore:
10030         * examples/queue2/Makefile.am:
10031         * examples/queue2/queue2.c:
10032         * examples/queue3/.cvsignore:
10033         * examples/queue3/Makefile.am:
10034         * examples/queue3/queue3.c:
10035         * examples/queue4/.cvsignore:
10036         * examples/queue4/Makefile.am:
10037         * examples/queue4/queue4.c:
10038         * examples/retag/.cvsignore:
10039         * examples/retag/Makefile.am:
10040         * examples/retag/retag.c:
10041         * examples/retag/transcode.c:
10042         * examples/thread/.cvsignore:
10043         * examples/thread/Makefile.am:
10044         * examples/thread/thread.c:
10045         * examples/typefind/.cvsignore:
10046         * examples/typefind/Makefile.am:
10047         * examples/typefind/typefind.c:
10048         * examples/xml/.cvsignore:
10049         * examples/xml/Makefile.am:
10050         * examples/xml/createxml.c:
10051         * examples/xml/runxml.c:
10052         * tests/Makefile.am:
10053         * tests/check/Makefile.am:
10054         * testsuite/.cvsignore:
10055         * testsuite/Makefile.am:
10056         * testsuite/Rules:
10057         * testsuite/caps/.cvsignore:
10058         * testsuite/caps/Makefile.am:
10059         * testsuite/caps/app_fixate.c:
10060         * testsuite/caps/audioscale.c:
10061         * testsuite/caps/caps.c:
10062         * testsuite/caps/caps.h:
10063         * testsuite/caps/caps_strings:
10064         * testsuite/caps/compatibility.c:
10065         * testsuite/caps/deserialize.c:
10066         * testsuite/caps/enumcaps.c:
10067         * testsuite/caps/eratosthenes.c:
10068         * testsuite/caps/filtercaps.c:
10069         * testsuite/caps/fixed.c:
10070         * testsuite/caps/fraction-convert.c:
10071         * testsuite/caps/fraction-multiply-and-zero.c:
10072         * testsuite/caps/intersect2.c:
10073         * testsuite/caps/intersection.c:
10074         * testsuite/caps/normalisation.c:
10075         * testsuite/caps/random.c:
10076         * testsuite/caps/renegotiate.c:
10077         * testsuite/caps/sets.c:
10078         * testsuite/caps/simplify.c:
10079         * testsuite/caps/string-conversions.c:
10080         * testsuite/caps/structure.c:
10081         * testsuite/caps/subtract.c:
10082         * testsuite/caps/union.c:
10083         * testsuite/debug/.cvsignore:
10084         * testsuite/debug/Makefile.am:
10085         * testsuite/debug/category.c:
10086         * testsuite/debug/commandline.c:
10087         * testsuite/debug/global.c:
10088         * testsuite/debug/output.c:
10089         * testsuite/debug/printf_extension.c:
10090         * testsuite/dlopen/.cvsignore:
10091         * testsuite/dlopen/Makefile.am:
10092         * testsuite/dlopen/dlopen_gst.c:
10093         * testsuite/dlopen/loadgst.c:
10094         * testsuite/elements/.cvsignore:
10095         * testsuite/elements/Makefile.am:
10096         * testsuite/elements/gst-inspect-check.in:
10097         * testsuite/elements/struct_i386.h:
10098         * testsuite/elements/struct_size.c:
10099         * testsuite/indexers/.cvsignore:
10100         * testsuite/indexers/Makefile.am:
10101         * testsuite/indexers/cache1.c:
10102         * testsuite/indexers/indexdump.c:
10103         * testsuite/parse/.cvsignore:
10104         * testsuite/parse/Makefile.am:
10105         * testsuite/parse/parse1.c:
10106         * testsuite/parse/parse2.c:
10107         * testsuite/plugin/.cvsignore:
10108         * testsuite/plugin/Makefile.am:
10109         * testsuite/plugin/README:
10110         * testsuite/plugin/dynamic.c:
10111         * testsuite/plugin/linked.c:
10112         * testsuite/plugin/loading.c:
10113         * testsuite/plugin/registry.c:
10114         * testsuite/plugin/static.c:
10115         * testsuite/plugin/static2.c:
10116         * testsuite/plugin/testplugin.c:
10117         * testsuite/plugin/testplugin2.c:
10118         * testsuite/plugin/testplugin2_s.c:
10119         * testsuite/plugin/testplugin_s.c:
10120         * testsuite/refcounting/.cvsignore:
10121         * testsuite/refcounting/Makefile.am:
10122         * testsuite/refcounting/bin.c:
10123         * testsuite/refcounting/element.c:
10124         * testsuite/refcounting/element_pad.c:
10125         * testsuite/refcounting/mainloop.c:
10126         * testsuite/refcounting/mem.c:
10127         * testsuite/refcounting/mem.h:
10128         * testsuite/refcounting/object.c:
10129         * testsuite/refcounting/pad.c:
10130         * testsuite/refcounting/sched.c:
10131         * testsuite/refcounting/thread.c:
10132         * testsuite/states/.cvsignore:
10133         * testsuite/states/Makefile.am:
10134         * testsuite/states/bin.c:
10135         * testsuite/states/locked.c:
10136         * testsuite/states/parent.c:
10137         * testsuite/threads/.cvsignore:
10138         * testsuite/threads/159566.c:
10139         * testsuite/threads/159852.c:
10140         * testsuite/threads/Makefile.am:
10141         * testsuite/threads/queue.c:
10142         * testsuite/threads/signals.c:
10143         * testsuite/threads/staticrec.c:
10144         * testsuite/threads/thread.c:
10145         * testsuite/threads/threadb.c:
10146         * testsuite/threads/threadc.c:
10147         * testsuite/threads/threadd.c:
10148         * testsuite/threads/threade.c:
10149         * testsuite/threads/threadf.c:
10150         * testsuite/threads/threadg.c:
10151         * testsuite/threads/threadh.c:
10152         * testsuite/threads/threadi.c:
10153           move all of these under tests
10154
10155 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10156
10157         * configure.ac:
10158         * tests/Makefile.am:
10159           fix distcheck
10160
10161 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10162
10163         * docs/gst/gstreamer-sections.txt:
10164         * tests/sched/.cvsignore:
10165         * tests/sched/Makefile.am:
10166         * tests/sched/cases/(fs-fs).xml:
10167         * tests/sched/cases/(fs-i-fs).xml:
10168         * tests/sched/cases/(fs-i-i-fs).xml:
10169         * tests/sched/cases/(fs-i-q[i-fs]).xml:
10170         * tests/sched/dynamic-pipeline.c:
10171         * tests/sched/interrupt1.c:
10172         * tests/sched/interrupt2.c:
10173         * tests/sched/interrupt3.c:
10174         * tests/sched/runtestcases:
10175         * tests/sched/runxml.c:
10176         * tests/sched/sched-stress.c:
10177         * tests/sched/sort.c:
10178         * tests/sched/testcases:
10179         * tests/sched/testcases1.tc:
10180         * tests/seeking/.cvsignore:
10181         * tests/seeking/Makefile.am:
10182         * tests/seeking/seeking1.c:
10183         * tests/threadstate/.cvsignore:
10184         * tests/threadstate/Makefile.am:
10185         * tests/threadstate/test1.c:
10186         * tests/threadstate/test2.c:
10187         * tests/threadstate/threadstate1.c:
10188         * tests/threadstate/threadstate2.c:
10189         * tests/threadstate/threadstate3.c:
10190         * tests/threadstate/threadstate4.c:
10191         * tests/threadstate/threadstate5.c:
10192           remove obsolete tests
10193         * configure.ac:
10194         * tests/bench-complexity.scm:
10195         * tests/bench-mass_elements.scm:
10196         * tests/complexity.c:
10197         * tests/complexity.gnuplot:
10198         * tests/instantiate/.cvsignore:
10199         * tests/instantiate/Makefile.am:
10200         * tests/instantiate/caps.c:
10201         * tests/mass_elements.c:
10202         * tests/network-clock-utils.scm:
10203         * tests/network-clock.scm:
10204         * tests/plot-data:
10205         First pass at cleaning up tests/ dir before moving the rest
10206         Combined with CVS surgery
10207
10208 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10209
10210         * po/POTFILES.in:
10211           queue has moved, update
10212
10213 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10214
10215         * docs/gst/gstreamer-sections.txt:
10216           remove double entries from the docs
10217         * gst/gst_private.h:
10218         * gst/gstinfo.c: (_gst_debug_init):
10219           remove the THREAD debug category
10220         * gst/Makefile.am:
10221         * gst/gstqueue.c:
10222         * gst/gstqueue.h:
10223         * docs/gst/gstreamer.types:
10224         * plugins/elements/gstqueue.c: (gst_queue_get_type),
10225         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
10226           completely move queue and fix up debugging categories
10227
10228 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10229
10230         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
10231           make initialization portable, using LL is not
10232
10233 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10234
10235         * win32/common/gstconfig.h:
10236           add large padding
10237
10238 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10239
10240         * win32/common/libgstreamer.def:
10241           rename symbols; sort base section
10242
10243 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10244
10245         * gst/gstclock.c: (do_linear_regression):
10246           remove crack non-portable handrolled DEBUG macro
10247
10248 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10249
10250         * docs/random/release:
10251           update notes
10252         * win32/common/gstenumtypes.c: (register_gst_object_flags),
10253         (gst_object_flags_get_type), (register_gst_bin_flags),
10254         (gst_bin_flags_get_type), (register_gst_buffer_flag),
10255         (gst_buffer_flag_get_type), (register_gst_bus_flags),
10256         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
10257         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
10258         (gst_caps_flags_get_type), (register_gst_clock_return),
10259         (gst_clock_return_get_type), (register_gst_clock_entry_type),
10260         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
10261         (gst_clock_flags_get_type), (register_gst_state),
10262         (gst_state_get_type), (register_gst_state_change_return),
10263         (gst_state_change_return_get_type), (register_gst_state_change),
10264         (gst_state_change_get_type), (register_gst_element_flags),
10265         (gst_element_flags_get_type), (register_gst_core_error),
10266         (gst_core_error_get_type), (register_gst_library_error),
10267         (gst_library_error_get_type), (register_gst_resource_error),
10268         (gst_resource_error_get_type), (register_gst_stream_error),
10269         (gst_stream_error_get_type), (register_gst_event_type_flags),
10270         (gst_event_type_flags_get_type), (register_gst_event_type),
10271         (gst_event_type_get_type), (register_gst_seek_type),
10272         (gst_seek_type_get_type), (register_gst_seek_flags),
10273         (gst_seek_flags_get_type), (register_gst_format),
10274         (gst_format_get_type), (register_gst_index_certainty),
10275         (gst_index_certainty_get_type), (register_gst_index_entry_type),
10276         (gst_index_entry_type_get_type),
10277         (register_gst_index_lookup_method),
10278         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
10279         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
10280         (gst_index_resolver_method_get_type), (register_gst_index_flags),
10281         (gst_index_flags_get_type), (register_gst_debug_level),
10282         (gst_debug_level_get_type), (register_gst_debug_color_flags),
10283         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
10284         (gst_iterator_result_get_type), (register_gst_iterator_item),
10285         (gst_iterator_item_get_type), (register_gst_message_type),
10286         (gst_message_type_get_type), (register_gst_mini_object_flags),
10287         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
10288         (gst_pad_link_return_get_type), (register_gst_flow_return),
10289         (gst_flow_return_get_type), (register_gst_activate_mode),
10290         (gst_activate_mode_get_type), (register_gst_pad_direction),
10291         (gst_pad_direction_get_type), (register_gst_pad_flags),
10292         (gst_pad_flags_get_type), (register_gst_pad_presence),
10293         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
10294         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
10295         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
10296         (gst_plugin_error_get_type), (register_gst_plugin_flags),
10297         (gst_plugin_flags_get_type), (register_gst_rank),
10298         (gst_rank_get_type), (register_gst_query_type),
10299         (gst_query_type_get_type), (register_gst_tag_merge_mode),
10300         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
10301         (gst_tag_flag_get_type), (register_gst_task_state),
10302         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
10303         (gst_alloc_trace_flags_get_type),
10304         (register_gst_type_find_probability),
10305         (gst_type_find_probability_get_type), (register_gst_uri_type),
10306         (gst_uri_type_get_type), (register_gst_parse_error),
10307         (gst_parse_error_get_type):
10308         * win32/common/gstenumtypes.h:
10309         * win32/common/gstversion.h:
10310           update visual studio generated files
10311
10312 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10313
10314         * win32/vs6/libgstbase.dsp:
10315         * win32/vs6/libgstelements.dsp:
10316           update project files for new locations
10317
10318 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10319
10320         * Makefile.am:
10321           remove some files
10322         * README:
10323           reinstate and update
10324         * DEVEL:
10325         * REQUIREMENTS:
10326           removed
10327         * LICENSE:
10328         * docs/random/LICENSE:
10329           moved to random
10330
10331 2005-11-30  Edward Hervey  <edward@fluendo.com>
10332
10333         * gst/gsttypefind.c: (gst_type_find_register):
10334         * gst/gsttypefind.h:
10335         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
10336         (gst_type_find_factory_dispose):
10337         * gst/gsttypefindfactory.h:
10338         Fix memory leak in GstTypeFindFactory.
10339
10340 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10341
10342         * gst/gst.c:
10343         * plugins/elements/Makefile.am:
10344         * plugins/elements/gstelements.c:
10345         * plugins/elements/gstqueue.c:
10346           move queue from core to the elements plugin
10347
10348 2005-11-29  Andy Wingo  <wingo@pobox.com>
10349
10350         * libs/gst/base/gstbasetransform.h: 
10351         * libs/gst/base/gstbasesrc.h: 
10352         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
10353
10354         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
10355         of pointers by which to pad very extensible base classes (like the
10356         ones in libs/gst/base).
10357
10358 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10359
10360         * docs/gst/gstreamer-docs.sgml:
10361         * docs/gst/gstreamer-sections.txt:
10362         * docs/libs/gstreamer-libs-docs.sgml:
10363         * docs/libs/gstreamer-libs-sections.txt:
10364           moving documentation from core to lib
10365
10366 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10367
10368         * check/Makefile.am:
10369         * configure.ac:
10370         * docs/gst/Makefile.am:
10371         * gst/Makefile.am:
10372         * gst/base/.cvsignore:
10373         * gst/base/Makefile.am:
10374         * gst/base/README:
10375         * gst/base/gstadapter.c:
10376         * gst/base/gstadapter.h:
10377         * gst/base/gstbasesink.c:
10378         * gst/base/gstbasesink.h:
10379         * gst/base/gstbasesrc.c:
10380         * gst/base/gstbasesrc.h:
10381         * gst/base/gstbasetransform.c:
10382         * gst/base/gstbasetransform.h:
10383         * gst/base/gstcollectpads.c:
10384         * gst/base/gstcollectpads.h:
10385         * gst/base/gstpushsrc.c:
10386         * gst/base/gstpushsrc.h:
10387         * gst/base/gsttypefindhelper.c:
10388         * gst/base/gsttypefindhelper.h:
10389         * gst/check/Makefile.am:
10390         * gst/check/gstcheck.c:
10391         * gst/check/gstcheck.h:
10392         * gst/net/Makefile.am:
10393         * gst/net/gstnet.h:
10394         * gst/net/gstnetclientclock.c:
10395         * gst/net/gstnetclientclock.h:
10396         * gst/net/gstnettimepacket.c:
10397         * gst/net/gstnettimepacket.h:
10398         * gst/net/gstnettimeprovider.c:
10399         * gst/net/gstnettimeprovider.h:
10400         * libs/gst/Makefile.am:
10401         * libs/gst/base/Makefile.am:
10402         * libs/gst/base/gstbasetransform.c:
10403         * libs/gst/check/Makefile.am:
10404         * plugins/elements/Makefile.am:
10405         * po/POTFILES.in:
10406           CVS surgery + support to move base, check, and net out of gst
10407           and into libs/gst
10408
10409 2005-11-29  Andy Wingo  <wingo@pobox.com>
10410
10411         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
10412
10413         * gst/gststructure.h (struct _GstStructure): Only one pointer of
10414         padding.
10415
10416         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
10417
10418         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
10419
10420         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
10421
10422         * gst/gstobject.h: (struct _GstObject): Only one pointer of
10423         padding; reduces object size by about 30%. We don't expect
10424         anything else to go into gstobject.
10425
10426         * gst/gstminiobject.h (struct _GstMiniObject)
10427         (struct _GstMiniObjectClass): Only one pointer of padding; the
10428         payload is only a pointer and two ints anyway. For the class there
10429         are only two methods as well.
10430         
10431         * gst/gstelement.h (struct _GstElementClass): Removed
10432         the state_changed signal callback, it is not used.
10433
10434 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10435
10436         * docs/gst/gstreamer.types:
10437           fix includes, though they are a little dinky
10438
10439 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10440
10441         * check/Makefile.am:
10442           look in the right place for elements, a lot more chance of
10443           success
10444         * gst/Makefile.am:
10445           remove indexers and elements subdirs
10446         * plugins/Makefile.am:
10447           make indexers conditional
10448
10449 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10450
10451         * Makefile.am:
10452         * configure.ac:
10453         * plugins/elements/Makefile.am:
10454         * plugins/elements/gstcapsfilter.c:
10455         * plugins/elements/gstfilesink.c:
10456         * plugins/elements/gstfilesrc.c:
10457         * plugins/elements/gstidentity.c:
10458         * plugins/indexers/Makefile.am:
10459           do CVS surgery and related build fixery to move elements
10460           and indexers in a new gstreamer/plugins directory, out of the
10461           gst/ directory
10462
10463 2005-11-29  Andy Wingo  <wingo@pobox.com>
10464
10465         * check/Makefile.am:
10466         * pkgconfig/gstreamer-net-uninstalled.pc.in:
10467         * pkgconfig/gstreamer-net.pc.in:
10468         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
10469         #322257.
10470
10471 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10472
10473         * tools/Makefile.am:
10474         * tools/gst-complete.1.in:
10475         * tools/gst-complete.c:
10476         * tools/gst-compprep.1.in:
10477         * tools/gst-compprep.c:
10478           removing -compprep and -complete
10479
10480 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10481
10482         * gst/gstevent.c: (gst_event_new_new_segment),
10483         (gst_event_parse_new_segment):
10484         * gst/gstevent.h:
10485           fix #320529 - clean up new_segment API and structure.
10486           Let's hope everyone was using the methods, and not the structure.
10487
10488 2005-11-29  Edward Hervey  <edward@fluendo.com>
10489
10490         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10491         (gst_base_sink_event), (gst_base_sink_do_sync),
10492         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
10493         Properly handle non GST_FORMAT_TIME segment
10494         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
10495         Properly handle non GST_FORMAT_TIME segment
10496         * gst/gstsegment.c:
10497         This function is valid if the accumulator is 0 and the format
10498         is different from the requested format.
10499         
10500 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
10501
10502         * docs/gst/gstreamer-sections.txt:
10503         Add gst_query_new_seeking and gst_query_parse_seeking to the
10504         docs.
10505
10506 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
10507
10508         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
10509           Treat a pad alloc with new caps the same as if we were not
10510           negotiated, in order to allow a changing upstream output
10511           to produce a new format of data.
10512
10513 2005-11-29  Edward Hervey  <edward@fluendo.com>
10514
10515         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
10516         (gst_base_transform_event), (gst_base_transform_eventfunc):
10517         The event virtual method is now properly implemented, with a default
10518         handler
10519         Sub classes should call the parent_class event method. They should
10520         return FALSE if they had a problem handling the given event, or don't
10521         want GstBaseTransform to send that even downstream
10522         * gst/elements/gstidentity.c: (gst_identity_class_init),
10523         (gst_identity_init), (gst_identity_event),
10524         (gst_identity_transform_ip), (gst_identity_set_property),
10525         (gst_identity_get_property):
10526         * gst/elements/gstidentity.h:
10527         Added the single-segment boolean property.
10528         If set to TRUE, it will output a single segment of data, starting from
10529         0, will eat up all incoming newsegment, and modify the timestamp of the
10530         buffers accordingly
10531
10532 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
10533
10534         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
10535           Don't ref NULL target pad (#322751). Improve docs.
10536
10537 2005-11-29  Michael Smith  <msmith@fluendo.com>
10538
10539         * gst/gstregistryxml.c: (load_plugin):
10540           Don't crash if we failed to load a feature from a plugin. 
10541
10542 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10543
10544         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
10545         (GST_START_TEST):
10546           use more check API and less GLib API
10547
10548 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10549
10550         * Makefile.am:
10551           don't run checks if we don't have check
10552         * common/check.mak:
10553           remove the registry when running make torture
10554         * docs/gst/gstreamer-sections.txt:
10555           remove second multiply
10556         * gst/gstqueue.c: (gst_queue_loop):
10557           fix a compile warning when disabling debug
10558
10559 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
10560
10561         * gst/gstinfo.h:
10562         Hey! Let's print the pad name if the pointer != NULL instead
10563         of when it == NULL :-)
10564
10565 2005-11-28  Wim Taymans  <wim@fluendo.com>
10566
10567         * check/gst/gstutils.c: (GST_START_TEST):
10568         Updated check, add some scaling accuracy checking code.
10569
10570         * gst/gstutils.c: (gst_util_div128_64),
10571         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
10572         (gst_util_uint64_scale_int):
10573         Fix 6 times faster division code. Optimize for common 
10574         1/1 and less common X/1 cases.
10575
10576 2005-11-28  Wim Taymans  <wim@fluendo.com>
10577
10578         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
10579         More checks.
10580
10581         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
10582         (do_linear_regression), (gst_clock_add_observation):
10583         Cleanups.
10584         Release lock when the clock cannot be slaved.
10585         Catch the case where the regression returned an invalid denominator.
10586
10587         * gst/gstutils.c: (gst_util_div128_64_iterate),
10588         (gst_util_div128_64), (gst_util_uint64_scale_int64),
10589         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
10590         Add protentially more performant non-iterative 128/64 divide function
10591         that unfortunatly does not work yet.
10592         Shortcut the trivial 0/X = 0 case.
10593         Remove the warnings on overflow.
10594
10595 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10596
10597         * gst/gstplugin.c: (gst_plugin_register_func):
10598           everything causing a plugin not to load should be at least a WARNING
10599
10600 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
10601
10602         * docs/random/ensonic/dparams.txt:
10603           some TODOs for the next dev cycle
10604         * libs/gst/controller/gstcontroller.c:
10605         (gst_controlled_property_set_interpolation_mode),
10606         (gst_controlled_property_new):
10607         * libs/gst/controller/gstcontroller.h:
10608           use base type to assign acccessor functions
10609
10610 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
10611
10612         * check/Makefile.am:
10613         Oops, that should have been top_srcdir
10614
10615 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
10616
10617         * check/Makefile.am:
10618         * check/elements/fdsrc.c: (GST_START_TEST):
10619         Use a cmdline define to specify the location of a file to use for
10620         testing, to avoid breaking distcheck.
10621
10622 2005-11-28  Andy Wingo  <wingo@pobox.com>
10623
10624         * gst/gstpad.c (fixate_value): Use array functions for arrays.
10625
10626 2005-11-28  Edward Hervey  <edward@fluendo.com>
10627
10628         * tools/gst-launch.c: (main):
10629         Clarify the output strings, makes it easier to translate.
10630         Fixes #322626
10631
10632 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10633
10634         * gst/Makefile.am:
10635           don't try and build net if we don't even have <sys/socket.h>
10636
10637 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
10638
10639         * check/Makefile.am:
10640         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
10641         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
10642           Add tests for fdsrc seekability
10643
10644         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
10645         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
10646         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
10647         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
10648         * gst/elements/gstfdsrc.h:
10649           fdsrc should not be a 'live' source.
10650           Implement seeking on seekable fd's.
10651
10652         * gst/gstquery.c: (gst_query_new_seeking),
10653         (gst_query_parse_seeking):
10654         * gst/gstquery.h:
10655           Implement SEEKING query functions: 
10656             *_new_seeking and *_parse_seeking
10657
10658 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
10659
10660         * gst/gstelement.c: (gst_element_dispose):
10661           don't loop forever
10662
10663         * gst/gstiterator.c:
10664         * gst/gststructure.c:
10665           doc fixes
10666
10667         * libs/gst/controller/gstcontroller.c:
10668         (gst_controlled_property_set_interpolation_mode):
10669         * libs/gst/controller/gstcontroller.h:
10670         * libs/gst/controller/gstinterpolation.c:
10671         (interpolate_none_get_enum_value_array):
10672           support controlling enums
10673
10674 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
10675
10676         * gst/gstvalue.c:
10677           Improve documentation for gst_value_union().
10678
10679         * gst/gstvalue.h:
10680           Change return value for union, intersect and subtract functions
10681           from gint to gboolean.
10682
10683 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
10684
10685         * gst/gstvalue.c: (gst_value_serialize_any_list),
10686         (gst_value_transform_any_list_string),
10687         (gst_value_deserialize_list), (gst_value_deserialize_array),
10688         (gst_value_set_int_range), (gst_value_deserialize_int_range),
10689         (gst_value_set_double_range), (gst_value_deserialize_double_range),
10690         (gst_value_set_fraction_range_full),
10691         (gst_value_deserialize_fraction_range),
10692         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
10693         (gst_value_deserialize_boolean),
10694         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
10695         (gst_value_serialize_float), (gst_value_deserialize_float),
10696         (gst_string_wrap), (gst_value_deserialize_string),
10697         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
10698         (gst_value_union_int_range_int_range),
10699         (gst_value_intersect_int_range_int_range),
10700         (gst_value_intersect_double_range_double_range),
10701         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
10702         (gst_value_subtract_int_range_int_range),
10703         (gst_value_subtract_double_double_range),
10704         (gst_value_subtract_double_range_double_range),
10705         (gst_value_deserialize_fraction):
10706         * gst/gstvalue.h:
10707           Use gint, gdouble and gchar in our API instead of int, double and
10708           char (and make usage in gstvalue.c more consistent).
10709
10710 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10711
10712         * check/Makefile.am:
10713         * libs/gst/controller/Makefile.am:
10714         * libs/gst/dataprotocol/Makefile.am:
10715           fix up Makefile.am and remove GST_ENABLE_NEW
10716
10717 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10718
10719         * configure.ac:
10720         * gst/Makefile.am:
10721         * gst/base/Makefile.am:
10722         * gst/check/Makefile.am:
10723         * gst/elements/Makefile.am:
10724         * gst/net/Makefile.am:
10725           update LDFLAGS use some more
10726
10727 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10728
10729         * common/m4/gst-doc.m4:
10730           Fixes #312589
10731
10732 2005-11-26  Edward Hervey  <edward@fluendo.com>
10733
10734         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
10735         This shouldn't issue a g_warning since it returns NULL if it
10736         couldn't find the plugin, and all functions using this behave
10737         properly on a NULL return. Switching to a GST_WARNING.
10738
10739 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
10740
10741         * gst/gstbin.c: (gst_bin_handle_message_func):
10742         Don't leak clock messages.
10743
10744 2005-11-25  Wim Taymans  <wim@fluendo.com>
10745
10746         * gst/gstutils.c: (gst_util_uint64_scale_int64),
10747         (gst_util_uint64_scale_int):
10748         Optimisations, remove unneeded vars.
10749
10750 2005-11-25  Wim Taymans  <wim@fluendo.com>
10751
10752         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
10753         Added more checks for the high precision uint64 cases.
10754
10755         * gst/gstutils.c: (gst_util_uint64_scale_int64),
10756         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
10757         Implement high precision (guint64 * guint64) / guint64.
10758
10759 2005-11-24  Wim Taymans  <wim@fluendo.com>
10760
10761         * gst/base/gstbasesrc.c: (gst_base_src_query):
10762         Fix wrong percentage query.
10763
10764         * gst/gstutils.c: (gst_util_uint64_scale),
10765         (gst_util_uint64_scale_int):
10766         Add some more common cases that can be handled 
10767         efficiently to _scale.
10768
10769 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10770
10771         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
10772         (gst_mini_object_suite):
10773           don't use check calls from threads; check probably isn't
10774           threadsafe and using a lock to make it threadsafe would
10775           defeat the purpose of this check
10776         * gst/check/gstcheck.c:
10777         * gst/check/gstcheck.h:
10778           use GST_DEBUG some more
10779
10780 2005-11-24  Wim Taymans  <wim@fluendo.com>
10781
10782         * gst/gstutils.c: (gst_util_uint64_scale),
10783         (gst_util_uint64_scale_int):
10784         Chain trivial case to _scale_int.
10785
10786 2005-11-24  Wim Taymans  <wim@fluendo.com>
10787
10788         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
10789         Added test for scaling.
10790
10791         * gst/gstclock.h:
10792         Small doc fix.
10793
10794         * gst/gstutils.c: (gst_util_uint64_scale_int):
10795         Implemented high precision scaling code.
10796
10797 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
10798
10799         * gst/gstinfo.h:
10800           do not crash on pad==NULL
10801
10802 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10803
10804         Patch by: Stefan Kost
10805
10806         * common/gtk-doc.mak:
10807         * docs/gst/Makefile.am:
10808         * docs/libs/Makefile.am:
10809           Fix distcheck issues for the libraries docs build
10810           Closes #319599.
10811
10812 2005-11-24  Michael Smith <msmith@fluendo.com>
10813
10814         * docs/manual/basics-helloworld.xml:
10815           Fix bug #315027: memory leak in example code in docs.
10816
10817 2005-11-24  Michael Smith <msmith@fluendo.com>
10818
10819         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10820           Unlock the PREROLL_LOCK in a failure case.
10821
10822 2005-11-24  Wim Taymans  <wim@fluendo.com>
10823
10824         * docs/gst/gstreamer-sections.txt:
10825         * gst/base/gstadapter.h:
10826         * gst/base/gstbasesink.h:
10827         * gst/base/gstbasesrc.h:
10828         * gst/base/gstbasetransform.h:
10829         * gst/base/gstpushsrc.h:
10830         * gst/elements/gstfakesink.h:
10831         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
10832         * gst/elements/gstfakesrc.h:
10833         * gst/elements/gstfilesink.h:
10834         * gst/elements/gstfilesrc.h:
10835         * gst/gst.c:
10836         * gst/gstbin.c:
10837         * gst/gstbuffer.c: (_gst_buffer_copy):
10838         * gst/gstbus.h:
10839         * gst/gstcaps.c:
10840         * gst/gstchildproxy.c:
10841         * gst/gstclock.c:
10842         * gst/gstelement.c:
10843         * gst/gstelementfactory.c:
10844         * gst/gstelementfactory.h:
10845         * gst/gstevent.c:
10846         * gst/gstghostpad.h:
10847         * gst/gstindex.h:
10848         * gst/gstinterface.h:
10849         * gst/gstminiobject.c:
10850         * gst/gstminiobject.h:
10851         * gst/gstpad.c:
10852         * gst/gstpad.h:
10853         * gst/gstpadtemplate.h:
10854         * gst/gstpipeline.h:
10855         * gst/gstpluginfeature.h:
10856         * gst/gstquery.h:
10857         * gst/gstqueue.h:
10858         * gst/gsttaglist.c:
10859         * gst/gsttaglist.h:
10860         * gst/gsttagsetter.c:
10861         * gst/gsttagsetter.h:
10862         * gst/gsttrace.c:
10863         * gst/gsttrace.h:
10864         * gst/gsttypefind.h:
10865         * gst/gsturi.h:
10866         * gst/gstvalue.c:
10867         * gst/net/gstnetclientclock.c:
10868         * gst/net/gstnetclientclock.h:
10869         * gst/net/gstnettimepacket.c:
10870         * gst/net/gstnettimeprovider.c:
10871         * gst/net/gstnettimeprovider.h:
10872         Doc fixes.
10873
10874 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10875
10876         * configure.ac: back to HEAD
10877
10878 === release 0.9.6 ===
10879
10880 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
10881
10882         * configure.ac:
10883           releasing 0.9.6, "Always On Time"
10884
10885 2005-11-23  Wim Taymans  <wim@fluendo.com>
10886
10887         * docs/gst/gstreamer-sections.txt:
10888         * gst/glib-compat.c:
10889         * gst/gsttagsetter.c:
10890         * gst/gstvalue.c:
10891         * gst/net/gstnetclientclock.c:
10892         * gst/net/gstnettimepacket.h:
10893         Doc updates.
10894
10895 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10896
10897         * docs/faq/using.xml:
10898         * docs/libs/tmpl/gstcontrol.sgml:
10899         * docs/manual/advanced-dparams.xml:
10900         * docs/manual/appendix-checklist.xml:
10901         * docs/manual/basics-elements.xml:
10902         * docs/pwg/other-source.xml:
10903         * docs/random/moving-plugins:
10904         * gst/gstpad.c:
10905         * tools/gst-launch.1.in:
10906           remove mentions of sinesrc
10907
10908 2005-11-23  Michael Smith <msmith@fluendo.com>
10909
10910         * docs/gst/gstreamer-sections.txt:
10911           Update for new API and API changes.
10912         * gst/gstobject.h:
10913           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
10914         * gst/gstvalue.c:
10915           Documentation typo fix.
10916         * gst/net/gstnettimepacket.c:
10917           Documentation fixes for arguments.
10918
10919 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
10920
10921         * gst/gststructure.c: (gst_structure_get_fraction),
10922         (gst_structure_parse_value),
10923         (gst_structure_fixate_field_nearest_fraction):
10924         * gst/gststructure.h:
10925         * gst/gstutils.c: (gst_util_uint64_scale_int):
10926         * gst/gstutils.h:
10927         * scripts/update-funcnames:
10928         API Changes. 
10929         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
10930         Make gst_structure_fixate_field_nearest_fraction take a numerator
10931         and denominator argument instead of a GValue
10932         add gst_structure_get_fraction helper function.
10933
10934 2005-11-23  Wim Taymans  <wim@fluendo.com>
10935
10936         * docs/design/part-TODO.txt:
10937         Update TODO.
10938
10939         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
10940         * gst/net/gstnetclientclock.h:
10941         Use parent fields for timeout and window_size.
10942
10943 2005-11-23  Andy Wingo  <wingo@pobox.com>
10944
10945         * check/net/gstnetclientclock.c (test_functioning): Adjust to
10946         rate_num/rate_denom change.
10947
10948         * gst/net/gstnetclientclock.c
10949         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
10950         OBJECT_LOCK. Don't call add_observation with the lock.
10951
10952         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
10953         fraction.
10954         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
10955         rate fraction.
10956         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
10957         deal with rate as a fraction whose numerator and denominator are
10958         GstClockTime values.
10959         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
10960         master; the other fields are protected by the SLAVE_LOCK.
10961         (do_linear_regression): Note that this must be called with the
10962         SLAVE_LOCK.
10963         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
10964         OBJECT_LOCK. Call set_calibration instead of touching the
10965         variables directly.
10966         (gst_clock_set_property, gst_clock_get_property): Protect
10967         master/slave parameters with the SLAVE_LOCK.
10968
10969         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
10970         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
10971         note that all of the instance variables that add_observation and
10972         the set_master functions use are protected by that lock and not
10973         the OBJECT_LOCK.
10974         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
10975
10976         * gst/gstclock.c (gst_clock_add_observation): No longer requires
10977         the caller to take the object lock.
10978
10979 2005-11-23  Wim Taymans  <wim@fluendo.com>
10980
10981         * gst/gsterror.c: (_gst_core_errors_init):
10982         * gst/gsterror.h:
10983         Add error for clock stuff.
10984
10985         * gst/gstpipeline.c: (gst_pipeline_change_state),
10986         (gst_pipeline_set_clock):
10987         Post clock error when clock cannot be used in a pipeline.
10988
10989 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
10990
10991         * docs/gst/gstreamer-sections.txt:
10992           make two symbols from gstinfo private for the docs
10993         * gst/base/gstcollectpads.h:
10994         * gst/gstutils.c:
10995           fix doc typos, update docs
10996
10997 2005-11-22  Wim Taymans  <wim@fluendo.com>
10998
10999         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
11000         (gst_base_sink_wait), (gst_base_sink_do_sync),
11001         (gst_base_sink_handle_event):
11002         * gst/base/gstbasesink.h:
11003         No need to store the clock, the parent element class already
11004         has it.
11005
11006         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
11007         Updates for clock_set returning a gboolean
11008
11009         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
11010         (gst_clock_id_wait_async), (gst_clock_class_init),
11011         (gst_clock_init), (gst_clock_finalize),
11012         (gst_clock_get_internal_time), (gst_clock_get_time),
11013         (gst_clock_slave_callback), (gst_clock_set_master),
11014         (gst_clock_get_master), (do_linear_regression),
11015         (gst_clock_add_observation), (gst_clock_set_property),
11016         (gst_clock_get_property):
11017         * gst/gstclock.h:
11018         Implement master/slave. When setting a clock as a slave, a
11019         periodic timeout is scheduled to sample master and slave times.
11020         Then the slave clock is recalibrated to match offset and rate
11021         of the master clock.
11022         Update logging a bit.
11023         Add flag so that a clock can state that is cannot be slaved to
11024         another clock.
11025
11026         * gst/gstelement.c: (gst_element_set_clock):
11027         * gst/gstelement.h:
11028         The set clock returns a gboolean for when an element cannot
11029         deal with the selected clock in the pipeline. 
11030
11031         * gst/gstpipeline.c: (gst_pipeline_change_state),
11032         (gst_pipeline_set_clock):
11033         * gst/gstpipeline.h:
11034         Handle the case where the selected clock cannot be set on
11035         the pipeline.
11036
11037         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
11038         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
11039         (gst_net_client_clock_set_property),
11040         (gst_net_client_clock_get_property),
11041         (gst_net_client_clock_observe_times):
11042         * gst/net/gstnetclientclock.h:
11043         Use regression code in GstClock parent, remove duplicated
11044         functionality.
11045
11046 2005-11-22  Michael Smith <msmith@fluendo.com>
11047
11048         * gst/gstutils.c: (gst_util_clock_time_scale):
11049         * gst/gstutils.h:
11050         * docs/gst/gstreamer-sections.txt:
11051           Rename method to have extra underscore.
11052
11053 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11054
11055         * gst/elements/Makefile.am:
11056         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
11057         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
11058         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
11059         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
11060         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
11061         * gst/elements/gstfakesrc.h:
11062         * gst/gstqueue.c: (queue_leaky_get_type):
11063           correctly fix GEnumValues so that nick is the short lowercase
11064           dashed tag
11065         * tools/gst-inspect.c: (print_element_properties_info):
11066           also show the nick, since it's useful to use from parse_launch
11067           syntax
11068           Fixes #322139
11069
11070 2005-11-22  Michael Smith <msmith@fluendo.com>
11071
11072         * gst/gstutils.c: (gst_util_clocktime_scale):
11073         * gst/gstutils.h:
11074         * docs/gst/gstreamer-sections.txt:
11075           Add util method for scaling a clocktime by a fraction. Useful 
11076           implementation is left as an exercise for the reader.
11077
11078 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11079
11080         * gst/gstvalue.c: (gst_value_collect_fraction_range):
11081         If needed, allocate storage in the destination value during
11082         collection.
11083
11084 2005-11-22  Edward Hervey  <edward@fluendo.com>
11085
11086         * docs/gst/gstreamer-sections.txt:
11087         * gst/Makefile.am:
11088         * gst/gst.h:
11089         * gst/gsturitype.c:
11090         * gst/gsturitype.h:
11091         * gst/gstutils.c: (gst_util_set_object_arg):
11092         * tools/gst-compprep.c: (main):
11093         * tools/gst-inspect.c: (print_element_properties_info):
11094         Removed GstURI, closes bug #321061
11095
11096 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11097
11098         * check/gst/gststructure.c: (GST_START_TEST):
11099         * gst/gststructure.c: (gst_structure_parse_value):
11100           Oops, broke automatic string type parsing.
11101           Add a test to catch it in future.
11102
11103 2005-11-22  Andy Wingo  <wingo@pobox.com>
11104
11105         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
11106         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
11107         Actually rename the function implementations. Grr.
11108
11109 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11110
11111         * check/gst/capslist.h:
11112           Comment test cases
11113         * check/gst/gststructure.c: (GST_START_TEST),
11114         (gst_structure_suite):
11115           Test automatic value type detection in gst_structure_from_string.
11116         * gst/gststructure.c: (gst_structure_parse_value):
11117           Add fraction as a type we try and guess automatically in
11118           caps/structure strings.
11119
11120 2005-11-22  Andy Wingo  <wingo@pobox.com>
11121
11122         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
11123
11124         * gst/gsttagsetter.h:
11125         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
11126         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
11127         (gst_tag_setter_add_tag_valist)
11128         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
11129         _add_values, _add_valist, and _add_valist_values. Since this is an
11130         interface the function suffixes should be more explicit so
11131         language binding don't end up with element.add_valist ->
11132         gst_tag_setter_add_valist, for example. Fixes #322069.
11133
11134 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11135
11136         * check/gst/gstcaps.c: (GST_START_TEST):
11137           Extend caps string tests to check that a caps to string
11138           conversion is reversible and produces the same caps.
11139
11140         * gst/gststructure.c: (gst_structure_value_get_generic_type):
11141           Output "fraction" as the generic type fraction range, so caps
11142           serialisation and deserialisation works.
11143         * check/gst/capslist.h:
11144         * gst/gstvalue.c: (gst_value_deserialize_fraction):
11145           Support 'MIN' and 'MAX' for deserialising fractions.
11146
11147 2005-11-22  Andy Wingo  <wingo@pobox.com>
11148
11149         * gst/gstevent.h (gst_event_new_new_segment)
11150         (gst_event_parse_new_segment, gst_event_new_buffer_size)
11151         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
11152         Renamed from *_newsegment, *_buffersize, *_notarget.
11153
11154         * scripts/update-funcnames: New script, performs the changes
11155         listed above.
11156
11157 2005-11-22  Wim Taymans  <wim@fluendo.com>
11158
11159         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11160         Make sure the GstFlowReturn is returned.
11161
11162         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
11163         (gst_bus_add_signal_watch):
11164         * gst/gstbus.h:
11165         add gst_bus_add_signal_watch_full.
11166
11167         * gst/gstplugin.c: (gst_plugin_load_file):
11168         Small style cleanup.
11169
11170 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11171
11172         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
11173           Block the fakesrc srcpad when we send an event, to avoid
11174           contention on the stream_lock causing random test failures.
11175
11176 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11177
11178         * check/gst/gstvalue.c: (GST_START_TEST):
11179         * gst/gstvalue.c: (gst_value_fraction_subtract):
11180           Fix subtraction.
11181
11182 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
11183
11184         * gst/gst.h:
11185           include "gstchildproxy.h"
11186         * gst/gstchildproxy.h:
11187         * libs/gst/controller/gstcontroller.h:
11188           use G_GNUC_NULL_TERMINATED
11189
11190 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11191
11192         * check/gst/capslist.h:
11193         * check/gst/gstcaps.c: (GST_START_TEST):
11194         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11195         * gst/gststructure.c: (gst_structure_parse_range),
11196         (gst_structure_fixate_field_nearest_fraction):
11197         * gst/gststructure.h:
11198         * gst/gstvalue.c: (gst_value_init_fraction_range),
11199         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
11200         (gst_value_collect_fraction_range),
11201         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
11202         (gst_value_set_fraction_range_full),
11203         (gst_value_get_fraction_range_min),
11204         (gst_value_get_fraction_range_max),
11205         (gst_value_serialize_fraction_range),
11206         (gst_value_transform_fraction_range_string),
11207         (gst_value_compare_fraction_range),
11208         (gst_value_deserialize_fraction_range),
11209         (gst_value_intersect_fraction_fraction_range),
11210         (gst_value_intersect_fraction_range_fraction_range),
11211         (gst_value_subtract_fraction_fraction_range),
11212         (gst_value_subtract_fraction_range_fraction),
11213         (gst_value_subtract_fraction_range_fraction_range),
11214         (gst_value_collect_fraction), (gst_value_fraction_multiply),
11215         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
11216         (gst_value_transform_string_fraction), (_gst_value_initialize):
11217         * gst/gstvalue.h:
11218           Implement fraction ranges and extend GstFraction to support
11219           arithmetic subtraction, as well as deserialization from integer
11220           strings such as "100"
11221           Add a testsuite as for int and double range set operations
11222
11223 2005-11-21  Andy Wingo  <wingo@pobox.com>
11224
11225         * gst/gsttaglist.h: 
11226         * gst/gstcaps.h: 
11227         * gst/gststructure.h: Add glib-compat.h.
11228
11229 2005-11-21  Wim Taymans  <wim@fluendo.com>
11230
11231         * gst/gstbin.c: (gst_bin_change_state_func):
11232         Fix for #321595
11233
11234 2005-11-21  Wim Taymans  <wim@fluendo.com>
11235
11236         * gst/gstsegment.h:
11237         And add a nice define too.
11238
11239 2005-11-21  Wim Taymans  <wim@fluendo.com>
11240
11241         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
11242         (gst_segment_new), (gst_segment_free), (gst_segment_init),
11243         (gst_segment_set_duration), (gst_segment_set_last_stop),
11244         (gst_segment_set_seek), (gst_segment_set_newsegment),
11245         (gst_segment_to_stream_time), (gst_segment_to_running_time),
11246         (gst_segment_clip):
11247         * gst/gstsegment.h:
11248         Make binding friendly.
11249
11250 2005-11-21  Andy Wingo  <wingo@pobox.com>
11251
11252         * gst/gsttagsetter.h: 
11253         * gst/gsttaglist.h: 
11254         * gst/gststructure.h: 
11255         * gst/gstcaps.h: 
11256         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
11257         #319940.
11258
11259         * gst/gsterror.c (_gst_core_errors_init):
11260         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
11261         category.
11262
11263         * gst/Makefile.am (gst_headers): Add glib-compat.h.
11264         (noinst_HEADERS): noinst the -private.
11265
11266 2005-11-21  Michael Smith <msmith@fluendo.com>
11267
11268         * gst/gstplugin.h:
11269         * gst/gstregistry.h:
11270           Remove unimplemented declarations for which we can see no sensible
11271           use.
11272
11273 2005-11-21  Andy Wingo  <wingo@pobox.com>
11274
11275         * gst/gst.h: Include glib-compat.h.
11276
11277         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
11278
11279         * gst/glib-compat.c: Include the public and the private header.
11280
11281         * gst/glib-compat-private.h: Copied here from glib-compat.h.
11282
11283         * gst/gstvalue.c: 
11284         * gst/gstpad.c: 
11285         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
11286
11287         * check/gst/gstevent.c (create_custom_events): Check that
11288         FLUSH_STOP is serialized.
11289
11290         * check/elements/identity.c (event_func): 
11291         * check/elements/fakesrc.c (event_func): No stream lock, the core
11292         takes it.
11293
11294         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
11295         stream lock taking, yay.
11296
11297         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
11298         ensure that core takes the stream lock.
11299
11300         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
11301         lock name change.
11302
11303         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
11304         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
11305         it already. For the flush start we do take it though so we get the
11306         right preroll state change messages.
11307
11308         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
11309         the stream lock here, the core does it for us.
11310
11311         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
11312         GST_STREAM_GET_LOCK.
11313         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
11314         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
11315         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
11316         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
11317         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
11318         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
11319
11320         * gst/gstpad.c: Update for stream lock name change.
11321
11322         * gst/base/gstbasesink.c: Update for preroll lock name change.
11323
11324 2005-11-21  Wim Taymans  <wim@fluendo.com>
11325
11326         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
11327         (gst_clock_get_master):
11328         * gst/gstclock.h:
11329         * gst/gstsystemclock.c: (gst_system_clock_init):
11330         Convert Clock flags to object flags.
11331         Added methods to manage master/slave clocks.
11332
11333 2005-11-21  Wim Taymans  <wim@fluendo.com>
11334
11335         * check/gst/gstsegment.c: (GST_START_TEST):
11336         * docs/design/part-TODO.txt:
11337         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11338         (gst_base_sink_event), (gst_base_sink_do_sync),
11339         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
11340         (gst_base_sink_query), (gst_base_sink_change_state):
11341         * gst/base/gstbasesink.h:
11342         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
11343         (gst_base_src_default_newsegment),
11344         (gst_base_src_configure_segment), (gst_base_src_do_seek),
11345         (gst_base_src_get_range), (gst_base_src_loop),
11346         (gst_base_src_change_state):
11347         * gst/base/gstbasesrc.h:
11348         * gst/base/gstbasetransform.c:
11349         (gst_base_transform_prepare_output_buf),
11350         (gst_base_transform_event), (gst_base_transform_change_state):
11351         * gst/base/gstbasetransform.h:
11352         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
11353         (gst_collect_pads_event):
11354         * gst/base/gstcollectpads.h:
11355         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
11356         (gst_fake_src_create):
11357         * gst/elements/gstfakesrc.h:
11358         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
11359         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
11360         (gst_segment_set_last_stop), (gst_segment_set_seek),
11361         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
11362         (gst_segment_to_running_time), (gst_segment_clip):
11363         * gst/gstsegment.h:
11364         More segment updates, replace code in plugins with segment
11365         helper functions.
11366
11367 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
11368
11369         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
11370         Don't ignore sscanf results
11371
11372 2005-11-21  Andy Wingo  <wingo@pobox.com>
11373
11374         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
11375
11376         * *.h:
11377         * *.c: Ran scripts/update-macros. Oh yes.
11378
11379         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
11380         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
11381         GST_GET_LOCK, etc.
11382
11383         * scripts/update-macros: New script. Run it on your files to
11384         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
11385         well.
11386
11387 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
11388
11389         * docs/gst/Makefile.am:
11390         * docs/gst/gstreamer-docs.sgml:
11391         * docs/gst/gstreamer-sections.txt:
11392         * docs/gst/gstreamer.types:
11393         * gst/gstinfo.h:
11394           more docs fixes, add new api to the docs
11395
11396 2005-11-21  Andy Wingo  <wingo@pobox.com>
11397
11398         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
11399         state_broadcast call.
11400
11401         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
11402
11403 2005-11-21  Julien MOUTTE  <julien@moutte.net>
11404
11405         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
11406         function calls for arrays.
11407
11408 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
11409
11410         * docs/random/ensonic/media-device-daemon.txt:
11411           wild idea, can this be done?
11412         * docs/gst/gstreamer-sections.txt:
11413         * gst/gsterror.h:
11414         * gst/gstfilter.c:
11415         * gst/gstfilter.h:
11416         * gst/gstplugin.h:
11417         * gst/gstpluginfeature.c:
11418         * gst/gsttrace.c:
11419         * gst/gstvalue.c:
11420         * gst/gstvalue.h:
11421           doc fixes and additions
11422
11423 2005-11-21  Andy Wingo  <wingo@pobox.com>
11424
11425         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
11426         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
11427         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
11428         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
11429         private to the basesrc implementation.
11430
11431         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
11432         behalf of event function if necessary. It should no longer be
11433         necessary to take the stream lock in pad's event functions. Fixes
11434         #320299.
11435
11436 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
11437         * docs/gst/gstreamer-sections.txt:
11438         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
11439         (gst_structure_fixate_field_nearest_double),
11440         (gst_structure_fixate_field_boolean):
11441         * gst/gststructure.h:
11442         * win32/common/libgstreamer.def:
11443         * win32/gstreamer.def:
11444
11445         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
11446         (#322027)
11447
11448 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
11449
11450         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
11451         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
11452         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
11453         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
11454         (gst_fdsrc_uri_handler_init):
11455         * gst/elements/gstfdsrc.h:
11456           Port fd:// URI handler from 0.8 to fdsrc
11457
11458 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11459
11460         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
11461         (gst_value_serialize_fourcc):
11462         * gst/gstvalue.h:
11463           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
11464           consistent with our other format defines (#320324).
11465
11466 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11467
11468         * gst/gstvalue.c: (gst_value_is_fixed):
11469           Revert previous commit. Value lists are by definition
11470           not fixed, as they are a list of possible values.
11471
11472 2005-11-21  Andy Wingo  <wingo@pobox.com>
11473
11474         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
11475         during the stable series if we need it. Fixes #319178.
11476
11477         * gst/gstevent.c (gst_event_new_filler): Removed.
11478
11479         * check/gst/gstevent.c: Update comment about filler events.
11480
11481 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11482
11483         * gst/gstvalue.c: (gst_value_is_fixed):
11484           Should handle both value arrays and value lists.
11485
11486 2005-11-21  Andy Wingo  <wingo@pobox.com>
11487
11488         patch by: Alessandro Dessina <alessandro nnva org>
11489
11490         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
11491         functions to access arrays. Fixes #321962.
11492
11493 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11494
11495         * docs/gst/gstreamer.types:
11496           gst_collectpads_get_type => gst_collect_pads_get_type.
11497           
11498         * gst/base/gstbasetransform.c:
11499           Remove unused SIGNAL_HANDOFF enum.
11500
11501 2005-11-21  Andy Wingo  <wingo@pobox.com>
11502
11503         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
11504         the event type (upstream, downstream, serialized). Renamed
11505         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
11506         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
11507         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
11508
11509         * gst/gstevent.c: Update for new CUSTOM event names.
11510
11511         * check/gst/gstevent.c: Update check for new CUSTOM event names.
11512
11513         * gst/gstevent.h:
11514         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
11515         bug #319392.
11516
11517 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11518
11519         * docs/gst/gstreamer-sections.txt:
11520         * win32/common/libgstbase.def:
11521         * win32/libgstbase.def:
11522         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
11523         (gst_collect_pads_class_init), (gst_collect_pads_init),
11524         (gst_collect_pads_finalize), (gst_collect_pads_new),
11525         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
11526         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
11527         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
11528         (gst_collect_pads_start), (gst_collect_pads_stop),
11529         (gst_collect_pads_peek), (gst_collect_pads_pop),
11530         (gst_collect_pads_available), (gst_collect_pads_read),
11531         (gst_collect_pads_flush), (gst_collect_pads_event),
11532         (gst_collect_pads_chain):
11533         * gst/base/gstcollectpads.h:
11534           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
11535           unimplemented functions as unimplemented. Add padding to
11536           GstCollectData. (#320766, #320423)
11537
11538 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11539
11540         * gst/gstmessage.c:
11541           Improve docs for DURATION message (usage of duration parameter)
11542           (#320113)
11543
11544 2005-11-20  Wim Taymans  <wim@fluendo.com>
11545
11546         * check/Makefile.am:
11547         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
11548         (main):
11549         * gst/Makefile.am:
11550         * gst/gst.h:
11551         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
11552         (gst_segment_set_seek), (gst_segment_set_newsegment),
11553         (gst_segment_to_stream_time), (gst_segment_to_running_time),
11554         (gst_segment_clip):
11555         * gst/gstsegment.h:
11556         Added segment helper structure and methods. Not fully implemented
11557         yet.
11558         Added segment check.
11559
11560 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
11561
11562         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11563           Add a deserialisation test for fractions
11564         * examples/metadata/read-metadata.c: (message_loop),
11565         (make_pipeline), (main):
11566           Fix up metadata reading sample.
11567         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
11568           Debug format fix
11569         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
11570           Don't try and fixate empty caps
11571         * gst/gst_private.h:
11572           Wrap in G_BEGIN_DECLS/G_END_DECLS
11573         * gst/gstvalue.c: (gst_value_collect_fraction),
11574         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
11575         (gst_value_transform_string_fraction),
11576         (gst_value_compare_fraction):
11577           Add some extra guards to ensure that we don't end up 
11578           with an invalid denominator of 0 in a gstfraction and
11579           that fractions always get reduced.
11580
11581 2005-11-20  Wim Taymans  <wim@fluendo.com>
11582
11583         * docs/gst/gstreamer-sections.txt:
11584         * gst/gstbuffer.h:
11585         * gst/gstelement.c:
11586         * gst/gstformat.c:
11587         * gst/gstformat.h:
11588         * gst/gstindex.h:
11589         * gst/gstquery.c:
11590         * gst/gstquery.h:
11591         * gst/gstvalue.c:
11592         Doc fixes.
11593
11594 2005-11-20  Wim Taymans  <wim@fluendo.com>
11595
11596         * docs/design/part-TODO.txt:
11597         * gst/gstcaps.h:
11598         Make a proper enum of the flag.
11599
11600 2005-11-19  Wim Taymans  <wim@fluendo.com>
11601
11602         * docs/design/part-TODO.txt:
11603         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
11604         (gst_format_to_quark), (gst_format_register):
11605         * gst/gstformat.h:
11606         * gst/gstquery.c: (_gst_query_initialize),
11607         (gst_query_type_get_name), (gst_query_type_to_quark),
11608         (gst_query_type_register):
11609         * gst/gstquery.h:
11610         Add type to quark and type to string conversions.
11611
11612 2005-11-19  Andy Wingo  <wingo@pobox.com>
11613
11614         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
11615         #320097.
11616
11617 2005-11-19  Wim Taymans  <wim@fluendo.com>
11618
11619         * docs/design/part-TODO.txt:
11620         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
11621         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
11622         (gst_bin_handle_message_func):
11623         * gst/gstbin.h:
11624         Make message handling overridable.
11625
11626 2005-11-19  Andy Wingo  <wingo@pobox.com>
11627
11628         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
11629
11630         * gst/gstclock.h:
11631         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
11632         be a GstClockTime.
11633         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
11634         is a GstClockTime. Fixes #321710.
11635
11636         * gst/gstclock.h (GstClock): Remove offset property. Add
11637         internal_calibration and external_calibration. Fix padding. Pad
11638         also by GstClockTime so we don't run into problems.
11639
11640         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
11641         (gst_clock_get_rate_offset): Remove.
11642         (gst_clock_set_time_adjust): Remove. Fixes #321712.
11643
11644         * gst/gstutils.h:
11645         * gst/gstutils.c (g_static_rec_cond_wait)
11646         (g_static_rec_cond_timed_wait): Removed, no longer needed.
11647
11648         * gst/gstbin.c: Remove terrible continue_state prototype.
11649
11650         * gst/gstelement.h (gst_element_continue_state): Make public.
11651
11652         * gst/gstelement.h:
11653         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
11654         by continue_state. Fixes #319389.
11655
11656         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
11657         Really fixes #168438. However I don't see anywhere where the
11658         filter function is called... stupid GStreamer...
11659         
11660         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
11661         don't have a dispose function, so it won't get called when the
11662         object is unreffed, but oh well!
11663
11664         * gst/gstindex.c (gst_index_set_filter_full): New API function,
11665         allows a destroy function to be set so user_data can be freed.
11666         Fixes #168438.
11667         (gst_index_set_filter): Call gst_index_set_filter_full.
11668
11669         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
11670
11671         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
11672         string should produce an error, given the lack of a way to
11673         represent NULL strings. Fixes #165650.
11674         
11675         * gst/gstvalue.h: 
11676         * gst/gstvalue.c (gst_value_array_append_value) 
11677         (gst_value_array_prepend_value, gst_value_array_get_size) 
11678         (gst_value_array_get_value): New API, copied from
11679         gst_value_list_*, only operates on arrays.
11680         (gst_value_list_append_value, gst_value_list_prepend_value) 
11681         (gst_value_list_concat, gst_value_list_get_size) 
11682         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
11683
11684         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
11685         init_list, because it works on both.
11686         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
11687         (gst_value_copy_list_or_array): Renamed from copy_list.
11688         (gst_value_free_list_or_array): Renamed from free_list.
11689         (gst_value_collect_list_or_array): Renamed from collect_list.
11690         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
11691         (gst_value_list_or_array_peek_pointer): Renamed from
11692         list_peek_pointer.
11693         (_gst_value_array_value_table, _gst_value_list_value_table):
11694         Update value table functions.
11695         (gst_value_compare_list_or_array): Renamed from compare_list.
11696
11697         * gsttaglist.h: Whoops, foreach function returns void. Also fix
11698         some constness.
11699
11700         * gst/gsttaglist.c:
11701         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
11702         GstTagList*. Fixes #143472.
11703
11704         * gst/gststructure.h: Clarify what the foreach/map functions can
11705         or can't do to their arguments.
11706
11707 2005-11-18  Wim Taymans  <wim@fluendo.com>
11708
11709         * gst/gstclock.c: (gst_clock_set_calibration),
11710         (gst_clock_get_calibration):
11711         Doc and API fixes.
11712         Calibration can be set with internal time equal to current
11713         internal time too.
11714
11715 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11716
11717         * gst/gsterror.c:
11718         * gst/gsterror.h:
11719           document
11720
11721 2005-11-18  Andy Wingo  <wingo@pobox.com>
11722
11723         * configure.ac: 
11724         * pkgconfig/gstreamer-net.pc.in:
11725         * pkgconfig/gstreamer-net-uninstalled.pc.in:
11726         * pkgconfig/Makefile.am: Add net pkgconfig files.
11727
11728 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
11729
11730         * gst/gstcaps.c:
11731         * gst/gstghostpad.c:
11732         * gst/gsttrace.c:
11733         * gst/gstvalue.c:
11734         * gst/gstvalue.h:
11735           docs fixes
11736
11737 2005-11-18  Andy Wingo  <wingo@pobox.com>
11738
11739         * gst/net/gstnetclientclock.c: Turn off debugging.
11740
11741         * check/net/gstnetclientclock.c (test_functioning): Assert that the
11742         times connverge somewhat. Can't make a real test.
11743
11744         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
11745         integer arithmetic. Return the minimum of the domain, which can be
11746         set as "internal" for gst_clock_set_calibration.
11747         (gst_net_client_clock_observe_times): Call _set_calibration.
11748         (gst_net_client_clock_new): Call _set_calibration instead of
11749         rate_offset.
11750
11751         * check/net/gstnetclientclock.c (test_functioning): Use the right
11752         adjustment api.
11753
11754         * gst/gstclock.h:
11755         * gst/gstclock.c (gst_clock_get_calibration) 
11756         (gst_clock_set_calibration): New functions, obsolete the ones I
11757         added yesterday. Doh. Precision issues mean we have to extrapolate
11758         from a point in the more recent past than 1970.
11759         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
11760         obsolete.
11761         (gst_clock_adjust_unlocked): Use the right calibration data.
11762
11763 2005-11-18  Edward Hervey  <edward@fluendo.com>
11764
11765         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
11766         Also reset the ->current_* values in READY->PAUSED
11767
11768 2005-11-18  Andy Wingo  <wingo@pobox.com>
11769
11770         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
11771         Whoops, check the right fd. Also add some debugging.
11772         (gst_net_client_clock_observe_times): Adjust for int64 offset.
11773         (do_linear_regression): Add a crapload of debugging. Subtract off
11774         the minimum values from the input series to discard unneeded bits.
11775         Use only int arithmetic. There is still double arithmetic when
11776         calculating the intercept that needs fixing. Return boolean to
11777         indicate success; FALSE would mean the domain or range is too
11778         great. Still needs fixes.
11779
11780 2005-11-18  Wim Taymans  <wim@fluendo.com>
11781
11782         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
11783         For the current position in stream time, we need to subtract
11784         accumulated time.
11785         
11786         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
11787         Release lock before calling the callback function of async
11788         entries.
11789
11790 2005-11-18  Andy Wingo  <wingo@pobox.com>
11791
11792         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
11793         Port goes all the way to MAXUINT16.
11794
11795         * gst/net/gstnettimeprovider.c: Make the port range the same as
11796         for the kernel: 0 assigns, otherwise ports are less than
11797         MAXUINT16.
11798
11799         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
11800         port change.
11801
11802         * check/net/gstnetclientclock.c (test_functioning): Add the start
11803         of another test. 
11804
11805 2005-11-18  Wim Taymans  <wim@fluendo.com>
11806
11807         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
11808         (gst_bin_remove_func), (bin_bus_handler):
11809         * gst/gstbin.h:
11810         Removing a clock provider from a bin, triggers a clock lost message
11811         so that a new clock will be selected.
11812         Adding a clock to a bin triggers a clock provider message.
11813         Make sure we reselect a clock when we received a clock lost message.
11814         Keep a reference to the element that provided the clock.
11815
11816 2005-11-18  Andy Wingo  <wingo@pobox.com>
11817
11818         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
11819         the clock initially so it produces values around the base time.
11820         (gst_net_client_clock_class_init): Typo fix.
11821         (gst_net_client_clock_thread): Add note on when the socket gets
11822         closed.
11823
11824 2005-11-17  Wim Taymans  <wim@fluendo.com>
11825
11826         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
11827         Free remote and local time arrays.
11828
11829 2005-11-17  Wim Taymans  <wim@fluendo.com>
11830
11831         * gst/net/gstnetclientclock.c: (do_linear_regression),
11832         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
11833         Fix compilation, uninitialized vars and a forgotten continue.
11834
11835 2005-11-17  Andy Wingo  <wingo@pobox.com>
11836
11837         * check/Makefile.am (check_PROGRAMS): 
11838         * check/net/gstnetclientclock.c: Add a most minimal test for the
11839         net client clock. More to come later.
11840
11841         * gst/net/gstnet.h: 
11842         * gst/net/Makefile.am: Add netclientclock.
11843
11844         * gst/net/gstnetclientclock.h:
11845         * gst/net/gstnetclientclock.c: New files, implement an untested
11846         GstClock that takes its time from a network time provider.
11847         Implements the algorithm in network-clock.scm.
11848
11849         * tests/network-clock.scm (*window-size*): Rename from
11850         *queue-length*.
11851         * tests/network-clock.scm (network-time): 
11852         * tests/network-clock-utils.scm (q-push): Update callers.
11853
11854 2005-11-17  Wim Taymans  <wim@fluendo.com>
11855
11856         * gst/gstbin.c: (gst_bin_provide_clock_func),
11857         (gst_bin_sort_iterator_new):
11858         And unref the child too..
11859
11860 2005-11-17  Wim Taymans  <wim@fluendo.com>
11861
11862         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
11863         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
11864         Refactor the sort iterator so it can be used while holding the
11865         LOCK too.
11866         Make clock selection select a clock closest to the source.
11867
11868 2005-11-17  Michael Smith <msmith@fluendo.com>
11869
11870         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
11871         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
11872         * gst/gstclock.h:
11873           Anonymous structs are a gcc (and some other compilers) extension, so
11874           don't use them. Since this is only for ABI-compatibility, and our
11875           API/ABI freeze is over in a few days, this whole thing will only
11876           last a few days, so don't bother trying to think up a meaningful
11877           name for the struct.
11878
11879 2005-11-17  Andy Wingo  <wingo@pobox.com>
11880
11881         * gst/gstclock.h (GstClock): Add rate and offset properties,
11882         preserving ABI stability. Add rate/offset accessors. Will file bug
11883         for the freeze break.
11884
11885         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
11886         and offset, trying to keep precision and avoiding
11887         underflow/overflow.
11888         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
11889         functions. Make gst_clock_set_time_adjust obsolete.
11890         (gst_clock_set_time_adjust): Note that this function is obsolete.
11891         Will file bug soon.
11892
11893         * gst/base/gstbasetransform.h: Make the ABI-stability hack
11894         greppable by using GST_PADDING-1+1.
11895
11896 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
11897
11898         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
11899
11900         * gst/gstmessage.c: (gst_message_parse_clock_lost):
11901           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
11902
11903         * gst/gstpadtemplate.h:
11904         * gst/gstpluginfeature.h:
11905           Don't use c++ style comments in headers (#321638).
11906
11907 2005-11-16  Andy Wingo  <wingo@pobox.com>
11908
11909         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
11910         buffer.
11911
11912         * check/net/gstnettimeprovider.c: Check to see that the time
11913         provider actually provides times. Works, yo!
11914
11915 2005-11-16  Wim Taymans  <wim@fluendo.com>
11916
11917         * check/Makefile.am:
11918         Enable more tests.
11919
11920         * check/elements/fakesrc.c: (GST_START_TEST):
11921         Set element to NULL before disposing it.
11922
11923 2005-11-16  Andy Wingo  <wingo@pobox.com>
11924
11925         * gst/net/Makefile.am:
11926         * gst/net/gstnet.h:
11927         * gst/net/gstnettimeprovider.c: 
11928         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
11929         provider, include it from gstnet.h, and add it to the build.
11930
11931         * gst/net/gstnettimepacket.h: 
11932         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
11933         sending and receiving.
11934
11935 2005-11-16  Wim Taymans  <wim@fluendo.com>
11936
11937         * check/Makefile.am:
11938         Enable valgrind check.
11939
11940         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
11941         (gst_fake_src_alloc_buffer):
11942         Fix memleak.
11943
11944 2005-11-16  Wim Taymans  <wim@fluendo.com>
11945
11946         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
11947         Call parent finalize too.
11948
11949 2005-11-16  Wim Taymans  <wim@fluendo.com>
11950
11951         * check/Makefile.am:
11952         Enable valgrind check that should work fine now.
11953
11954         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
11955         * gst/gstqueue.c: (gst_queue_init):
11956         Fix memleaks in pad allocation.
11957
11958 2005-11-16  Andy Wingo  <wingo@pobox.com>
11959
11960         * gst/net/Makefile.am:
11961         * gst/net/gstnet.h: New part of core to hold network elements and
11962         objects. Put in core because it exposes API that applications want
11963         to use. The library is named libgstnet-tempname right now because
11964         of the existing libgstnet in gst-plugins-base. Solution is
11965         probably to rename the one in plugins-base; will file a bug for
11966         the freeze break.
11967
11968         * gst/net/gstnettimeprovider.c: 
11969         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
11970         get_time call over the network.
11971
11972         * configure.ac: 
11973         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
11974
11975         * check/Makefile.am:
11976         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
11977         get additions shortly.
11978
11979 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11980
11981         * gst/gstpad.c: (gst_pad_new_from_static_template):
11982         * gst/gstpad.h:
11983           add gst_pad_new_from_static_template functions
11984         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
11985         (gst_check_setup_sink_pad):
11986         * gst/elements/gsttee.c: (gst_tee_init):
11987           and use them
11988
11989 2005-11-16  Wim Taymans  <wim@fluendo.com>
11990
11991         * gst/gstpad.c: (gst_pad_pause_task):
11992         Removed warning, it's not really an error either.
11993
11994 2005-11-16  Wim Taymans  <wim@fluendo.com>
11995
11996         * gst/base/gstbasetransform.c:
11997         (gst_base_transform_prepare_output_buf),
11998         (gst_base_transform_event):
11999         Check if the caps are NULL, this can happen if the element
12000         is shutting down and the pad caps are set to NULL.
12001
12002 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12003
12004         * gst/elements/gsttee.c: (gst_tee_init):
12005           fix pad template leak in tee
12006
12007 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12008
12009         * gst/glib-compat.c: (g_value_dup_gst_object):
12010         * gst/glib-compat.h:
12011         * gst/gstpad.c: (gst_pad_set_property):
12012           use gst_object_ref when setting the pad template; this will
12013           trigger the pad template leaks on GLib 2.6 and the slaves
12014
12015 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12016
12017         * gst/glib-compat.c: (gst_flags_get_first_value):
12018         * gst/glib-compat.h:
12019         * gst/gstregistryxml.c:
12020           remove functions copied from GLib 2.6
12021
12022 2005-11-16  Michael Smith <msmith@fluendo.com>
12023
12024         * gst/Makefile.am:
12025           Don't link against VALGRIND_LIBS. That was always the wrong thing to
12026           do, but only breaks with newer valgrind versions. We're not a
12027           valgrind tool, we have no link-time dependencies on libcoregrind.
12028
12029 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12030
12031         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
12032           some debug changes
12033         * gst/gstmessage.h:
12034           typo fixes
12035
12036 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12037
12038         * gst/base/gstbasesrc.c: (gst_base_src_init):
12039         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
12040         * gst/gstqueue.c: (gst_queue_init):
12041         * gst/gstregistryxml.c: (load_feature):
12042           Revert all these unrefs, they don't even pass make check !
12043
12044 2005-11-15  Johan Dahlin  <johan@gnome.org>
12045
12046         * gst/base/gstbasesrc.c: (gst_base_src_init):
12047         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
12048         * gst/gstqueue.c: (gst_queue_init): 
12049         Free pad templates, fixes a couple of leaks.
12050
12051 2005-11-15  Daniel Fischer  <dan at f3c dot com>
12052
12053         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
12054
12055         * gst/gstpad.c: (gst_pad_get_property):
12056           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
12057           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
12058           (#321452)
12059
12060 2005-11-15  Wim Taymans  <wim@fluendo.com>
12061
12062         * gst/gstevent.c:
12063         Small doc update.
12064
12065 2005-11-15  Andy Wingo  <wingo@pobox.com>
12066
12067         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
12068
12069         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
12070         using GST_CLOCK_TIME_NONE to disable base time management.
12071         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
12072         time if it was NONE before.
12073         (gst_pipeline_change_state): Only munge the base time if
12074         stream_time != GST_CLOCK_TIME_NONE.
12075
12076         * check/gst/gstpipeline.c (test_base_time): Punt around the
12077         problem of the probe not being called, because that's not the
12078         issue I'm looking at. Add a check that setting stream_time to NONE
12079         disables base time management.
12080         
12081 2005-11-15  Wim Taymans  <wim@fluendo.com>
12082
12083         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
12084         segment_stop == -1 at startup.
12085
12086         * gst/base/gstbasetransform.c: (gst_base_transform_event),
12087         (gst_base_transform_change_state):
12088         Init segment values at start.
12089
12090 2005-11-15  Wim Taymans  <wim@fluendo.com>
12091
12092         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12093         0 segment values are 0 in any format.
12094
12095         * gst/base/gstbasetransform.c: (gst_base_transform_event):
12096         * gst/base/gstbasetransform.h:
12097         Parse newsegment correctly in basetransform
12098
12099         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
12100         Sync to clock using updated segment values.
12101
12102 2005-11-15  Andy Wingo  <wingo@pobox.com>
12103
12104         * check/gst/gstpipeline.c (test_base_time): Add check that the
12105         base time and stream time are reset correctly.
12106
12107 2005-11-15  Wim Taymans  <wim@fluendo.com>
12108
12109         * docs/design/part-TODO.txt:
12110         Some more TODO items.
12111
12112 2005-11-15  Andy Wingo  <wingo@pobox.com>
12113
12114         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
12115         error if the user selected "no clock" as the clocking method.
12116
12117         * check/gst/gstpipeline.c (test_base_time): New test for buffer
12118         timestamps with live capture.
12119
12120         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
12121         is 0 but we are a live source, timestamp the buffers using the
12122         element's clock.
12123
12124 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
12125
12126         * docs/gst/gstreamer-sections.txt:
12127         * gst/gsterror.c:
12128         * gst/gstghostpad.c:
12129         * gst/gstobject.h:
12130         * gst/gstxml.c:
12131           more section docs
12132
12133 2005-11-14  Wim Taymans  <wim@fluendo.com>
12134
12135         * common/gst.supp:
12136           add suppressions from Wim's Debian machine
12137
12138 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12139
12140         * common/gst.supp:
12141           add suppressions from Andy's AMD64 Ubuntu machine
12142
12143 2005-11-14  Andy Wingo  <wingo@pobox.com>
12144
12145         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
12146         STATE_LOCK not necessary. Fixes #311489.
12147
12148         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
12149         #305291.
12150
12151         * gst/gstindex.c (gst_index_add_object): Note in the docs that
12152         this function is not implemented.
12153
12154 2005-11-14  Julien MOUTTE  <julien@moutte.net>
12155
12156         * gst/base/gstbasetransform.c:
12157         (gst_base_transform_prepare_output_buf):
12158         Ref the source pad caps while we need them.
12159         Fixes (#321386)
12160
12161 2005-11-11  Wim Taymans  <wim@fluendo.com>
12162
12163         * docs/gst/gstreamer-sections.txt:
12164         Added some docs for GstCollectData.
12165
12166         * gst/base/gstadapter.c:
12167         Some small code example fix.
12168
12169         * gst/base/gstcollectpads.c:
12170         * gst/base/gstcollectpads.h:
12171         Document some more.
12172
12173 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12174
12175         * configure.ac: back to HEAD
12176
12177 === release 0.9.5 ===
12178
12179 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
12180
12181         * configure.ac:
12182           releasing 0.9.5, "Bike Lunch Day"
12183
12184 2005-11-11  Wim Taymans  <wim@fluendo.com>
12185
12186         * gst/gstbuffer.c: (_gst_buffer_copy):
12187         Copy more flags.
12188
12189         * gst/gstcaps.c: (gst_caps_is_equal):
12190         Fix some docs.
12191         Make _is_equal fast in the trivial cases.
12192
12193         * gst/gstminiobject.c:
12194         * gst/gstminiobject.h:
12195         More docs. Spifify .h file.
12196
12197         * gst/gstutils.c:
12198         Small doc update.
12199
12200 2005-11-11  Wim Taymans  <wim@fluendo.com>
12201
12202         * gst/base/gstbasetransform.c:
12203         (gst_base_transform_prepare_output_buf),
12204         (gst_base_transform_handle_buffer):
12205         Small cleanups.
12206         If we're processing a buffer and need to allocate an output
12207         buffer, we cannot accept a format change. If we did get a 
12208         format change, we have to alloc a buffer ourselves of the 
12209         right size.
12210
12211 2005-11-11  Wim Taymans  <wim@fluendo.com>
12212
12213         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
12214         While checking the flag for reentrancy in the gstcaps function
12215         is nice to detect recursive invocations, it also makes it 
12216         impossible to call getcaps from multiple threads, which must be
12217         possible. So, checking for recursive calls has to go.
12218
12219 2005-11-11  Michael Smith <msmith@fluendo.com>
12220
12221         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
12222           Don't sync on buffers that fall partially outside our current
12223           segment. Prevents an assertion failure/abort playing some files.
12224
12225 2005-11-10  Andy Wingo  <wingo@pobox.com>
12226
12227         * check/gst/gstbin.c (test_message_state_changed_children): Style
12228         fix..
12229
12230         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
12231         gst_bus_poll with the signal watch. Ensures that poll and a signal
12232         watch see the same messages.
12233
12234         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
12235         a poll and a watch at the same time get the same messages.
12236
12237 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12238
12239         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
12240         * gst/gstcaps.c: (gst_caps_intersect):
12241           Don't call gst_caps_do_simplify - it doesn't respect order of caps
12242           and it's not needed.
12243
12244 2005-11-10  Wim Taymans  <wim@fluendo.com>
12245
12246         * docs/design/part-TODO.txt:
12247         Updated todo.
12248
12249 2005-11-10  Wim Taymans  <wim@fluendo.com>
12250
12251         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
12252         * gst/base/gstbasesrc.c: (gst_base_src_wait),
12253         (gst_base_src_do_sync), (gst_base_src_get_range):
12254         Implement clock sync in base class.
12255
12256 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12257
12258         patch by: Tim-Philipp Müller <tim at centricular dot net>
12259
12260         * gst/gststructure.c: (gst_structure_parse_field),
12261         (gst_structure_from_string):
12262           Forward-port a 0.8 patch to handle escaped spaces in structure string,
12263           so that gst_parse_launch() can deal with spaces in filtered link
12264           caps (fixes #164479)
12265         * check/gst/capslist.h:
12266         * check/gst/gststructure.c: (GST_START_TEST):
12267           add unit tests for this change
12268
12269 2005-11-10  Wim Taymans  <wim@fluendo.com>
12270
12271         * docs/gst/gstreamer-sections.txt:
12272         * gst/gstelement.c:
12273         * gst/gstelement.h:
12274         Fix docs, move some STATE macros to private.
12275
12276 2005-11-10  Wim Taymans  <wim@fluendo.com>
12277
12278         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
12279         Added check for bug #317341
12280
12281         * gst/gstbuffer.c:
12282         * gst/gstbuffer.h:
12283         Some more spiffifying.
12284
12285         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
12286         Call peer linkfunction if we are a source pad. Totally fixes
12287         #317341
12288
12289         * gst/gstpad.c:
12290         Update docs, source pads should call the peer linkfunction
12291         so they can atomically perform the pad link.
12292
12293 2005-11-09  Wim Taymans  <wim@fluendo.com>
12294
12295         * gst/gstbuffer.c:
12296         * gst/gstbuffer.h:
12297         Uber-spiffy-spiffify some more.
12298
12299 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
12300
12301         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
12302         * gst/elements/gstfilesink.c: (gst_file_sink_init):
12303         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
12304         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
12305         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
12306         * gst/gstpad.c: (gst_pad_init):
12307           Use GST_DEBUG_FUNCPTR() more extensively.
12308
12309 2005-11-09  Wim Taymans  <wim@fluendo.com>
12310
12311         * gst/gstobject.c: (gst_object_class_init):
12312         * gst/gstobject.h:
12313         Documentation fixes.
12314
12315 2005-11-09  Edward Hervey  <edward@fluendo.com>
12316
12317         * gst/gsttypefindfactory.c:
12318         Fix docs.
12319         
12320 2005-11-09  Edward Hervey  <edward@fluendo.com>
12321
12322         * gst/base/gsttypefindhelper.c:
12323         * gst/gsttypefind.c:
12324         * gst/gsttypefind.h:
12325         Fix docs.
12326
12327 2005-11-09  Wim Taymans  <wim@fluendo.com>
12328
12329         * gst/gstiterator.c:
12330         Fix revision data.
12331
12332         * gst/gsttask.c:
12333         * gst/gsttask.h:
12334         Fix docs.
12335
12336 2005-11-09  Wim Taymans  <wim@fluendo.com>
12337
12338         * gst/gstevent.h:
12339         * gst/gsturi.h:
12340         Fix docs.
12341
12342 2005-11-09  Wim Taymans  <wim@fluendo.com>
12343
12344         * docs/gst/gstreamer-sections.txt:
12345         Moved the message async delivery private lock and cond
12346         to the private section.
12347
12348         * gst/gstmessage.c:
12349         * gst/gstmessage.h:
12350         Fixed docs.
12351
12352 2005-11-09  Edward Hervey  <edward@fluendo.com>
12353
12354         * docs/gst/gstreamer-sections.txt:
12355         * gst/gsturi.c:
12356         * gst/gsturi.h:
12357         Document GstURIHandler
12358
12359 2005-11-09  Wim Taymans  <wim@fluendo.com>
12360
12361         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
12362         (gst_iterator_find_custom):
12363         * gst/gstiterator.h:
12364         Fix iterator docs.
12365
12366 2005-11-09  Wim Taymans  <wim@fluendo.com>
12367
12368         * gst/gstbin.h:
12369         Document another field.
12370
12371         * gst/gststructure.c:
12372         * gst/gststructure.h:
12373         Document.
12374
12375 2005-11-09  Wim Taymans  <wim@fluendo.com>
12376
12377         * gst/gstbin.h:
12378         Documented structs.
12379
12380 2005-11-09  Wim Taymans  <wim@fluendo.com>
12381
12382         * docs/gst/gstreamer-sections.txt:
12383         Added some new macros.
12384
12385         * gst/gstclock.c:
12386         * gst/gstclock.h:
12387         * gst/gstobject.h:
12388         Docs updates.
12389
12390 2005-11-09  Wim Taymans  <wim@fluendo.com>
12391
12392         * docs/design/part-TODO.txt:
12393         Some more items for the TODO
12394
12395         * gst/gstcaps.c:
12396         * gst/gstcaps.h:
12397         Document GstCaps.
12398
12399 2005-11-09  Andy Wingo  <wingo@pobox.com>
12400
12401         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
12402         to work on something else now tho...
12403
12404         * gst/base/gstadapter.c: More adapter docs.
12405
12406         * gst/elements/gstfilesink.c (gst_file_sink_start) 
12407         (gst_file_sink_stop): New functions, replace the state change
12408         handler.
12409         (gst_file_sink_class_init): Hook up the start and stop functions.
12410         (gst_file_sink_base_init): Don't set the state change handler any
12411         more. It was a bit ugly too, being set from here...
12412         (gst_file_sink_get_property, gst_file_sink_set_property):
12413         Cleanups...
12414         (gst_file_sink_set_location): More robust check that doesn't call
12415         GST_STATE. Ugggggg.
12416
12417 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
12418
12419         * gst/base/gstbasetransform.c: (gst_base_transform_event):
12420           Hold STREAM_LOCK while pushing newsegment or tag events as well.
12421
12422 2005-11-08  Wim Taymans  <wim@fluendo.com>
12423
12424         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
12425         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
12426         (gst_base_sink_chain), (gst_base_sink_change_state):
12427         * gst/base/gstbasesink.h:
12428         * gst/base/gstbasesrc.h:
12429         * gst/gstelement.h:
12430         * gst/gstevent.h:
12431         Avoid excessive typechecking in macros.
12432
12433         * gst/gstminiobject.c: (gst_mini_object_get_type),
12434         (gst_mini_object_init), (gst_mini_object_new),
12435         (gst_mini_object_free):
12436         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
12437         (gst_object_finalize):
12438         Remove cruft code, optimize alloc_trace.
12439
12440 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
12441
12442         * docs/faq/gst-uninstalled:
12443           fix up PS1 for systems that try to reset it
12444
12445 2005-11-07  Wim Taymans  <wim@fluendo.com>
12446
12447         * gst/base/gstbasesrc.c: (gst_base_src_init),
12448         (gst_base_src_get_range):
12449         Set the segment_end to -1 initially. Fixed typefind.
12450
12451 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
12452
12453         * gst/base/gstadapter.c:
12454           Debug category should be 'adapter', not 'GstAdapter'.
12455           
12456         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
12457         (gst_collectpads_class_init), (gst_collectpads_init),
12458         (gst_collectpads_peek), (gst_collectpads_pop),
12459         (gst_collectpads_event), (gst_collectpads_chain):
12460           Add debug category and some debugging output. Use boilerplate
12461           macros. Remove some extraneous words from docs.
12462
12463 2005-11-05  Andy Wingo  <wingo@pobox.com>
12464
12465         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
12466         macro.
12467
12468 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
12469
12470         * docs/gst/gstreamer-sections.txt:
12471         * gst/gstcaps.h:
12472         * gst/gstinfo.c:
12473         * gst/gstminiobject.h:
12474         * gst/gstobject.h:
12475         * gst/gstutils.h:
12476           more docs added
12477
12478 2005-11-04  Wim Taymans  <wim@fluendo.com>
12479
12480         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
12481         Small update to stop at the configured segment_end
12482         position.
12483
12484 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
12485
12486         * gst/gstregistry.c:
12487         * gst/gstregistry.h:
12488           added missing docs
12489
12490 2005-11-04  Edward Hervey  <edward@fluendo.com>
12491
12492         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
12493         Check if we are doing a segment seek and have arrived at the
12494         end of that segment.
12495
12496 2005-11-04  Wim Taymans  <wim@fluendo.com>
12497
12498         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
12499         Don't leak a mutex unlock in case of an error.
12500
12501         * gst/gstbus.h:
12502         Doc fixes.
12503
12504 2005-11-04  Wim Taymans  <wim@fluendo.com>
12505
12506         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
12507         (gst_bus_post):
12508         Get the context to wake up only once.
12509
12510 2005-11-03  Wim Taymans  <wim@fluendo.com>
12511
12512         * check/states/sinks.c: (GST_START_TEST):
12513         Uncomment fixed check.
12514
12515         * docs/design/part-TODO.txt:
12516         Updated TODO.
12517
12518         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12519         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
12520         (gst_base_sink_get_position):
12521         If we are going to PLAYING, post the right pending state
12522         when we post the intermediate paused message.
12523
12524         * gst/gstelement.c: (gst_element_continue_state),
12525         (gst_element_set_state_func), (gst_element_change_state):
12526         Don't post state changes that were between the same state
12527         and were not ASYNC.
12528
12529 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
12530
12531         * docs/gst/gstreamer-sections.txt:
12532         * gst/gstcaps.h:
12533         * gst/gstinfo.c:
12534         * gst/gstminiobject.h:
12535         * gst/gstobject.h:
12536         * gst/gstutils.h:
12537           more docs and doc style fixes
12538
12539 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
12540
12541         * docs/gst/gstreamer-sections.txt:
12542         * gst/gstelement.c:
12543         * gst/gstminiobject.c:
12544         doc fixes
12545
12546 2005-11-03  Andy Wingo  <wingo@pobox.com>
12547
12548         * check/states/sinks.c (test_livesrc_sink): Add checks that the
12549         state-changed messages actually have the right order and the right
12550         values.
12551
12552 2005-11-03  Wim Taymans  <wim@fluendo.com>
12553
12554         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
12555         Added some more checks. Specifically the case where NO_PREROLL
12556         elements are in the pipeline.
12557
12558         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12559         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
12560         (gst_base_sink_get_position):
12561         Post READY->PAUSED state change messages too.
12562         Fix bug where VOID was posted as pending state...
12563
12564         * gst/gstbin.c: (gst_bin_recalc_state):
12565         use _element_continue_state() to continue the state change.
12566
12567         * gst/gstelement.c: (gst_element_continue_state),
12568         (gst_element_commit_state), (gst_element_set_state_func),
12569         (gst_element_change_state), (gst_element_change_state_func):
12570         Lots of state change cleanups, assign the STATE_RETURN in
12571         a new continue_state() function that also propagates the
12572         last return value from a state change to the app.
12573         Update some debug statements with proper category.
12574
12575 2005-11-03  Wim Taymans  <wim@fluendo.com>
12576
12577         * docs/design/part-events.txt:
12578         * docs/design/part-gstpipeline.txt:
12579         * docs/design/part-messages.txt:
12580         * docs/design/part-overview.txt:
12581         * docs/design/part-seeking.txt:
12582         * docs/design/part-states.txt:
12583         * docs/design/part-trickmodes.txt:
12584         * docs/manual/advanced-position.xml:
12585         Small docs updates.
12586
12587         * gst/gstobject.h:
12588         People think !! is ugly, this looks better.
12589
12590         * gst/gstpad.c: (gst_pad_set_blocked_async):
12591         Remove !! since it's fixed elsewhere now.
12592
12593 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
12594
12595         * gst/gstminiobject.h:
12596         * gst/gstobject.h:
12597           Add !! to _FLAG_IS_SET macros to make the result boolean.
12598
12599 2005-11-03  Edward Hervey  <edward@fluendo.com>
12600
12601         * gst/gstpad.c: (gst_pad_set_blocked_async):
12602         comparing a flag and a gboolean rarely returns coherent results...
12603         Added two characters (!!) to make that work correctly.
12604         
12605 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
12606
12607         * gst/gstbus.c: (gst_bus_class_init):
12608           Fix some typos.
12609           
12610         * gst/gstqueue.c: (gst_queue_loop):
12611           Don't assume a miniobject that isn't a buffer is an
12612           event (it could be that there is a refcounting
12613           problem somewhere and the pointer is stale and
12614           refers to an already destroyed miniobject).
12615
12616 2005-11-03  Julien MOUTTE  <julien@moutte.net>
12617
12618         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
12619
12620 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
12621
12622         * docs/manual/advanced-position.xml:
12623           Update seek example and explanations to current 0.9 API.
12624
12625         * gst/elements/gsttypefindelement.c:
12626         (gst_type_find_element_activate):
12627           Remove FIXME comment now that the found caps
12628           are unreffed.
12629
12630 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12631
12632         * gst/gstregistryxml.c: (load_feature):
12633           Add another GST_STR_NULL instance
12634
12635 2005-11-02  Edward Hervey  <edward@fluendo.com>
12636
12637         * gst/gstpad.c: (handle_pad_block):
12638         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
12639         
12640 2005-11-02  Wim Taymans  <wim@fluendo.com>
12641
12642         * gst/gstbin.c:
12643         Fix typo in docs.
12644
12645         * gst/gstelement.c: (gst_element_commit_state):
12646         Remove unused value.
12647
12648         * gst/gstiterator.c:
12649         Mention that the returned element is reffed in the docs.
12650
12651 2005-11-02  Wim Taymans  <wim@fluendo.com>
12652
12653         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
12654         (gst_pad_push), (gst_pad_push_event):
12655         Unlock blocked pads when they are flushed.
12656
12657 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12658
12659         * docs/README:
12660         * docs/gst/gstreamer-sections.txt:
12661         * gst/gstbin.c:
12662           doc updates
12663         * gst/gstregistry.c: (gst_registry_scan_path_level):
12664           fix for a nasty little missed situation where an installed plug-in
12665           which was in the cache did not get overridden by an uninstalled one
12666           which was earlier in the plugin path because the newly created plugin
12667           for the uninstalled one (not in the registry) didn't get its
12668           ->registered set to TRUE
12669
12670 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
12671
12672         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
12673         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
12674         (gst_collectpads_is_active), (gst_collectpads_collect),
12675         (gst_collectpads_collect_range), (gst_collectpads_start),
12676         (gst_collectpads_stop), (gst_collectpads_peek),
12677         (gst_collectpads_pop), (gst_collectpads_available),
12678         (gst_collectpads_read), (gst_collectpads_flush):
12679           Guard public API with assertions.
12680         
12681         * gst/gstpad.c:
12682           Fix docs for gst_pad_set_link_function().
12683
12684 2005-11-02  Johan Dahlin  <johan@gnome.org>
12685
12686         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
12687         Unref found_caps after we used it.
12688
12689 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
12690
12691         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
12692           Don't try to ref NULL.
12693
12694 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12695
12696         * win32/common/config.h.in:
12697           provide a GST_FUNCTION that just gives a string for now
12698
12699 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12700
12701         * win32/common/gstenumtypes.c: (register_gst_object_flags),
12702         (gst_object_flags_get_type), (register_gst_bin_flags),
12703         (gst_bin_flags_get_type), (register_gst_buffer_flag),
12704         (gst_buffer_flag_get_type), (register_gst_bus_flags),
12705         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
12706         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
12707         (gst_clock_return_get_type), (register_gst_clock_entry_type),
12708         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
12709         (gst_clock_flags_get_type), (register_gst_state),
12710         (gst_state_get_type), (register_gst_state_change_return),
12711         (gst_state_change_return_get_type), (register_gst_state_change),
12712         (gst_state_change_get_type), (register_gst_element_flags),
12713         (gst_element_flags_get_type), (register_gst_core_error),
12714         (gst_core_error_get_type), (register_gst_library_error),
12715         (gst_library_error_get_type), (register_gst_resource_error),
12716         (gst_resource_error_get_type), (register_gst_stream_error),
12717         (gst_stream_error_get_type), (register_gst_event_type),
12718         (gst_event_type_get_type), (register_gst_seek_type),
12719         (gst_seek_type_get_type), (register_gst_seek_flags),
12720         (gst_seek_flags_get_type), (register_gst_format),
12721         (gst_format_get_type), (register_gst_index_certainty),
12722         (gst_index_certainty_get_type), (register_gst_index_entry_type),
12723         (gst_index_entry_type_get_type),
12724         (register_gst_index_lookup_method),
12725         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
12726         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
12727         (gst_index_resolver_method_get_type), (register_gst_index_flags),
12728         (gst_index_flags_get_type), (register_gst_debug_level),
12729         (gst_debug_level_get_type), (register_gst_debug_color_flags),
12730         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
12731         (gst_iterator_result_get_type), (register_gst_iterator_item),
12732         (gst_iterator_item_get_type), (register_gst_message_type),
12733         (gst_message_type_get_type), (register_gst_mini_object_flags),
12734         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
12735         (gst_pad_link_return_get_type), (register_gst_flow_return),
12736         (gst_flow_return_get_type), (register_gst_activate_mode),
12737         (gst_activate_mode_get_type), (register_gst_pad_direction),
12738         (gst_pad_direction_get_type), (register_gst_pad_flags),
12739         (gst_pad_flags_get_type), (register_gst_pad_presence),
12740         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
12741         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
12742         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
12743         (gst_plugin_error_get_type), (register_gst_plugin_flags),
12744         (gst_plugin_flags_get_type), (register_gst_rank),
12745         (gst_rank_get_type), (register_gst_query_type),
12746         (gst_query_type_get_type), (register_gst_tag_merge_mode),
12747         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
12748         (gst_tag_flag_get_type), (register_gst_task_state),
12749         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
12750         (gst_alloc_trace_flags_get_type),
12751         (register_gst_type_find_probability),
12752         (gst_type_find_probability_get_type), (register_gst_uri_type),
12753         (gst_uri_type_get_type), (register_gst_parse_error),
12754         (gst_parse_error_get_type):
12755         * win32/common/gstversion.h:
12756           update win32 copies
12757
12758 2005-11-01  Luca Ognibene  <luogni@tin.it>
12759
12760         * gst/gst.c:
12761           fix docs. popt is dead, long live GOption.
12762
12763 2005-10-31  Wim Taymans  <wim@fluendo.com>
12764
12765         * gst/gstbuffer.h:
12766         Small doc fix.
12767
12768 2005-10-31  Andy Wingo  <wingo@pobox.com>
12769
12770         * Boo!
12771
12772         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
12773
12774         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
12775         need to serialize property notifications on GLib 2.8. GLib 2.6 has
12776         the possibility of deadlocks here if code calling notify() or
12777         set() has a lock that can be taken in another notify handler (ABBA
12778         with class lock and e.g. python GIL state lock).
12779
12780 2005-10-28  Julien MOUTTE  <julien@moutte.net>
12781
12782         * gst/gstbus.c: Doc updates.
12783
12784 2005-10-28  Wim Taymans  <wim@fluendo.com>
12785
12786         * docs/design/part-TODO.txt:
12787         * gst/gstiterator.c:
12788         * gst/gstsystemclock.c:
12789         * gst/gstsystemclock.h:
12790         Doc updates.
12791
12792 2005-10-28  Edward Hervey  <edward@fluendo.com>
12793
12794         * docs/gst/gstreamer-docs.sgml:
12795         * docs/gst/gstreamer-sections.txt:
12796         the GstURIType documentation page is private, it only defines GstURIType
12797         which should be defined in the GstURIHandler page
12798         
12799 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12800
12801         * gst/gstbin.c: (gst_bin_class_init):
12802         * gst/gstbin.h:
12803         * gst/gstutils.c:
12804         Documentation updates.
12805
12806 2005-10-28  Wim Taymans  <wim@fluendo.com>
12807
12808         * docs/gst/gstreamer-sections.txt:
12809         * gst/gstclock.c:
12810         * gst/gstclock.h:
12811         Documented the clocks.
12812
12813 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
12814
12815         * docs/gst/gstreamer-sections.txt:
12816           move some macros to private sections
12817         * gst/gstminiobject.c:
12818         * gst/gstminiobject.h:
12819           add descriptions provided by ds and some more
12820         * gst/gstpad.h:
12821           mark macro as to be removed
12822
12823 2005-10-28  Wim Taymans  <wim@fluendo.com>
12824
12825         * docs/design/part-TODO.txt:
12826         Add an item to TODO.
12827
12828         * gst/gstiterator.c: (gst_iterator_fold),
12829         (gst_iterator_find_custom):
12830         * gst/gstiterator.h:
12831         Add iterator docs.
12832
12833 2005-10-28  Wim Taymans  <wim@fluendo.com>
12834
12835         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
12836         (gst_base_transform_init):
12837         Don't leak class.
12838
12839         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
12840         An EOS event marks the queue as completely filled.
12841
12842 2005-10-27  Wim Taymans  <wim@fluendo.com>
12843
12844         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12845         (gst_base_sink_do_sync), (gst_base_sink_get_position):
12846         Some more debugging.
12847
12848         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
12849         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
12850         (gst_base_transform_event), (gst_base_transform_getrange),
12851         (gst_base_transform_chain):
12852         * gst/base/gstbasetransform.h:
12853         Fix debugging,
12854         Protect transform and concurrent buffer alloc with a new lock.
12855         Try not to break ABI/API.
12856
12857 2005-10-27  Wim Taymans  <wim@fluendo.com>
12858
12859         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
12860         (gst_base_src_init), (gst_base_src_query),
12861         (gst_base_src_default_newsegment),
12862         (gst_base_src_configure_segment), (gst_base_src_do_seek),
12863         (gst_base_src_send_event), (gst_base_src_event_handler),
12864         (gst_base_src_pad_get_range), (gst_base_src_loop),
12865         (gst_base_src_unlock), (gst_base_src_default_negotiate),
12866         (gst_base_src_start), (gst_base_src_deactivate),
12867         (gst_base_src_activate_push), (gst_base_src_change_state):
12868         Move some stuff around and cleanup things.
12869
12870 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
12871
12872         * gst/base/gstbasesrc.c: (gst_base_src_query):
12873           Add missing break statements.
12874
12875 2005-10-27  Wim Taymans  <wim@fluendo.com>
12876
12877         * check/gst/gstbin.c: (GST_START_TEST):
12878         An extra refcount is taken in basesrc.
12879
12880         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
12881         (gst_base_src_get_range), (gst_base_src_pad_get_range),
12882         (gst_base_src_loop):
12883         Small cleanups, check for flushing after being unlocked from the 
12884         LIVE_LOCK. take refcounts correctly (not yet everywhere).
12885         Don't send out EOS when going to READY.
12886
12887 2005-10-27  Wim Taymans  <wim@fluendo.com>
12888
12889         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12890         (gst_base_sink_get_position):
12891         Some more debug.
12892
12893         * gst/gstbin.c: (message_check), (bin_replace_message),
12894         (bin_remove_messages), (is_eos), (gst_bin_add_func),
12895         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
12896         (bin_query_duration_init), (bin_query_duration_fold),
12897         (bin_query_duration_done), (bin_query_generic_fold),
12898         (gst_bin_query):
12899         * tools/gst-launch.c: (main):
12900         Remove old option.
12901
12902 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
12903
12904         * examples/controller/audio-example.c: (main):
12905         * examples/queue/queue.c: (event_loop):
12906         * gst/base/gstbasetransform.h:
12907         * gst/gstelement.c: (gst_element_send_event):
12908         * gst/gstevent.h:
12909         * gst/gstpad.c: (gst_pad_send_event):
12910           fixing examples
12911           fixing docs typos
12912           changing log priority in error situations
12913
12914 2005-10-25  Wim Taymans  <wim@fluendo.com>
12915
12916         * gst/gstbin.c: (message_check), (bin_replace_message),
12917         (bin_remove_messages), (is_eos), (gst_bin_add_func),
12918         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
12919         (bin_query_duration_init), (bin_query_duration_fold),
12920         (bin_query_duration_done), (bin_query_generic_fold),
12921         (gst_bin_query):
12922         Some doc and debug updates.
12923         Cache previously requested query DURATION for speed. invalidate
12924         cached duration if element posts a DURATION message.
12925
12926 2005-10-25  Wim Taymans  <wim@fluendo.com>
12927
12928         * docs/design/part-TODO.txt:
12929         Update TODO.
12930
12931         * gst/gstbin.c: (message_check), (bin_replace_message),
12932         (bin_remove_messages), (is_eos), (gst_bin_add_func),
12933         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
12934         (bin_query_duration_init), (bin_query_duration_fold),
12935         (bin_query_duration_done), (bin_query_generic_fold),
12936         (gst_bin_query):
12937         Handle SEGMENT_START/DONE messages correctly.
12938         More evolved query algorithm that handles duration queries
12939         correctly.
12940
12941         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
12942         (gst_element_get_state_func), (gst_element_abort_state),
12943         (gst_element_commit_state), (gst_element_lost_state):
12944         Some more debugging.
12945
12946         * gst/gstmessage.h:
12947         Added doc.
12948
12949 2005-10-25  Wim Taymans  <wim@fluendo.com>
12950
12951         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
12952         Don't use invalid stream_time.
12953
12954         * gst/gstevent.c: (gst_event_new_newsegment):
12955         stream_time in newsegment cannot be undefined.
12956
12957 2005-10-24  Wim Taymans  <wim@fluendo.com>
12958
12959         * gst/gstbus.c:
12960         Doc fix.
12961
12962         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
12963         (gst_queue_loop):
12964         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
12965
12966 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
12967
12968         * docs/libs/tmpl/gstdparam.sgml:
12969         * docs/libs/tmpl/gstdplinint.sgml:
12970         * docs/libs/tmpl/gstdpman.sgml:
12971         * docs/libs/tmpl/gstdpsmooth.sgml:
12972         * docs/libs/tmpl/gstunitconvert.sgml:
12973           these are obsolete
12974
12975 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12976
12977         * configure.ac:
12978           back to HEAD
12979
12980 === release 0.9.4 ===
12981
12982 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12983
12984         * configure.ac:
12985           releasing 0.9.4, "Tyrannosaurus Rex"
12986
12987 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
12988
12989         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
12990         (gst_file_sink_get_current_offset):
12991           Use fseeko() and ftello() if available. When falling back on
12992           lseek() to get the current offset, fflush() first to make sure
12993           everything is up-to-date and we get the right offset.
12994
12995 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12996
12997         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12998         * gst/base/gstbasesrc.c: (gst_base_src_loop):
12999         * gst/gsterror.c: (_gst_stream_errors_init):
13000         * gst/gsterror.h:
13001         * gst/gstqueue.c: (gst_queue_loop):
13002         * po/POTFILES.in:
13003           remove prematurely added error category and clean up the instances
13004
13005 2005-10-21  Wim Taymans  <wim@fluendo.com>
13006
13007         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13008         (gst_base_sink_get_position), (gst_base_sink_query),
13009         (gst_base_sink_change_state):
13010         Simply set the right flag when going to playing, that's all
13011         we need to do instead of calling a function inside the object
13012         lock (that could take the lock as well and deadlock)
13013
13014 2005-10-21  Wim Taymans  <wim@fluendo.com>
13015
13016         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
13017         (gst_base_src_loop):
13018         Don't warn, the peer element knows what to do best when
13019         the seek failed, it might try something else.
13020
13021 2005-10-21  Wim Taymans  <wim@fluendo.com>
13022
13023         * gst/base/gstbasesrc.c: (gst_base_src_init),
13024         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
13025         Fix seeking.
13026
13027 2005-10-21  Wim Taymans  <wim@fluendo.com>
13028
13029         * docs/design/part-segments.txt:
13030         More docs.
13031
13032         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
13033         Correctly set caps, even on the subbufer.
13034
13035 2005-10-21  Wim Taymans  <wim@fluendo.com>
13036
13037         * docs/gst/gstreamer-docs.sgml:
13038         * docs/gst/gstreamer-sections.txt:
13039         * gst/gstelement.h:
13040         * gst/gstevent.c:
13041         * gst/gstevent.h:
13042         * gst/gstmessage.h:
13043         * gst/gstpad.h:
13044         * gst/gstparse.h:
13045         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
13046         * gst/gsttask.h:
13047         * gst/gstutils.c:
13048         * gst/gstutils.h:
13049         And 2% more doc coverage.
13050
13051 2005-10-21  Andy Wingo  <wingo@pobox.com>
13052
13053         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
13054         position reporting.
13055
13056 2005-10-20  Wim Taymans  <wim@fluendo.com>
13057
13058         * gst/gsterror.c: (gst_error_get_message):
13059         * gst/gstparse.h:
13060         * gst/gstquery.h:
13061         * gst/gststructure.c:
13062         * gst/gsttrace.c:
13063         * gst/gstutils.c:
13064         More docs.
13065
13066 2005-10-20  Wim Taymans  <wim@fluendo.com>
13067
13068         * gst/gstbuffer.h:
13069         * gst/gstpad.c:
13070         * gst/gstparse.c:
13071         Another 1% more coverage.
13072
13073 2005-10-20  Wim Taymans  <wim@fluendo.com>
13074
13075         * docs/gst/gstreamer-sections.txt:
13076         * gst/gstelement.c: (gst_element_get_state_func),
13077         (gst_element_abort_state), (gst_element_commit_state),
13078         (gst_element_lost_state):
13079         * gst/gstevent.h:
13080         * gst/gstquery.c: (gst_query_set_position),
13081         (gst_query_parse_position), (gst_query_set_duration),
13082         (gst_query_parse_duration), (gst_query_new_convert):
13083         * gst/gstutils.c:
13084         Yay! 1% more docs coverage.
13085
13086 2005-10-20  Wim Taymans  <wim@fluendo.com>
13087
13088         * gst/gstpad.h:
13089         * gst/gstquery.c: (gst_query_set_position),
13090         (gst_query_parse_position), (gst_query_set_duration),
13091         (gst_query_parse_duration), (gst_query_new_convert):
13092         * gst/gstquery.h:
13093         * gst/gstutils.c: (gst_element_query_convert):
13094         * gst/gstutils.h:
13095         Docs and consistency fixes.
13096
13097 2005-10-20  Wim Taymans  <wim@fluendo.com>
13098
13099         * gst/gsttask.c:
13100         * gst/gsttask.h:
13101         More docs.
13102
13103 2005-10-20  Wim Taymans  <wim@fluendo.com>
13104
13105         * gst/gstbin.c: (message_check), (bin_replace_message),
13106         (bin_remove_messages), (is_eos), (gst_bin_add_func),
13107         (update_degree), (gst_bin_sort_iterator_next),
13108         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
13109         Reworked the message handling a bit, cache the messages instead of
13110         only the senders. alows us to do more in the future.
13111
13112 2005-10-20  Wim Taymans  <wim@fluendo.com>
13113
13114         * docs/design/part-TODO.txt:
13115         Update TODO
13116
13117         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
13118         (gst_base_sink_query):
13119         Don't use clock time to report position when in EOS.
13120
13121 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
13122
13123         * tools/gst-inspect.c: (print_interfaces),
13124         (print_element_properties_info), (print_element_info):
13125           Fix interface output with gst-inspect -a; don't print
13126           newlines after double/float properties.
13127
13128 2005-10-20  Wim Taymans  <wim@fluendo.com>
13129
13130         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
13131         (gst_base_sink_query):
13132         Speed up current position calculation.
13133
13134         * gst/base/gstbasesrc.c: (gst_base_src_query),
13135         (gst_base_src_default_newsegment):
13136         Correctly set stream position in newsegment.
13137
13138         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
13139         (update_degree), (gst_bin_sort_iterator_next),
13140         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
13141         * gst/gstmessage.c: (gst_message_new_custom):
13142         Clean up debugging info
13143
13144         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
13145         (gst_queue_loop), (gst_queue_handle_src_query):
13146         Pause task faster.
13147
13148 2005-10-19  Wim Taymans  <wim@fluendo.com>
13149
13150         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13151         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
13152         Fix query handling again.
13153
13154 2005-10-19  Wim Taymans  <wim@fluendo.com>
13155
13156         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13157         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
13158         * gst/base/gstbasesrc.c: (gst_base_src_query):
13159         * gst/elements/gstfilesink.c: (gst_file_sink_query):
13160         * gst/elements/gsttypefindelement.c:
13161         (gst_type_find_handle_src_query), (find_element_get_length),
13162         (gst_type_find_element_activate):
13163         API change fix.
13164
13165         * gst/gstquery.c: (gst_query_new_position),
13166         (gst_query_set_position), (gst_query_parse_position),
13167         (gst_query_new_duration), (gst_query_set_duration),
13168         (gst_query_parse_duration), (gst_query_set_segment),
13169         (gst_query_parse_segment):
13170         * gst/gstquery.h:
13171         Bundling query position/duration is not a good idea since duration
13172         does not change much and we don't want to recalculate it for every
13173         position query, so they are separated again..
13174         Base value in segment query is not needed.
13175
13176         * gst/gstqueue.c: (gst_queue_handle_src_query):
13177         * gst/gstutils.c: (gst_element_query_position),
13178         (gst_element_query_duration), (gst_pad_query_position),
13179         (gst_pad_query_duration):
13180         * gst/gstutils.h:
13181         Updates for query API change.
13182         Added some docs here and there.
13183
13184 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13185
13186         * check/gst/gstbin.c: (GST_START_TEST):
13187         * check/gst/gstghostpad.c: (GST_START_TEST):
13188         * check/pipelines/cleanup.c: (GST_START_TEST):
13189           wait on thread to die so we can check refcount correctly
13190
13191 2005-10-18  Wim Taymans  <wim@fluendo.com>
13192
13193         * check/pipelines/stress.c: (GST_START_TEST):
13194         Make check a little more time consuming.
13195
13196 2005-10-18  Wim Taymans  <wim@fluendo.com>
13197
13198         * check/Makefile.am:
13199         * check/pipelines/stress.c: (GST_START_TEST),
13200         (simple_launch_lines_suite), (main):
13201         Small state change torture test.
13202
13203         * docs/design/part-states.txt:
13204         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13205         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
13206         (gst_base_sink_change_state):
13207         Never take state lock from streaming thread, clean up ugly
13208         hacks. Unfortunatly core does not yet support nice ways to
13209         async commit state.
13210         
13211         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
13212         (bin_bus_handler):
13213         Start state recalc if a STATE_DIRTY message is posted, but only
13214         on the toplevel bin.
13215
13216         * gst/gstelement.c: (gst_element_sync_state_with_parent),
13217         (gst_element_get_state_func), (gst_element_abort_state),
13218         (gst_element_commit_state), (gst_element_lost_state),
13219         (gst_element_set_state_func), (gst_element_change_state):
13220         * gst/gstelement.h:
13221         State variables are now protected with the LOCK, the state
13222         lock is only used to serialize _set_state().
13223
13224 2005-10-18  Wim Taymans  <wim@fluendo.com>
13225
13226         * check/gst/gstbin.c: (GST_START_TEST):
13227         * check/gst/gstmessage.c: (GST_START_TEST):
13228         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
13229         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
13230         (bin_bus_handler):
13231         * gst/gstelement.c: (gst_element_abort_state),
13232         (gst_element_commit_state), (gst_element_lost_state):
13233         * gst/gstmessage.c: (gst_message_new_state_changed),
13234         (gst_message_new_state_dirty), (gst_message_new_segment_start),
13235         (gst_message_new_segment_done), (gst_message_new_duration),
13236         (gst_message_parse_state_changed),
13237         (gst_message_parse_segment_start),
13238         (gst_message_parse_segment_done), (gst_message_parse_duration):
13239         * gst/gstmessage.h:
13240         * tools/gst-launch.c: (event_loop):
13241         Seriously, this is better than a previous commit as we only need
13242         to notify the fact that an element changed state in a streaming
13243         thread, marking the state of the parents dirty, hence the 
13244         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
13245         message.
13246
13247 2005-10-18  Wim Taymans  <wim@fluendo.com>
13248
13249         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
13250         (gst_bin_recalc_func):
13251         * gst/gstelement.c: (gst_element_set_clock),
13252         (gst_element_abort_state), (gst_element_lost_state):
13253         Cleanups, prepare for state change fixes.
13254
13255 2005-10-18  Wim Taymans  <wim@fluendo.com>
13256
13257         * gst/gstbin.h:
13258         * gst/gstelement.c: (gst_element_class_init),
13259         (gst_element_set_state), (gst_element_set_state_func):
13260         * gst/gstelement.h:
13261         Pending ABI changes.
13262         GThreadPool in GstBinClass to monitor async state changes.
13263         state_cookie in GstElement to detect concurrent gst/set state.
13264         set_state is now virtual too in case a very complicated element
13265         has to be constructed.
13266
13267 2005-10-18  Wim Taymans  <wim@fluendo.com>
13268
13269         * check/gst/gstbin.c: (GST_START_TEST):
13270         * check/gst/gstmessage.c: (GST_START_TEST):
13271         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
13272         * gst/gstbin.c: (bin_bus_handler):
13273         * gst/gstelement.c: (gst_element_commit_state),
13274         (gst_element_lost_state):
13275         * gst/gstmessage.c: (gst_message_new_state_changed),
13276         (gst_message_new_segment_start), (gst_message_new_segment_done),
13277         (gst_message_new_duration), (gst_message_parse_state_changed),
13278         (gst_message_parse_segment_start),
13279         (gst_message_parse_segment_done), (gst_message_parse_duration):
13280         * gst/gstmessage.h:
13281         * tools/gst-launch.c: (event_loop):
13282         Make messages future proof.
13283         state-change gets a flag if it was a message comming from the
13284         streaming thread.
13285         segment-start/stop can also be specified in other formats.
13286         A message to notify an app that a pipeline changed playback 
13287         duration.
13288         Also fix a GstMessage leak in -launch
13289
13290 2005-10-18  Andy Wingo  <wingo@pobox.com>
13291
13292         * gst/gstelement.c (gst_element_dispose): More helpful message.
13293
13294 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13295
13296         reviewed by: <delete if not using a buddy>
13297
13298         * common/gtk-doc.mak:
13299
13300 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13301
13302         * gst/gstregistry.c: (gst_registry_scan_path_level):
13303           unref a plug-in we get that was already initialized
13304
13305 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
13306
13307         * docs/gst/gstreamer-sections.txt:
13308         * docs/libs/gstreamer-libs-sections.txt:
13309         * gst/gstelement.h:
13310           add new api entries
13311           hide internal macro
13312
13313 2005-10-17  Andy Wingo  <wingo@pobox.com>
13314
13315         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
13316         cleanup.
13317
13318         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
13319
13320         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
13321
13322         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
13323         (gst_element_get_state_func): Better debug message.
13324         (gst_element_commit_state): s/INFO/DEBUG/.
13325         (gst_element_lost_state, gst_element_change_state): 
13326
13327         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
13328         (gst_message_new_custom): s/INFO/LOG/.
13329
13330 2005-10-17  Michael Smith <msmith@fluendo.com>
13331
13332         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
13333           Check if end time is valid using end time, not start time.
13334
13335 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
13336
13337         * check/gst-libs/controller.c: (GST_START_TEST),
13338         (gst_controller_suite):
13339         * libs/gst/controller/gstcontroller.c:
13340         (gst_controlled_property_set_interpolation_mode):
13341         * libs/gst/controller/gstcontroller.h:
13342         * libs/gst/controller/gstinterpolation.c:
13343         * testsuite/controller/.cvsignore:
13344         * testsuite/controller/Makefile.am:
13345         * testsuite/controller/interpolator.c:
13346           merge controller testsuites
13347           fix broken tests
13348           remove mem-chunk from docs
13349
13350 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
13351
13352         * gst/gstmemchunk.c:
13353         * gst/gstmemchunk.h:
13354         * gst/gsttrashstack.c:
13355         * gst/gsttrashstack.h:
13356           out.  get out.  you're fired.  to the Attic !
13357
13358 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
13359
13360         * gst/gstcaps.c: (gst_caps_intersect):
13361           fix signedness issues in a (hopefully) correct way
13362         * gst/gstelement.c: (gst_element_pads_activate):
13363           some debugging
13364         * gst/gstobject.c: (gst_object_set_parent):
13365           some debugging
13366
13367 2005-10-17  Julien MOUTTE  <julien@moutte.net>
13368
13369         * gst/gstvalue.h: Fix prototypes.
13370
13371 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13372
13373         * docs/gst/gstreamer-sections.txt:
13374         * gst/gst.c: (gst_version_string):
13375         * gst/gst.h:
13376         * gst/gstversion.h.in:
13377         * win32/common/libgstreamer.def:
13378           add gst_version_string ()
13379
13380 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13381
13382         * configure.ac:
13383           clean up further
13384         * gst/gst.c: (init_post):
13385         * win32/common/config.h.in:
13386           it's PLUGINDIR now
13387         * gst/gstcaps.c: (gst_caps_intersect):
13388           use gint64, the range could be bigger than a guint
13389
13390 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13391
13392         * gst/gstclock.h:
13393           document potential problem in 2038
13394
13395 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13396
13397         * gst/gstcaps.c: (gst_caps_intersect):
13398           Fix guint j diving under 0
13399
13400 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13401
13402         * configure.ac:
13403         * win32/common/config.h:
13404         * win32/common/config.h.in:
13405           check for process.h, declares getpid() on Windows
13406         * gst/gstinfo.c:
13407           include process.h if we have it
13408         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
13409         * gst/gstmemchunk.h:
13410           fix signedness issues
13411         * win32/common/libgstreamer.def:
13412           fix get_type's
13413
13414 2005-10-16  Julien MOUTTE  <julien@moutte.net>
13415
13416         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
13417         fix. Because of unsigned ints, caps intersection was going nuts and
13418         trying to access structures with G_MAXUINT index. That fixes
13419         videotestsrc ! ffmpegcolorspace ! fakesink
13420         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
13421         consistency.
13422
13423 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13424
13425         * configure.ac:
13426           use the gettext macro
13427         * gst/elements/gstelements.c:
13428         * gst/gst.c:
13429         * gst/indexers/gstindexers.c:
13430           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
13431         * win32/common/config.h:
13432           updated config.h
13433         * win32/common/config.h.in:
13434           add the template to generate config.h
13435         * win32/common/gstenumtypes.c:
13436         * win32/common/gstversion.h:
13437           updated copies
13438
13439 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13440
13441         * gst/gst.c: (gst_version):
13442         * gst/gstversion.h.in:
13443           add the nano
13444
13445 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
13446
13447         * gst/gstevent.h:
13448           Oops, add missing closing bracket.
13449
13450 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13451
13452         * configure.ac:
13453           use common m4's for argument checking
13454
13455 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
13456
13457         * docs/gst/gstreamer-sections.txt:
13458         * gst/gstevent.h:
13459           Add GST_EVENT_TYPE_NAME() macro.
13460
13461 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13462
13463         * gst/gstinfo.c:
13464         * gst/gstpluginfeature.c:
13465         * gst/gsttask.c:
13466           privatize more symbols
13467
13468 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13469
13470         * configure.ac:
13471           add srcdir, builddir includes to GST_ALL_CFLAGS, since
13472           everything that uses GStreamer API should have the includes
13473
13474 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13475
13476         * docs/gst/gstreamer-sections.txt:
13477         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
13478         * gst/gstvalue.h:
13479           give each value a _get_type, removes the DATA exports
13480
13481 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13482
13483         * gst/gst.c:
13484         * gst/gst.h:
13485           remove _gst_registry_auto_load, not used anymore
13486         * gst/gstbin.c: (gst_bin_get_type):
13487         * gst/gstbin.h:
13488         * gst/gstelement.c: (gst_element_get_type):
13489         * gst/gstelement.h:
13490         * gst/gstobject.c: (gst_object_get_type):
13491         * gst/gstobject.h:
13492         * gst/gstpad.c: (gst_pad_get_type):
13493         * gst/gstpad.h:
13494           make _get_type functions similar, fixes data export from library
13495
13496 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13497
13498         * configure.ac:
13499           correctly make conditionals
13500         * gst/elements/Makefile.am:
13501         * gst/elements/gstelements.c:
13502           fix typo causing fdsrc not to build
13503
13504 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13505
13506         * testsuite/Makefile.am:
13507         * testsuite/bytestream/.cvsignore:
13508         * testsuite/bytestream/Makefile.am:
13509         * testsuite/bytestream/filepadsink.c:
13510         * testsuite/bytestream/gstbstest.c:
13511         * testsuite/bytestream/test1.c:
13512         * testsuite/bytestream/testfile1:
13513         * testsuite/caps/normalisation.c:
13514         * testsuite/caps/random.c: (main):
13515         * testsuite/cleanup/.cvsignore:
13516         * testsuite/cleanup/Makefile.am:
13517         * testsuite/cleanup/cleanup1.c:
13518         * testsuite/cleanup/cleanup2.c:
13519         * testsuite/cleanup/cleanup3.c:
13520         * testsuite/cleanup/cleanup4.c:
13521         * testsuite/cleanup/cleanup5.c:
13522         * testsuite/controller/interpolator.c:
13523         * testsuite/debug/printf_extension.c: (main):
13524         * testsuite/elements/tee.c:
13525         * testsuite/negotiation/.cvsignore:
13526         * testsuite/negotiation/Makefile.am:
13527         * testsuite/negotiation/pad_link.c:
13528         * testsuite/pad/Makefile.am:
13529         * testsuite/pad/chainnopull.c:
13530         * testsuite/pad/getnopush.c:
13531         * testsuite/pad/link.c:
13532         * testsuite/refcounting/sched.c: (create_pipeline):
13533         * testsuite/registry/Makefile.am:
13534         * testsuite/registry/gst-print-formats.c:
13535         * testsuite/schedulers/.cvsignore:
13536         * testsuite/schedulers/142183-2.c:
13537         * testsuite/schedulers/142183.c:
13538         * testsuite/schedulers/143777-2.c:
13539         * testsuite/schedulers/143777.c:
13540         * testsuite/schedulers/147713.c:
13541         * testsuite/schedulers/147819.c:
13542         * testsuite/schedulers/147894-2.c:
13543         * testsuite/schedulers/147894.c:
13544         * testsuite/schedulers/Makefile.am:
13545         * testsuite/schedulers/group_link.c:
13546         * testsuite/schedulers/queue_link.c:
13547         * testsuite/schedulers/relink.c:
13548         * testsuite/schedulers/unlink.c:
13549         * testsuite/schedulers/unref.c:
13550         * testsuite/schedulers/useless_iteration.c:
13551         * testsuite/states/bin.c:
13552           clean out/remove some stuff from the testsuite directories
13553
13554 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13555
13556         * configure.ac:
13557           check for some headers
13558         * gst/elements/Makefile.am:
13559         * gst/elements/gstelements.c:
13560           don't compile fdsrc without sys/socket.h
13561         * gst/indexers/Makefile.am:
13562         * gst/indexers/gstindexers.c: (plugin_init):
13563           don't compile fileindex without mmap
13564
13565 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13566
13567         * configure.ac:
13568           reorganize
13569           clean up
13570           document more
13571           remove cruft
13572         * check/Makefile.am:
13573         * docs/gst/Makefile.am:
13574         * examples/helloworld/Makefile.am:
13575         * gst/Makefile.am:
13576         * gst/base/Makefile.am:
13577         * gst/check/Makefile.am:
13578         * gst/elements/Makefile.am:
13579         * gst/indexers/Makefile.am:
13580         * gst/parse/Makefile.am:
13581         * libs/gst/controller/Makefile.am:
13582         * libs/gst/dataprotocol/Makefile.am:
13583         * examples/helloworld/helloworld.c: (event_loop):
13584           compile fixes, though it's not being compiled currently
13585
13586 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
13587
13588         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
13589           Add some simple tests for the new taglist date API.
13590
13591 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
13592
13593         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
13594         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
13595           Beautify 'last-message' output: print 'none' for buffer timestamps
13596           and durations if none is set; improve alignment with next messages.
13597
13598 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
13599
13600         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
13601         * gst/gstpluginfeature.h:
13602         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
13603         * gst/gstregistry.h:
13604         * docs/gst/gstreamer-sections.txt:
13605           Add new API to check plugin feature version requirements.
13606
13607         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
13608           Some basic tests for the above.         
13609
13610 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13611
13612         * gst/gststructure.c: (gst_structure_to_string):
13613           guard against NULL printf - happens when for example
13614           a message structure with GstClock gets serialized
13615
13616 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
13617
13618         * gst/base/gstcollectpads.c: (gst_collectpads_event):
13619           Fix presumable copy'n'pasto.
13620
13621 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13622
13623         * gst/elements/gstfakesrc.h:
13624         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
13625         * gst/elements/gsttypefindelement.c:
13626           fix some signedness
13627         * gst/elements/gstfilesink.c: (gst_file_sink_render):
13628           I wonder if this could actually write +2GB files before
13629
13630 2005-10-13  Andy Wingo  <wingo@pobox.com>
13631
13632         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
13633         Fix Timmeke Waymans bug.
13634         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
13635         string of the proper length to gst_caps_from_string. There's a
13636         potential for, before this fix, that this could cause someone
13637         connecting over the network to cause a segfault if the payload is
13638         not NUL-terminated.
13639
13640 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
13641
13642         * docs/design/draft-push-pull.txt:
13643         * docs/design/part-overview.txt:
13644         * docs/random/TODO-pre-0.9:
13645         * docs/random/old/ChangeLog.gstreamer:
13646         * gst/base/gstpushsrc.c:
13647         * gst/gstclock.c:
13648           fixed typos
13649
13650 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13651
13652         * gst/glib-compat.c: (gst_flags_get_first_value):
13653         * gst/glib-compat.h:
13654         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
13655         (gst_value_compare_double), (gst_value_serialize_flags):
13656           GLib 2.6 g_flags_get_first_value has a bug that triggers an
13657           infinite loop
13658
13659 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13660
13661         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13662         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
13663           fix up debugging
13664         * tools/gst-launch.c: (event_loop):
13665           print out clock nicely
13666
13667 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
13668
13669         * docs/gst/gstreamer-sections.txt:
13670         * gst/gsttaglist.h:
13671         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
13672         (gst_tag_list_get_date_index):
13673           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
13674           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
13675
13676 2005-10-13  Julien MOUTTE  <julien@moutte.net>
13677
13678         * gst/base/gstcollectpads.c: (gst_collectpads_event),
13679         (gst_collectpads_chain):
13680         * gst/base/gstcollectpads.h: Handle newsegment and store informations
13681         in CollectData.
13682
13683 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
13684
13685         * docs/gst/gstreamer-sections.txt:
13686         * gst/gst.c:
13687         * gst/gsterror.h:
13688         * tools/gst-inspect.c: (main):
13689         * tools/gst-launch.c: (main):
13690         * tools/gst-run.c: (main):
13691         * tools/gst-xmlinspect.c: (main):
13692           fix GOption context leaks
13693           doc fixes
13694
13695 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13696
13697         * gst/gstbus.c:
13698           use HAVE_UNISTD_H
13699         * win32/common/config.h:
13700           update config
13701         * win32/vs6/grammar.dsp:
13702         * win32/vs6/libgstelements.dsp:
13703         * win32/vs6/libgstreamer.dsp:
13704           update vs6 files
13705
13706 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13707
13708         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13709         * gst/base/gstbasesrc.c: (gst_base_src_query):
13710           fix more guint64<->gdouble conversions
13711
13712 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13713
13714         * Makefile.am:
13715           add win32-update target
13716         * win32/common/gstconfig.h:
13717         * win32/common/gstenumtypes.c:
13718         * win32/common/gstenumtypes.h:
13719         * win32/common/gstversion.h:
13720           add files that visual studio can't generate
13721
13722 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13723
13724         * Makefile.am:
13725           add a win32-update target
13726         * configure.ac:
13727
13728 2005-10-12  Wim Taymans  <wim@fluendo.com>
13729
13730         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
13731         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
13732         * gst/gstelement.c: (gst_element_commit_state),
13733         (gst_element_set_state):
13734         Protect flags with proper lock.
13735         unref provided cached clock in dispose.
13736
13737 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
13738
13739         * gst/gst.c:
13740         * gst/gstminiobject.h:
13741         * gst/gstpad.h:
13742         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
13743           removed unused flags from miniobject
13744           doc fixes
13745
13746 2005-10-12  Wim Taymans  <wim@fluendo.com>
13747
13748         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
13749         (gst_file_sink_event), (gst_file_sink_render):
13750         Flush before seeking.
13751
13752 2005-10-12  Andy Wingo  <wingo@pobox.com>
13753
13754         * gst/gst.c (gst_init_check): Ignore unknown options, as has
13755         always been the case.
13756
13757 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
13758
13759         * check/gst/gstbin.c: (GST_START_TEST):
13760         * docs/gst/gstreamer-sections.txt:
13761         * gst/base/gstbasesink.c: (gst_base_sink_init):
13762         * gst/base/gstbasesrc.c: (gst_base_src_init),
13763         (gst_base_src_get_range), (gst_base_src_check_get_range),
13764         (gst_base_src_start), (gst_base_src_stop):
13765         * gst/base/gstbasesrc.h:
13766         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
13767         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
13768         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
13769         (bin_bus_handler):
13770         * gst/gstbin.h:
13771         * gst/gstbuffer.h:
13772         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
13773         * gst/gstbus.h:
13774         * gst/gstelement.c: (gst_element_is_locked_state),
13775         (gst_element_set_locked_state), (gst_element_commit_state),
13776         (gst_element_set_state):
13777         * gst/gstelement.h:
13778         * gst/gstindex.c: (gst_index_init):
13779         * gst/gstindex.h:
13780         * gst/gstminiobject.h:
13781         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
13782         (gst_object_set_parent):
13783         * gst/gstobject.h:
13784         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
13785         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
13786         * gst/gstpad.h:
13787         * gst/gstpadtemplate.h:
13788         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
13789         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
13790         * gst/gstpipeline.h:
13791         * gst/indexers/gstfileindex.c: (gst_file_index_load),
13792         (gst_file_index_commit):
13793         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
13794         * testsuite/pad/link.c: (gst_test_src_init),
13795         (gst_test_filter_init), (gst_test_sink_init):
13796         * testsuite/states/locked.c: (main):
13797           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
13798           moved bitshift from macro to enum definition
13799
13800 2005-10-12  Wim Taymans  <wim@fluendo.com>
13801
13802         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
13803         * gst/elements/gstfilesink.c: (gst_file_sink_event),
13804         (gst_file_sink_render):
13805         Some more debugging info.
13806
13807 2005-10-12  Wim Taymans  <wim@fluendo.com>
13808
13809         * docs/design/part-states.txt:
13810         * tools/gst-launch.c: (main):
13811         Some doc updates.
13812         Revert non-intentional change.
13813
13814 2005-10-12  Wim Taymans  <wim@fluendo.com>
13815
13816         * check/gst/gstbin.c: (GST_START_TEST):
13817         * check/gst/gstelement.c: (GST_START_TEST):
13818         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
13819         * check/gst/gstghostpad.c: (GST_START_TEST):
13820         * check/gst/gstpipeline.c: (GST_START_TEST):
13821         * check/pipelines/simple_launch_lines.c: (run_pipeline):
13822         * check/states/sinks.c: (GST_START_TEST):
13823         * gst/elements/gsttypefindelement.c: (stop_typefinding):
13824         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
13825         (gst_bin_remove_func), (gst_bin_get_state_func),
13826         (gst_bin_recalc_state), (gst_bin_change_state_func),
13827         (bin_bus_handler):
13828         * gst/gstelement.c: (gst_element_get_state_func),
13829         (gst_element_get_state), (gst_element_abort_state),
13830         (gst_element_commit_state), (gst_element_set_state),
13831         (gst_element_change_state), (gst_element_change_state_func):
13832         * gst/gstelement.h:
13833         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
13834         (gst_pipeline_provide_clock_func):
13835         * gst/gstutils.c: (gst_element_link_pads_filtered):
13836         * tools/gst-launch.c: (main):
13837         * tools/gst-typefind.c: (main):
13838         Use GstClockTime in _get_state() instead of GTimeVal.
13839         Remove old code in gstutils.c
13840
13841 2005-10-12  Andy Wingo  <wingo@pobox.com>
13842
13843         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
13844         removed.
13845
13846         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
13847         there is no task. Shouldn't affect any code, as nothing in our
13848         plugins checks this return value.
13849         (gst_pad_stop_task): Also take the stream lock if the pad has no
13850         task. Docs updated.
13851
13852 2005-10-12  Wim Taymans  <wim@fluendo.com>
13853
13854         * gst/gstpad.c: (pre_activate), (post_activate),
13855         (gst_pad_activate_pull), (gst_pad_activate_push):
13856         Cleanup activation code. Reset old state if
13857         activation failed.
13858
13859 2005-10-12  Wim Taymans  <wim@fluendo.com>
13860
13861         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13862         (gst_base_sink_change_state):
13863         No need to prerol after receiving EOS.
13864
13865         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
13866         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
13867         * gst/elements/gstidentity.c: (gst_identity_event):
13868         Print events more verbosely.
13869
13870 2005-10-12  Wim Taymans  <wim@fluendo.com>
13871
13872         * check/Makefile.am:
13873         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
13874         * check/states/sinks2.c:
13875         Moved sinks2 testcode in sinks check.
13876
13877         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
13878         (gst_bin_remove_func), (gst_bin_recalc_state),
13879         (gst_bin_change_state_func), (bin_bus_handler):
13880         Fix potential race condition when _get_state() iterated over an
13881         ASYNC element right before it posted a state completion.
13882
13883         * gst/gstclock.h:
13884         Do proper cast here.
13885
13886         * gst/gstevent.c: (gst_event_new_newsegment),
13887         (gst_event_parse_newsegment):
13888         A playback rate of 0.0 is not allowed.
13889
13890 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13891
13892         * win32/common/config.h:
13893         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
13894         (_trewinddir), (_ttelldir), (_tseekdir):
13895         * win32/common/dirent.h:
13896         * win32/common/gtchar.h:
13897         * win32/common/libgstbase.def:
13898         * win32/common/libgstreamer.def:
13899         * win32/vs6/grammar.dsp:
13900         * win32/vs6/gst_inspect.dsp:
13901         * win32/vs6/gst_launch.dsp:
13902         * win32/vs6/gstreamer.dsw:
13903         * win32/vs6/libgstbase.dsp:
13904         * win32/vs6/libgstelements.dsp:
13905         * win32/vs6/libgstreamer.dsp:
13906           Visual Studio 6 project files, and a new common directory.
13907           Phear.
13908
13909 2005-10-11  Wim Taymans  <wim@fluendo.com>
13910
13911         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13912         (gst_base_sink_do_sync), (gst_base_sink_query),
13913         (gst_base_sink_change_state):
13914         * gst/base/gstbasesink.h:
13915         Correctly parse newsegment info.
13916
13917 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13918
13919         * gst/gst.c: (init_post):
13920           split plugin paths correctly
13921
13922 2005-10-11  Wim Taymans  <wim@fluendo.com>
13923
13924         * check/gst/gstevent.c: (GST_START_TEST):
13925         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13926         (gst_base_sink_change_state):
13927         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
13928         * gst/base/gstbasetransform.c: (gst_base_transform_event):
13929         * gst/elements/gstfilesink.c: (gst_file_sink_event):
13930         * gst/gstevent.c: (gst_event_new_newsegment),
13931         (gst_event_parse_newsegment):
13932         * gst/gstevent.h:
13933         Added extra flag to newsegment for future API freeze.
13934         Updated check and base elements.
13935
13936 2005-10-11  Julien MOUTTE  <julien@moutte.net>
13937
13938         * gst/base/gstcollectpads.c: (gst_collectpads_init),
13939         (gst_collectpads_add_pad), (gst_collectpads_pop),
13940         (gst_collectpads_event), (gst_collectpads_chain):
13941         * gst/base/gstcollectpads.h: Handle EOS correctly.
13942
13943 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13944
13945         * tools/gst-launch.c: (main):
13946           more null protecting
13947
13948 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13949
13950         * gst/gst-i18n-lib.h:
13951           check for ENABLE_NLS, not GETTEXT_PACKAGE
13952         * gst/gstregistry.c: (gst_registry_add_plugin),
13953         (gst_registry_scan_path_level),
13954         (_gst_registry_remove_cache_plugins):
13955           protect possibly NULL strings
13956         * gst/parse/types.h:
13957           config.h already included before
13958         * tools/gst-inspect.c: (main):
13959           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
13960           check for ENABLE_NLS, not GETTEXT_PACKAGE
13961         * tools/gst-launch.c: (main):
13962           check for ENABLE_NLS, not GETTEXT_PACKAGE
13963
13964 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13965
13966         * configure.ac:
13967           if we don't have glib, fail before testing 2.8
13968         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
13969           fix a leak, should fix plugins-base testsuite
13970
13971 2005-10-11  Andy Wingo  <wingo@pobox.com>
13972
13973         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
13974         take the mode we're going to as an arg. Go head and set the mode
13975         and flushing flags now, so that if the activate function starts a
13976         thread all the flags will be in the right state.
13977         (post_activate): Renamed also. Just handle making sure streaming
13978         finishes for the deactivation case, and setting the deactivated
13979         mode.
13980         (gst_pad_set_active): Complain loudly if deactivation fails.
13981         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
13982         (gst_pad_activate_push): Adapt to pre/post_activate changes,
13983         remove the terrible hack.
13984
13985 2005-10-11  Wim Taymans  <wim@fluendo.com>
13986
13987         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
13988         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
13989         (gst_bin_recalc_state), (gst_bin_change_state_func),
13990         (gst_bin_dispose), (bin_bus_handler):
13991         * gst/gstbin.h:
13992         Prepare to make current EOS message queue more generic.
13993         Fix some typos.
13994
13995         * gst/gstevent.c: (gst_event_new_newsegment),
13996         (gst_event_parse_newsegment):
13997         * gst/gstevent.h:
13998         Rename base to stream_time.
13999
14000         * gst/gstmessage.h:
14001         Fix typo in docs.
14002
14003 2005-10-11  Wim Taymans  <wim@fluendo.com>
14004
14005         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
14006         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
14007         (gst_bin_change_state_func), (bin_bus_handler):
14008         * gst/gstbin.h:
14009         Work on proper clock selection.
14010
14011 2005-10-11  Edward Hervey  <edward@fluendo.com>
14012
14013         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
14014         * libs/gst/controller/gstcontroller.h:
14015         Added GList* version of _remove_properties() in order to be able to wrap
14016         it in bindings.
14017
14018 2005-10-11  Wim Taymans  <wim@fluendo.com>
14019
14020         * docs/design/part-states.txt:
14021         Some more docs.
14022
14023         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
14024         (gst_bin_change_state_func), (bin_bus_handler):
14025         Doc updates. Don't distribute the same clock over and over again.
14026
14027         * gst/gstclock.c:
14028         * gst/gstclock.h:
14029         Doc updates.
14030
14031         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
14032         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
14033         (gst_pad_send_event):
14034         * gst/gstpad.h:
14035         Make probe emission threadsafe again.
14036         Register quarks and move _get_name() from utils.
14037         Doc updates.
14038
14039         * gst/gstpipeline.c: (gst_pipeline_class_init),
14040         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
14041         Only redistribute the clock of it changed.
14042
14043         * gst/gstsystemclock.h:
14044         Doc updates. 
14045
14046         * gst/gstutils.c:
14047         * gst/gstutils.h:
14048         Moved the _flow_get_name() to GstPad.
14049
14050 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14051
14052         * check/gst-libs/gdp.c: (GST_START_TEST):
14053         * check/gst/gstcaps.c: (GST_START_TEST):
14054         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
14055         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
14056         (gst_dp_packet_from_caps):
14057           fix more valgrind warnings before turning up the heat
14058
14059 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14060
14061         * gst/parse/grammar.y:
14062           some cleanup before the hacking
14063
14064 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14065
14066         * gst/base/gstbasesrc.c: (gst_base_src_query):
14067           use conversions
14068         * gst/gstutils.c: (gst_guint64_to_gdouble),
14069         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
14070         * gst/gstutils.h:
14071           externalize, basesrc uses it
14072           obviously the implementation needs testing
14073
14074 2005-10-10  Wim Taymans  <wim@fluendo.com>
14075
14076         * tests/sched/Makefile.am:
14077         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
14078         (make_pipeline3), (make_pipeline4), (print_elem), (main):
14079
14080 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14081
14082         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
14083           apparently converting from guint64 to double is not implemented
14084           on MSVC
14085
14086 2005-10-10  Wim Taymans  <wim@fluendo.com>
14087
14088         * check/Makefile.am:
14089         * check/generic/states.c: (GST_START_TEST):
14090         * check/gst/gstbin.c: (GST_START_TEST):
14091         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
14092         * check/states/sinks.c: (GST_START_TEST):
14093         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
14094         (main):
14095         Check fixes, use API as stated in design docs, remove hacks.
14096
14097         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14098         (gst_base_sink_change_state):
14099         Catch stopping our task while we're shutting down.
14100
14101         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
14102         (gst_bin_remove_func), (gst_bin_get_state_func),
14103         (gst_bin_recalc_state), (gst_bin_change_state_func),
14104         (bin_bus_handler):
14105         * gst/gstbin.h:
14106         * gst/gstelement.c: (gst_element_init),
14107         (gst_element_get_state_func), (gst_element_abort_state),
14108         (gst_element_commit_state), (gst_element_lost_state),
14109         (gst_element_set_state), (gst_element_change_state),
14110         (gst_element_change_state_func):
14111         * gst/gstelement.h:
14112         New state change algorithm (see #318116)
14113
14114         * gst/gstpipeline.c: (gst_pipeline_class_init),
14115         (gst_pipeline_init), (gst_pipeline_set_property),
14116         (gst_pipeline_get_property), (do_pipeline_seek),
14117         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
14118         * gst/gstpipeline.h:
14119         Remove crude state change hacks.
14120
14121         * gst/gstutils.h:
14122         Remove crude hacks.
14123
14124         * tools/gst-launch.c: (main):
14125         Fixes for state change. Needs some more work to fully use the
14126         new stuff.
14127
14128 2005-10-10  Andy Wingo  <wingo@pobox.com>
14129
14130         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
14131
14132         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
14133         this flag, but it's not even in GLib 2.6. Odd. Hack around the
14134         issue.
14135
14136 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
14137
14138         * gst/gstiterator.c: (gst_iterator_new):
14139           Fix my previous commit: GTypes passed to gst_iterator_new()
14140           can be fundamental types.
14141
14142 2005-10-10  Wim Taymans  <wim@fluendo.com>
14143
14144         * gst/gstelement.c: (gst_element_iterate_pad_list),
14145         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
14146         (gst_element_iterate_sink_pads):
14147         Use src/sink pads lists for the respective iterators instead
14148         of filtering.
14149
14150 2005-10-10  Andy Wingo  <wingo@pobox.com>
14151
14152         Merged in popt removal + GOption addition patch from Ronald, bug
14153         #169772.
14154
14155         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
14156         GstElement macros around, remove popt-related symbols, add goption
14157         stuff.
14158
14159         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
14160         
14161         * docs/gst/Makefile.am:
14162         * docs/libs/Makefile.am: No POPT_CFLAGS.
14163         
14164         * examples/manual/Makefile.am:
14165         * docs/manual/basics-init.xml: Doc updates with an example.
14166         
14167         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
14168         (gst_init), (parse_one_option), (parse_goption_arg):
14169         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
14170         bit of hand merging and debugging to get the GOption stuff working
14171         tho.
14172         
14173         * tests/Makefile.am:
14174         * tools/Makefile.am:
14175         * tools/gst-inspect.c: (main):
14176         * tools/gst-launch.c: (main):
14177         * tools/gst-run.c: (main):
14178         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
14179
14180 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
14181
14182         * gst/gstiterator.c: (gst_iterator_new):
14183           Add assertions to make sure passed GType is likely to really
14184           be a GType (as the compiler won't catch it if the size and
14185           GType arguments get mixed up, see #318447).
14186
14187 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
14188
14189         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
14190
14191         * gst/gstbin.c: (gst_bin_iterate_sorted):
14192           Pass GType and size arguments to gst_iterator_new() in the right
14193           order (maybe we should make _new() take the GType as first argument
14194           just like _new_list()?) (#318447).
14195           
14196
14197 2005-10-10  Wim Taymans  <wim@fluendo.com>
14198
14199         * gst/gstelement.c: (gst_element_finalize):
14200         And free the GStaticRecMutex too
14201
14202 2005-10-10  Andy Wingo  <wingo@pobox.com>
14203
14204         * gst/gstelement.c (gst_element_init, gst_element_finalize):
14205         Allocate and free the mutex properly.
14206
14207         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
14208         New macros.
14209         (GstElement): The state_lock is now recursive. Rebuild your
14210         plugins, suckers. Old macros adapted.
14211
14212         * docs/gst/gstreamer-sections.txt: Doc updates.
14213
14214         * gst/gstutils.h:
14215         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
14216         (g_static_rec_cond_wait): Ported from state changes patch, while
14217         we wait on bug #317802 to be solved in a well-distributed GLib.
14218
14219         * gst/gstelement.c (gst_element_change_state_func): Renamed from
14220         gst_element_change_state, variable name changes.
14221         (gst_element_change_state): Split out of gst_element_set_state in
14222         preparation for the state change merge. Doesn't pay attention to
14223         the 'transition' argument.
14224         (gst_element_set_state): Updates, hopefully purely cosmetic.
14225         (gst_element_sync_state_with_parent): MT-safety. Ported from the
14226         state change patch.
14227         (gst_element_get_state_func): Renamed from get_state, cosmetic
14228         changes.
14229
14230 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14231
14232         * gst/elements/gstelements.c:
14233         * win32/GStreamer.vcproj:
14234         * win32/config.h:
14235         * win32/dirent.c: (_tseekdir):
14236         * win32/gst-inspect.vcproj:
14237         * win32/gst-launch.vcproj:
14238         * win32/gstconfig.h:
14239         * win32/gstelements.vcproj:
14240         * win32/gstenumtypes.c: (gst_object_flags_get_type):
14241         * win32/gstreamer.def:
14242         * win32/msvc71.sln:
14243           updates for the win32 build (patch from Sebastien Moutte)
14244
14245 2005-10-10  Andy Wingo  <wingo@pobox.com>
14246
14247         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
14248         gst_bin_get_state, cleaned up (but no logic changes).
14249         (bin_element_is_sink): Comment updates.
14250         (sink_iterator_filter): Remove needless cast.
14251         (gst_bin_iterate_sinks): Doc update.
14252         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
14253         cleaned up (but no logic changes).
14254
14255         * check/states/sinks.c (test_src_sink): Cleanups from the state
14256         change patch.
14257         (test_livesrc_sink): Sync on the state.
14258
14259         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
14260         the state change patch.
14261
14262         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
14263         change patch.
14264
14265         * check/gst/gstbin.c: Merge in some style fixes and additional
14266         checks from Wim's state change patch.
14267
14268 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
14269
14270         * gst/base/gsttypefindhelper.c: (helper_find_peek),
14271         (gst_type_find_helper):
14272           Check whether we have the requested data already in our list of
14273           cached buffers before pulling a new buffer; also make the buffer
14274           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
14275
14276 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14277
14278         * gst/gstcaps.c:
14279         * gst/gstevent.c:
14280           doc updates
14281         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
14282           don't use long long, it's not portable.  Replacing with
14283           gint64 seems to work; let's hope no skeletons fall out of the closet.
14284
14285 2005-10-10  Andy Wingo  <wingo@pobox.com>
14286
14287         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
14288
14289 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
14290
14291         * docs/gst/gstreamer-sections.txt:
14292         * gst/gstevent.c:
14293         * gst/gstevent.h:
14294         * gst/gstinfo.c:
14295         * gst/gstinfo.h:
14296         * gst/gstmessage.c: (gst_message_parse_state_changed):
14297         * gst/gstpad.c:
14298         * gst/gstpad.h:
14299           more docs, fix compilation
14300
14301 2005-10-09  Philippe Khalaf <burger@speedy.org>
14302         * gst/gstmessage.c:
14303           Fixed a few forgotten variables on previous commit
14304
14305 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
14306
14307         * gst/base/gsttypefindhelper.c: (helper_find_peek):
14308           Fix evil typefind crasher: getrange() might return a short
14309           buffer at the end of a file, but gst_type_find_peek() must
14310           either return the full data as requested or NULL, but
14311           never a short buffer.
14312
14313 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14314
14315         * gst/gstmessage.c: (gst_message_new_state_changed),
14316         (gst_message_parse_state_changed):
14317         * gst/gstmessage.h:
14318           don't use "new", it's a C++ keyword
14319
14320 2005-10-08  Wim Taymans  <wim@fluendo.com>
14321
14322         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
14323         * gst/gstelement.c: (gst_element_post_message):
14324         * gst/gstpipeline.c: (gst_pipeline_change_state):
14325         Small docs and debug updates.
14326
14327 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
14328
14329         * docs/gst/gstreamer-sections.txt:
14330         * gst/gstelementfactory.c:
14331         * gst/gstevent.c:
14332         * gst/gsttaglist.c:
14333           more docs
14334
14335 2005-10-08  Wim Taymans  <wim@fluendo.com>
14336
14337         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
14338         (gst_bin_dispose), (bin_bus_handler):
14339         Fix typos, add comments.
14340         Clear EOS list when going to PAUSED from any direction and do it
14341         in a threadsafe way.
14342         Get base time in a threadsafe way too.
14343         Fix confusing debug in the change_state function.
14344         Various other small cleanups.
14345         
14346         * gst/gstelement.c: (gst_element_post_message):
14347         Fix very verbose bus posting code.
14348
14349         * gst/gstpipeline.c: (gst_pipeline_class_init),
14350         (gst_pipeline_set_property), (gst_pipeline_get_property),
14351         (gst_pipeline_change_state):
14352         Small ARG_ -> PROP_ cleanup
14353
14354 2005-10-08  Wim Taymans  <wim@fluendo.com>
14355
14356         * gst/gstbin.c: (is_eos), (bin_bus_handler):
14357         Do a less CPU demanding EOS check because we can.
14358
14359 2005-10-08  Wim Taymans  <wim@fluendo.com>
14360
14361         * libs/gst/dataprotocol/dataprotocol.c:
14362         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14363         (gst_dp_packet_from_event):
14364         * libs/gst/dataprotocol/dataprotocol.h:
14365         * libs/gst/dataprotocol/dp-private.h:
14366         It's about time we bump the version number.
14367         Since event types don't fit in the guint8 anymore describing
14368         the payload type, make payload type 16 bits wide.
14369
14370 2005-10-08  Wim Taymans  <wim@fluendo.com>
14371
14372         * docs/design/part-TODO.txt:
14373         * docs/design/part-clocks.txt:
14374         * docs/design/part-events.txt:
14375         * docs/design/part-gstbin.txt:
14376         * docs/design/part-gstelement.txt:
14377         * docs/design/part-gstpipeline.txt:
14378         * docs/design/part-live-source.txt:
14379         * docs/design/part-messages.txt:
14380         * docs/design/part-overview.txt:
14381         * docs/design/part-states.txt:
14382         Many doc updates.
14383
14384 2005-10-08  Wim Taymans  <wim@fluendo.com>
14385
14386         * gst/gstevent.c:
14387         * gst/gstevent.h:
14388         Fix event quark registration.
14389         Add some space between events so we can insert them in the
14390         right groups.
14391
14392 2005-10-08  Wim Taymans  <wim@fluendo.com>
14393
14394         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14395         (gst_base_sink_handle_buffer):
14396         Better log message.
14397
14398         * gst/gstbus.h:
14399         * gst/gstelement.h:
14400         More docs.
14401
14402         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
14403         (gst_queue_set_property), (gst_queue_get_property):
14404         * gst/gstqueue.h:
14405         Remove old unused properties.
14406
14407 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
14408         * docs/gst/gstreamer-sections.txt:
14409         * gst/gstmessage.c:
14410         * gst/gstmessage.h:
14411         * gst/gstminiobject.c:
14412         * gst/gstminiobject.h:
14413         * gst/gstobject.h:
14414         * gst/gstpad.h:
14415         * gst/gstutils.h:
14416           lots of new docs and doc fixes
14417
14418 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14419
14420         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
14421         * gst/gstplugin.h:
14422         * gst/gstregistry.c: (gst_registry_lookup_locked),
14423         (gst_registry_scan_path_level):
14424         * gst/gstregistryxml.c: (load_plugin):
14425           Only ever load one plugin for a given plugin basename.
14426           This ensures correct overriding of GST_PLUGIN_PATH over
14427           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
14428           system installed plugins.
14429
14430 2005-10-08  Wim Taymans  <wim@fluendo.com>
14431
14432         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14433         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
14434         Prepare for doing QOS.
14435
14436 2005-10-08  Wim Taymans  <wim@fluendo.com>
14437
14438         * check/gst/gstbin.c: (GST_START_TEST):
14439         * check/pipelines/cleanup.c: (GST_START_TEST):
14440         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
14441         Allow new clock message too.
14442
14443 2005-10-08  Wim Taymans  <wim@fluendo.com>
14444
14445         * gst/gstmessage.c: (gst_message_new_error),
14446         (gst_message_new_warning), (gst_message_new_tag),
14447         (gst_message_new_state_changed), (gst_message_new_clock_provide),
14448         (gst_message_new_clock_lost), (gst_message_new_new_clock),
14449         (gst_message_new_segment_start), (gst_message_new_segment_done),
14450         (gst_message_parse_state_changed),
14451         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
14452         (gst_message_parse_new_clock):
14453         * gst/gstmessage.h:
14454         Also carry the clock in question.
14455
14456 2005-10-08  Wim Taymans  <wim@fluendo.com>
14457
14458         * gst/gstmessage.c: (gst_message_new_custom),
14459         (gst_message_new_eos), (gst_message_new_error),
14460         (gst_message_new_warning), (gst_message_new_tag),
14461         (gst_message_new_state_changed), (gst_message_new_clock_provide),
14462         (gst_message_new_new_clock), (gst_message_new_segment_start),
14463         (gst_message_new_segment_done), (gst_message_parse_state_changed),
14464         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
14465         * gst/gstmessage.h:
14466         Clean up.
14467         Added clock related messages.
14468
14469         * gst/gstpipeline.c: (gst_pipeline_change_state):
14470         Post message when the clock changed.
14471
14472         * tools/gst-launch.c: (event_loop):
14473         Print new clock.
14474
14475 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
14476
14477         * tools/gst-inspect.c: (print_element_properties_info):
14478           Can't pass NULL strings to g_print() on windows.
14479
14480 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14481
14482         * docs/Makefile.am:
14483         * docs/gst/Makefile.am:
14484         * docs/gst/gstreamer-docs.sgml:
14485         * docs/gst/running.xml:
14486         * docs/version.entities.in:
14487           add a chapter on running GStreamer.
14488           document GST_DEBUG and GST_PLUGIN* env vars
14489
14490 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14491
14492         * Makefile.am:
14493           remove include dir
14494         * configure.ac:
14495           remove PLUGINS_BUILDDIR stuff
14496         * gst/gst.c: (init_post):
14497           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
14498         * idiottest.mak:
14499           remove, it was condescending and not needed
14500
14501 2005-10-08  Wim Taymans  <wim@fluendo.com>
14502
14503         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
14504         (gst_base_sink_handle_object), (gst_base_sink_event),
14505         (gst_base_sink_wait), (gst_base_sink_handle_event),
14506         (gst_base_sink_change_state):
14507         * gst/base/gstbasesink.h:
14508         Repost EOS message while going to PLAYING if still EOS.
14509         Make sure that when receiving a FLUSH_START we don't attempt
14510         to sync on the clock anymore.
14511
14512 2005-10-08  Wim Taymans  <wim@fluendo.com>
14513
14514         * tools/gst-launch.c: (event_loop):
14515         Better message printout.
14516
14517 2005-10-08  Wim Taymans  <wim@fluendo.com>
14518
14519         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
14520         (gst_bin_child_proxy_get_children_count):
14521         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
14522         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
14523         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
14524         (gst_child_proxy_set_valist):
14525         * gst/parse/grammar.y:
14526         Make ChildProxy threadsafe and fix mem leaks.
14527
14528 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14529
14530         * gst/gst.c: (init_post):
14531           debug the GST_PLUGIN_ env vars
14532
14533 2005-10-08  Wim Taymans  <wim@fluendo.com>
14534
14535         * check/gst/gstbin.c: (GST_START_TEST):
14536         * check/gst/gstmessage.c: (GST_START_TEST):
14537         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
14538         * gst/gstelement.c: (gst_element_commit_state),
14539         (gst_element_lost_state):
14540         * gst/gstmessage.c: (gst_message_new_state_changed),
14541         (gst_message_parse_state_changed):
14542         * gst/gstmessage.h:
14543         * tools/gst-launch.c: (event_loop):
14544         Added extra field to STATE_CHANGE message with the pending
14545         state, which will be different from the new state soon.
14546
14547 2005-10-08  Wim Taymans  <wim@fluendo.com>
14548
14549         * gst/gstbus.c: (gst_bus_pop):
14550         * gst/gstclock.c:
14551         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
14552         Small cleanups and doc updates.
14553
14554 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14555
14556         * gst/gst.c: (init_pre):
14557         * gst/gstbin.c: (gst_bin_add_func):
14558           log distributing clocks and base time
14559         * gst/gstregistry.c: (gst_registry_add_plugin),
14560         (gst_registry_scan_path_level), (gst_registry_scan_path):
14561           clean up the debugging output a little
14562         * gst/gstutils.c: (gst_element_state_get_name):
14563           warn about a memleak (I've actually seen this be used, though
14564           it was probably a bug)
14565
14566 2005-10-07  Wim Taymans  <wim@fluendo.com>
14567
14568         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14569         (gst_base_src_init), (gst_base_src_default_newsegment),
14570         (gst_base_src_newsegment), (gst_base_src_do_seek),
14571         (gst_base_src_loop), (gst_base_src_start):
14572         * gst/base/gstbasesrc.h:
14573         Make the newsegment event customizable by subclasses.
14574
14575 2005-10-07  Wim Taymans  <wim@fluendo.com>
14576
14577         * gst/gstevent.c: (gst_event_new_buffersize),
14578         (gst_event_parse_buffersize):
14579         * gst/gstevent.h:
14580         New event for future idea.
14581
14582 2005-10-07  Andy Wingo  <wingo@pobox.com>
14583
14584         * gst/gstelement.c (gst_element_post_message): Doc update.
14585
14586         * docs/gst/gstreamer-sections.txt: Update.
14587
14588         * gst/gstmessage.c (gst_message_new_application): Made into a
14589         function like honest API calls.
14590         (gst_message_new_element): New message type.
14591
14592         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
14593
14594         * check/elements/fakesrc.c (test_no_preroll): New check, checks
14595         that setting a live fakesrc to PAUSED returns NO_PREROLL both
14596         times.
14597
14598         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
14599         NO_PREROLL from gst_element_change_state to fall through.
14600
14601 2005-10-07  Wim Taymans  <wim@fluendo.com>
14602
14603         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
14604         (gst_ghost_pad_do_activate_push):
14605         Activating a ghostpad with no internal pad in push mode
14606         is ok.
14607
14608 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14609
14610         * gst/gstobject.h:
14611           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
14612           Fixes compilation on Windows.
14613
14614 2005-10-07  Michael Smith <msmith@fluendo.com>
14615
14616         * tools/gst-inspect.c:
14617           Print out feature and plugin count at the end when printing out
14618           all features.
14619
14620 2005-10-04  Michael Smith <msmith@fluendo.com>
14621
14622         * gst/gsterror.c: (_gst_stream_errors_init):
14623           Add another error string used in a few existing plugins.
14624
14625         * gst/gstplugin.c:
14626         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
14627         * tools/gst-inspect.c: (print_element_info):
14628           When a feature disappears from a plugin (and the feature exists in
14629           the cached registry file), things went horribly wrong. This isn't a
14630           complete fix, we should actually be removing the 'missing' features
14631           from the features list when we load the actual plugin. That's not
14632           yet implemented. 
14633
14634 2005-10-04  Johan Dahlin  <johan@gnome.org>
14635
14636         * check/gst/gstiterator.c: (GST_START_TEST):
14637         * gst/gstbin.c: (gst_bin_iterate_elements),
14638         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
14639         * gst/gstelement.c: (gst_element_iterate_pads):
14640         * gst/gstformat.c: (gst_format_iterate_definitions):
14641         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
14642         (gst_iterator_new_list), (gst_iterator_filter):
14643         * gst/gstiterator.h:
14644         * gst/gstquery.c: (gst_query_type_iterate_definitions):
14645         Add a GType to GstIterator, update callsites and tests.
14646
14647 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14648
14649         * gst/gstpad.c: (gst_pad_event_default_dispatch):
14650           give events a chance to be handled by event probes when the pad
14651           is not linked
14652
14653 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14654
14655         * gst/gstevent.c: (gst_event_type_get_name),
14656         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
14657         * gst/gstevent.h:
14658           add string representations for event types
14659
14660 2005-10-06  Wim Taymans  <wim@fluendo.com>
14661
14662         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
14663         Don't use NULL pointers.
14664
14665 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14666
14667         * gst/gst_private.h:
14668         * gst/gstbus.c:
14669         * gst/gstelement.c:
14670         * gst/gstinfo.c:
14671         * gst/gstpluginfeature.c:
14672           widen the debug category in output to fit the biggest one we have
14673           add a bus category and use it
14674           play with the colors
14675           fix up some categories
14676
14677 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14678
14679         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
14680           add push activation of sink ghost pads.
14681           Andye, please verify
14682
14683 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
14684
14685         * gst/gstutils.c: (gst_element_link_pads):
14686           fix a bug in the case where neither element has a pad
14687         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
14688           add a test for that case
14689
14690 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
14691
14692         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
14693           emit have-data before checking for peers.  This allows
14694           for probe handlers to connect elements.  This helps autopluggers.
14695         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
14696         (gst_pad_suite):
14697           add six checks, linked/unlinked with no/true/false probe
14698
14699 2005-10-04  Wim Taymans  <wim@fluendo.com>
14700
14701         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
14702         (gst_fake_sink_event), (gst_fake_sink_preroll),
14703         (gst_fake_sink_render), (gst_fake_sink_change_state):
14704         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
14705         (gst_fake_src_get_property), (gst_fake_src_create),
14706         (gst_fake_src_stop):
14707         * gst/elements/gstidentity.c: (gst_identity_stop):
14708         Protect last_message with lock.
14709
14710 2005-10-04  Edward Hervey  <edward@fluendo.com>
14711
14712         * gst/gstformat.h: 
14713         Added precision in the comments for GST_FORMAT_DEFAULT
14714
14715 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
14716
14717         * tools/gst-launch.c: (main):
14718           Don't try to run erroneous pipelines.
14719
14720 2005-10-04  Julien MOUTTE  <julien@moutte.net>
14721
14722         * gst/gstbus.c: We don't need this header.
14723
14724 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14725
14726         * configure.ac:
14727           back to development
14728
14729 === release 0.9.3 ===
14730
14731 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14732
14733         * README:
14734         * configure.ac:
14735           Releasing 0.9.3, "Unregistered"
14736
14737 2005-10-03  Andy Wingo  <wingo@pobox.com>
14738
14739         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
14740         whereby calling a pad's activatepush() function can start a thread
14741         that starts to push or pull before the pad gets the FLUSHING flag
14742         unset. Hack around it by holding the stream lock until the flag is
14743         set. Need to replace this with a proper solution. Together with
14744         the ghost pad fixes, this fixes mp3 playing/tagreading.
14745
14746         * docs/design/part-gstghostpad.txt: Add a note about activation of
14747         proxy pads outside of ghost pads.
14748
14749         * gst/gstghostpad.c: Implement the ghost pad activation design.
14750
14751 2005-10-02  Andy Wingo  <wingo@pobox.com>
14752
14753         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
14754         It is volatile, after all.
14755
14756         * docs/design/part-gstghostpad.txt: Flesh out activation with
14757         ghost pads.
14758
14759         * gst/base/gstbasesrc.c (gst_base_src_init): Use
14760         GST_DEBUG_FUNCPTR.
14761
14762 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
14763
14764         * configure.ac:
14765           Fix (unused) AM_CONDITIONAL tests.
14766
14767 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
14768
14769         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
14770
14771         * gst/gstutils.c: (gst_pad_query_convert):
14772           Add assertion that makes sure src_val is >=0, just like
14773           gst_query_new_convert() has. (#315895)
14774
14775 2005-09-30  Edward Hervey  <edward@fluendo.com>
14776
14777         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
14778         Let's not iterate pads we're not interested in, it avoids getting 
14779         sky-high refcounts on sinkpad.
14780
14781 2005-09-30  Wim Taymans  <wim@fluendo.com>
14782
14783         * gst/gstelement.c: (gst_element_set_state),
14784         (gst_element_change_state):
14785         Small tweak, element in ASYNC remains ASYNC.
14786
14787 2005-09-30  Wim Taymans  <wim@fluendo.com>
14788
14789         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
14790         Only error is an error.
14791
14792         * gst/gstbin.c: (gst_bin_change_state):
14793         Better debugging.
14794
14795         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
14796         Also call pad_block in pad alloc.
14797
14798         * gst/gstutils.c: (gst_flow_get_name):
14799         Better debugging.
14800
14801 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
14802
14803         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14804         (gst_base_src_get_range):
14805           Fix documentation typos. Add some more debug info.
14806
14807 2005-09-29  David Schleef  <ds@schleef.org>
14808
14809         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
14810           more end-user friendly.
14811         * tools/gst-inspect.c: (main): Check if command-line argument is
14812           a file and attempt to load that file as a plugin.
14813
14814 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14815
14816         * check/gst/gstbin.c:
14817         * check/states/sinks.c:
14818           fix tests for the new warning
14819         * check/gst/gstpipeline.c:
14820           add a test for pipeline and bus interaction
14821         * gst/gstelement.c:
14822           elements should be NULL if they get disposed; add a warning if not
14823
14824 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14825
14826         * gst/gstobject.c:
14827           for 2.6 refcounting, make debug log more correct by printing
14828           the actual refcounts at the time of swap (Wim)
14829
14830 2005-09-29  Andy Wingo  <wingo@pobox.com>
14831
14832         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
14833         removes signal watches previously added via
14834         gst_bus_add_signal_watch.
14835         (gst_bus_add_signal_watch): Don't return the source id, just store
14836         it on the bus if there wasn't an id already.
14837
14838         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
14839         add_signal_watch and remove_signal_watch.
14840
14841 2005-09-29  Edward Hervey  <edward@fluendo.com>
14842
14843         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
14844         Better if we actually iterate the list :)
14845
14846 2005-09-29  Wim Taymans  <wim@fluendo.com>
14847
14848         * check/gst/gstbin.c: (GST_START_TEST):
14849         Change for new bus API.
14850
14851         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
14852         (send_messages), (GST_START_TEST), (gstbus_suite):
14853         Change for new bus signal API.
14854
14855         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
14856         (gst_bus_source_prepare), (gst_bus_source_check),
14857         (gst_bus_create_watch), (gst_bus_add_watch_full),
14858         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
14859         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
14860         * gst/gstbus.h:
14861         Remove support for multiple GSources operating on different
14862         message types as it is too complex and unneeded when using
14863         signals.
14864         Added support for receiving signals from the bus.
14865
14866 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14867
14868         * docs/libs/tmpl/gstdataprotocol.sgml:
14869         * docs/manual/advanced-dataaccess.xml:
14870         * gst/elements/gstcapsfilter.c:
14871         * gst/gstutils.c:
14872           rename filter-caps to caps property
14873
14874 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
14875
14876         * gst/gstvalue.c: (gst_value_deserialize_fraction):
14877           More robust fraction string parsing.
14878
14879         * docs/pwg/appendix-porting.xml:
14880           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
14881
14882 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
14883
14884         * gst/gstcaps.c: (gst_caps_do_simplify):
14885           Thou shalt not free a structure and then continue using it
14886           in the next loop iteration.
14887
14888         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
14889         (gst_caps_suite):
14890           Add test case for caps simplification.
14891
14892 2005-09-29  Wim Taymans  <wim@fluendo.com>
14893
14894         * check/gst/gstbin.c: (GST_START_TEST):
14895         Oops.
14896
14897 2005-09-29  Wim Taymans  <wim@fluendo.com>
14898
14899         * check/gst/gstbin.c: (GST_START_TEST):
14900         Add bus to bin.
14901
14902         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
14903         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
14904         (find_element), (gst_bin_sort_iterator_next),
14905         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
14906         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
14907         (gst_bin_change_state), (gst_bin_dispose):
14908         A bin does not have a bus, it gets the bus from the parent.
14909
14910         * gst/gstelement.c: (gst_element_requires_clock),
14911         (gst_element_provides_clock), (gst_element_is_indexable),
14912         (gst_element_is_locked_state), (gst_element_change_state),
14913         (gst_element_set_bus_func):
14914         Small cleanups.
14915
14916         * gst/gstpipeline.c: (gst_pipeline_class_init),
14917         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
14918         The pipeline provides a bus.
14919
14920 2005-09-28  Johan Dahlin  <johan@gnome.org>
14921
14922         * gst/gstmessage.c (gst_message_parse_state_changed): Use
14923         gst_structure_get_enum instead of gst_structure_get_int
14924
14925         * gst/gststructure.c (gst_structure_get_enum): Impl.
14926
14927         * gst/gststructure.h (gst_structure_get_enum): Add
14928
14929         * docs/gst/gstreamer-sections.txt: Ditto
14930
14931         * gst/gstmessage.c (gst_message_new_state_changed): Use
14932         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
14933         which does introspection.
14934         Reviewed by Christian Schaller
14935
14936 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
14937
14938         * gst/gstinfo.c: (gst_debug_log_default):
14939           don't do dummy g_strdup()s
14940         * libs/gst/controller/gstcontroller.c:
14941         (on_object_controlled_property_changed),
14942         (gst_controlled_property_new), (gst_controller_new_valist),
14943         (gst_controller_new_list),
14944         (gst_controller_remove_properties_valist), (gst_controller_set),
14945         (gst_controller_get), (gst_controller_sync_values),
14946         (gst_controller_get_value_array), (_gst_controller_class_init),
14947         (gst_controller_get_type):
14948         * libs/gst/controller/gstcontroller.h:
14949         * libs/gst/controller/gstinterpolation.c:
14950         (gst_controlled_property_find_timed_value_node):
14951           convert // to /**/ comments
14952
14953 2005-09-28  Wim Taymans  <wim@fluendo.com>
14954
14955         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
14956         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
14957         (gst_bus_sync_signal_handler):
14958         * gst/gstbus.h:
14959         Added async-message and sync-message signals to the bus.
14960         Added helper BusFunc to emit signals for all posted messages.
14961
14962         * gst/gstmessage.c: (gst_message_type_get_name),
14963         (gst_message_type_to_quark), (gst_message_get_type):
14964         * gst/gstmessage.h:
14965         Register quarks for message names.
14966
14967 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
14968
14969         * docs/libs/gstreamer-libs-sections.txt:
14970         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
14971         (gst_controller_new_list):
14972         * libs/gst/controller/gstcontroller.h:
14973           added another constructor for language bindings
14974
14975 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
14976
14977         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
14978           add another check
14979         * gst/gstbus.c:
14980           add some doc
14981         * gst/gstinfo.c: (_gst_debug_init):
14982           slightly more readable color for refcount debugging
14983
14984 2005-09-28  Wim Taymans  <wim@fluendo.com>
14985
14986         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
14987         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
14988         (find_element), (gst_bin_sort_iterator_next),
14989         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
14990         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
14991         (gst_bin_change_state), (gst_bin_dispose):
14992         Small doc fixes. get_clock -> provide_clock.
14993
14994         * gst/gstelement.c: (gst_element_class_init),
14995         (gst_element_provides_clock), (gst_element_provide_clock),
14996         (gst_element_get_clock), (gst_element_commit_state),
14997         (gst_element_lost_state):
14998         * gst/gstelement.h:
14999         Make get/set_clock() symetric. Add provide_clock vmethod since
15000         that is actually what this function does.
15001
15002         * gst/gstpipeline.c: (gst_pipeline_class_init),
15003         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
15004         (gst_pipeline_get_clock):
15005         get_clock -> provide_clock.
15006
15007 2005-09-28  Andy Wingo  <wingo@pobox.com>
15008
15009         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
15010         lieu of real docs...
15011
15012         * gst/elements/gstfdsrc.c: Cleaned up a bit.
15013
15014 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
15015
15016         * gst/elements/gstcapsfilter.c:
15017         * gst/elements/gstfakesink.c:
15018         * gst/elements/gstfakesrc.c:
15019         * gst/elements/gstfdsink.c:
15020         * gst/elements/gstfdsrc.c:
15021         * gst/elements/gstfilesink.c:
15022         * gst/elements/gstfilesrc.c:
15023         * gst/elements/gstidentity.c:
15024         * gst/elements/gsttee.c:
15025         * gst/elements/gsttypefindelement.c:
15026           Make element details static.
15027
15028 2005-09-28  Wim Taymans  <wim@fluendo.com>
15029
15030         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
15031         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
15032         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15033         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15034         (gst_bin_change_state), (gst_bin_dispose):
15035         Some documentation updates.
15036         Clean up dispose handlers.
15037
15038         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
15039         * gst/gstpad.c: (gst_pad_dispose):
15040         Clean up dispose handler.
15041
15042         * gst/gstpipeline.c: (gst_pipeline_change_state):
15043         Removed spurious UNLOCK.
15044
15045 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
15046
15047         * docs/gst/gstreamer-sections.txt:
15048         * gst/base/gstbasesrc.h:
15049         * gst/gstelement.h:
15050         * gst/gstevent.h:
15051         * gst/gstobject.h:
15052         * gst/gstpad.h:
15053         * gst/gstpipeline.c:
15054         * gst/gstpipeline.h:
15055         * gst/gstutils.h:
15056         * gst/gstxml.h:
15057           added two new functions to the docs
15058                 documents all undocumented GstXXXFlags
15059                 completed some incomplete docs 
15060
15061 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
15062
15063         * gst/gstbin.c: (gst_bin_dispose):
15064         * gst/gstelement.c: (gst_element_dispose):
15065           remove now useless and leaky resurrection code in dispose
15066         * gst/base/gstbasesrc.c: (gst_base_src_init):
15067         * gst/gstelementfactory.c: (gst_element_factory_create):
15068         * gst/gstobject.c: (gst_object_set_parent):
15069           add some debugging
15070
15071 2005-09-27  Wim Taymans  <wim@fluendo.com>
15072
15073         * docs/design/part-TODO.txt:
15074         Update TODO.
15075
15076         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
15077         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
15078         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15079         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15080         (gst_bin_change_state):
15081         * gst/gstelement.h:
15082         Remove element variable, we keep element info in the iterator now.
15083
15084 2005-09-27  Andy Wingo  <wingo@pobox.com>
15085
15086         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
15087         values.
15088
15089 2005-09-27  Wim Taymans  <wim@fluendo.com>
15090
15091         * check/gst/gstbin.c: (GST_START_TEST):
15092         Enable check that works now.
15093
15094         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
15095         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
15096         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15097         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15098         (gst_bin_change_state):
15099         * gst/gstbin.h:
15100         Redid the state change algorithm using a topological sort algo.
15101         Handles all cases correctly.
15102         Exposed iterator for state change order.
15103
15104         * gst/gstelement.h:
15105         Temp storage for state changes. Need to get rid of this soon.
15106
15107 2005-09-27  Wim Taymans  <wim@fluendo.com>
15108
15109         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
15110         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
15111         (link_fold_func), (gst_pad_proxy_setcaps):
15112         Leak fixes, the fold functions need to unref the passed object and
15113         _get_parent_*() returns ref to parent.
15114
15115 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
15116
15117         * check/gst/gstbuffer.c: (test_make_writable):
15118           Plug leak in test case and fix 'make check-valgrind'
15119
15120 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
15121
15122         * gst/gstbuffer.c: (gst_subbuffer_init):
15123           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
15124           works correctly in all circumstances (we could have just copied
15125           the parent buffer's readonly flag, but conceptually it seems
15126           cleaner to mark all subbuffers as read-only). (based on patch
15127           by Alessandro Decina, #314710).
15128         
15129         * check/gst/gstbuffer.c: (create_read_only_buffer),
15130         (test_make_writable), (test_subbuffer_make_writable),
15131         (gst_test_suite):
15132           Add some tests for gst_buffer_make_writable().
15133
15134 2005-09-27  Wim Taymans  <wim@fluendo.com>
15135
15136         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
15137         use gst_object_has_ancestor().
15138
15139         * gst/gstobject.c: (gst_object_has_ancestor):
15140         * gst/gstobject.h:
15141         gst_object_has_ancestor() copied from gstbin.c as it is a
15142         useful function.
15143
15144         * tests/instantiate/create.c: (create_all_elements):
15145         * tests/lat.c: (handoff_src), (handoff_sink):
15146         * tests/sched/runxml.c: (main):
15147         * tests/seeking/seeking1.c: (main):
15148         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
15149         (main):
15150         Fix compilation of some tests.
15151
15152 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
15153
15154         * gst/gsterror.h:
15155           Remove comment. GST_TYPE_G_ERROR is here to stay,
15156           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
15157           (#316961, #300610).
15158
15159 2005-09-26  Wim Taymans  <wim@fluendo.com>
15160
15161         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
15162         Added check that shows error in state change order.
15163
15164 2005-09-26  Wim Taymans  <wim@fluendo.com>
15165
15166         * gst/gstbin.c: (gst_bin_change_state):
15167         Make state change function use 3 queues again, we were
15168         adding elements in the wrong order.
15169
15170         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
15171         Some debug info,
15172
15173         * gst/gstpad.c: (gst_pad_dispose):
15174         Added some debug info first.
15175
15176 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
15177
15178         * docs/design/draft-push-pull.txt:
15179         * docs/design/part-events.txt:
15180         * docs/design/part-overview.txt:
15181         * docs/design/part-scheduling.txt:
15182           Replace all _pull_region() with _pull_range()
15183           
15184 2005-09-26  Andy Wingo  <wingo@pobox.com>
15185
15186         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
15187
15188         * check/gst-libs/controller.c: Update for controller api change.
15189
15190         * configure.ac: 
15191         * tests/Makefile.am:
15192         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
15193         over by GLib bug 118439.
15194         
15195         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
15196         routines to a function.
15197
15198         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
15199
15200         * libs/gst/controller/gsthelper.c:
15201         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
15202         (gst_object_sync_values): Renamed from sink_values. Ugh.
15203
15204         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
15205
15206         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
15207         Renamed from controller_key, as it is exported.
15208
15209         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
15210
15211 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
15212
15213         * gst/Makefile.am:
15214         * gst/gst.h:
15215         * gst/gstpad.h:
15216         * gst/gstpadtemplate.h:
15217         * gst/gstquery.c:
15218         * gst/gstquery.h:
15219         * gst/gstqueryutils.c:
15220         * gst/gstqueryutils.h:
15221           remove queryutils headers after moving the two used functions
15222           to gstquery.  also fixes build problem for gstsiddec
15223
15224 2005-09-26  Michael Smith <msmith@fluendo.com>
15225
15226         * tools/gst-launch.1.in:
15227         Correct documentation in manpage of debug syntax
15228
15229 2005-09-26  Wim Taymans  <wim@fluendo.com>
15230
15231         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
15232         (gst_base_src_is_seekable), (gst_base_src_change_state):
15233         Some more debugging info.
15234
15235 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
15236
15237         * docs/gst/gstreamer-sections.txt:
15238         * gst/base/gstbasetransform.h:
15239         * gst/gstindex.h:
15240           added more docs
15241
15242 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
15243
15244         * docs/gst/.cvsignore:
15245         * docs/gst/tmpl/.cvsignore:
15246         * docs/gst/tmpl/gstpipeline.sgml:
15247         * docs/gst/tmpl/gstplugin.sgml:
15248         * gst/gstpipeline.c:
15249         * gst/gstplugin.c:
15250         * gst/gstplugin.h:
15251           inlined the last two docs files
15252           removed the tmpl directory from cvs (no more conflicts here!)
15253
15254 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
15255
15256         * docs/gst/gstreamer-sections.txt:
15257         * docs/gst/tmpl/.cvsignore:
15258         * docs/gst/tmpl/gstpad.sgml:
15259         * docs/gst/tmpl/gstpadtemplate.sgml:
15260         * gst/Makefile.am:
15261         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
15262         (gst_pad_finalize), (gst_pad_set_pad_template):
15263         * gst/gstpad.h:
15264         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
15265         (gst_pad_template_class_init), (gst_pad_template_init),
15266         (gst_pad_template_dispose), (name_is_valid),
15267         (gst_static_pad_template_get), (gst_pad_template_new),
15268         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
15269         (gst_pad_template_pad_created):
15270         * gst/gstpadtemplate.h:
15271           inlined two more docs
15272           factored gstpadtemplate out of gstpad
15273
15274 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
15275
15276         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
15277         (test_children_state_change_order_semi_sink):
15278           Fix test case: we can't rely on a fixed state change order when
15279           going from READY => PAUSED because the sink might commit its 
15280           new state first when the first buffer created by the source 
15281           reaches the sink before the source has finished its change state.
15282           (Test case still fails at times, see #316856, comment 5 onwards)
15283
15284 2005-09-24  Wim Taymans  <wim@fluendo.com>
15285
15286         * docs/design/part-events.txt:
15287         * docs/design/part-gstbus.txt:
15288         * docs/design/part-gstpipeline.txt:
15289         * docs/design/part-messages.txt:
15290         * docs/design/part-overview.txt:
15291         * docs/design/part-segments.txt:
15292         * gst/gstbin.c:
15293         * gst/gstbuffer.c:
15294         * gst/gstclock.c:
15295         * gst/gstelement.c:
15296         * gst/gstevent.c:
15297         * gst/gstfilter.c:
15298         * gst/gstiterator.c:
15299         Various documentation updates.
15300
15301 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
15302
15303         * gst/gstclock.h:
15304           Well, that's embarassing.  Luckily we weren't using
15305           GST_CLOCK_DIFF anywhere.
15306
15307 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15308
15309         * common/gtk-doc.mak:
15310           don't fail on building XML, FC4 slave shows a bunch of doc
15311           missing bits that I don't get
15312         * gst/gstpad.c:
15313         * gst/gstpipeline.c:
15314         * gst/gststructure.c:
15315           some doc updates
15316
15317 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
15318
15319         * docs/design/part-gstbin.txt:
15320         * docs/design/part-gstbus.txt:
15321         * gst/gstbus.c:
15322           Add blurb about how the bus goes into flushing mode and
15323           drops all messages when its bin goes from READY into NULL 
15324           state.
15325
15326 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15327
15328         * docs/gst/gstreamer-sections.txt:
15329         * gst/gststructure.c: (gst_structure_get_clock_time):
15330         * gst/gststructure.h:
15331           add a method to get a GstClockTime out of a structure
15332
15333 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
15334
15335         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
15336         (test_children_state_change_order_semi_sink), (gst_bin_suite):
15337           Added test to check state change order in bins (can still be made
15338           to fail here under heavy disk load; bails out with 'Push on pad
15339           fakesink:sink0, but it was not activated in push mode').
15340
15341         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
15342           Fix state change order when there is only a semi sink (#316856)
15343
15344         * gst/gstbus.c: (gst_bus_class_init):
15345           Use _class_peek_parent(), not _class_ref(); fix docs to say
15346           'default main context' instead of 'mainloop' where that is
15347           what's meant.
15348
15349         * gst/gstelement.c: (gst_element_commit_state),
15350         (gst_element_set_state):
15351           Fix typos in debug messages
15352
15353 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15354
15355         * docs/README:
15356         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
15357         * gst/gstpluginfeature.c:
15358         * gst/gstutils.c:
15359           various doc updates
15360         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15361           change an assert into an error until it gets fixed properly
15362
15363 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
15364
15365         * docs/gst/gstreamer-sections.txt:
15366         * docs/gst/tmpl/.cvsignore:
15367         * docs/gst/tmpl/gstelement.sgml:
15368         * docs/gst/tmpl/gstinfo.sgml:
15369         * docs/gst/tmpl/gstobject.sgml:
15370         * gst/gstelement.c:
15371         * gst/gstelement.h:
15372         * gst/gstinfo.c:
15373         * gst/gstinfo.h:
15374         * gst/gstobject.c: (gst_object_class_init):
15375         * gst/gstobject.h:
15376           inlined 3 more biiiig doc files and added some missing docs on the fly
15377
15378 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15379
15380         * check/gst/.cvsignore:
15381         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
15382         * gst/gstregistryxml.c: (load_plugin),
15383         (gst_registry_xml_save_plugin):
15384           put back source in registry.  add checks for find_plugin.
15385         * testsuite/states/bin.c: (assert_state), (empty_bin),
15386         (test_adding_one_element), (main):
15387         * testsuite/states/locked.c: (main):
15388           some compile/run fixes
15389
15390 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15391
15392         * check/gst/gstvalue.c: (GST_START_TEST):
15393           fix leaks in the test itself
15394
15395 2005-09-22  Wim Taymans  <wim@fluendo.com>
15396
15397         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
15398         (gst_base_sink_send_event), (gst_base_sink_peer_query),
15399         (gst_base_sink_query):
15400         Prepare for more accurate position reporting and query
15401         handling.
15402
15403         * gst/gstelement.c: (gst_element_send_event),
15404         (gst_element_set_state):
15405         Add some comment.
15406
15407 2005-09-22  Wim Taymans  <wim@fluendo.com>
15408
15409         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
15410         (gst_query_parse_segment):
15411         * gst/gstquery.h:
15412         More documentation.
15413         Add segment query for future use.
15414
15415 2005-09-22  Wim Taymans  <wim@fluendo.com>
15416
15417         * gst/gstbin.c: (gst_bin_add_func):
15418         Some more debug info.
15419
15420         * gst/gstelement.c: (gst_element_send_event):
15421         Simplify send_event
15422
15423         * gst/gstelement.h:
15424         Don't know how flags got broken.
15425
15426         * gst/gstquery.h:
15427         Added new query.
15428
15429 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
15430
15431         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
15432           Add simplistic test suite for GST_TYPE_DATE serialisation and
15433           deserialisation.
15434
15435 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
15436
15437         * docs/gst/gstreamer-sections.txt:
15438         * gst/gststructure.c: (gst_structure_set_valist),
15439         (gst_structure_get_date):
15440         * gst/gststructure.h:
15441         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
15442         (gst_date_copy), (gst_value_compare_date),
15443         (gst_value_serialize_date), (gst_value_deserialize_date),
15444         (gst_value_transform_date_string),
15445         (gst_value_transform_string_date), (_gst_value_initialize):
15446         * gst/gstvalue.h:
15447           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
15448           bunch of utility functions along with a hack that checks that
15449           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
15450           is required. Part of the grand scheme in #170777.
15451
15452 2005-09-22  Andy Wingo  <wingo@pobox.com>
15453
15454         * gst/gstconfig.h.in: Psych out gtk-doc.
15455
15456         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
15457
15458         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
15459
15460         * tools/gst-inspect.c (print_element_list): Plug some
15461         inconsequential leaks.
15462
15463         * gst/gstregistry.c (gst_registry_get_default): Doc.
15464
15465         * check/gst/gstplugin.c: 
15466         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
15467         * gst/gstelementfactory.c (gst_element_factory_create): 
15468         * gst/gstindexfactory.c (gst_index_factory_create): Update for
15469         refcount changes.
15470
15471         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
15472         (gst_plugin_feature_load): Doc, don't eat refs.
15473
15474         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
15475         (gst_plugin_list_free): Doc.
15476         (gst_plugin_load_file): Doc updates.
15477
15478         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
15479         accessors returning refcounted objects, return a ref.
15480
15481         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
15482         accessor for caps. IDEMPOTENCE. Oh yes.
15483
15484 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
15485
15486         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
15487
15488         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
15489         (_gst_debug_register_funcptr):
15490           Add mutex to serialise access to the hash table with
15491           the function pointer => function name string mapping;
15492           make that hash table static scope (#316809).
15493
15494         * gst/registries/.cvsignore:
15495           Remove left-over file.
15496
15497 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
15498
15499         * docs/pwg/appendix-porting.xml:
15500           And something about newsegment events and caps-on-buffers to
15501           the porting guide (feel free to improve).
15502
15503 2005-09-21  Andy Wingo  <wingo@pobox.com>
15504
15505         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
15506         data and event probes on the same pad.
15507         (test_buffer_probe_once): Test that removing probes from within
15508         the probe functions works.
15509
15510 2005-09-21  Andy Wingo  <wingo@pobox.com>
15511
15512         * check/gst/gstutils.c: New file.
15513         (test_buffer_probe_n_times): A simple buffer probe test. More to
15514         come, foolios.
15515
15516         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
15517         have-data::buffer, not have-data.
15518         (gst_pad_add_event_probe): Likewise for have-data::event.
15519         (gst_pad_add_data_probe): More docs. The part about 'resolving the
15520         peer' isn't quite right yet though.
15521         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
15522         (gst_pad_remove_data_probe): Change to take the guint handler_id
15523         as their arg, not the function+data, which is more glib-like.
15524
15525         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
15526         the signal emission to indicate if the data is a buffer or an
15527         event.
15528         (gst_pad_get_type): Initialize buffer and event quarks.
15529         (gst_pad_class_init): have-data is now a detailed signal, yes it
15530         is.
15531
15532 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
15533
15534         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
15535         * gst/gstutils.c: (gst_util_set_value_from_string),
15536         (gst_util_set_object_arg):
15537           Don't put functional code in g_return_if_fail() or
15538           g_return_val_if_fail() statements, otherwise things will 
15539           break when G_DISABLE_CHECKS is defined during compilation.
15540
15541 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
15542
15543         * docs/gst/tmpl/.cvsignore:
15544         * docs/gst/tmpl/gstvalue.sgml:
15545         * gst/gstvalue.c:
15546         * gst/gstvalue.h:
15547           inlied another one and added  some obvious docs
15548
15549 2005-09-21  Wim Taymans  <wim@fluendo.com>
15550
15551         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
15552         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
15553         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
15554         (gst_fdsrc_get_property), (gst_fdsrc_create):
15555         * gst/elements/gstfdsrc.h:
15556         Properly implement fdsrc. Removed signal and timeout,
15557         better implemented somewhere else.
15558
15559 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
15560
15561         * docs/gst/tmpl/.cvsignore:
15562         * docs/gst/tmpl/gstimplementsinterface.sgml:
15563         * gst/gstinterface.c:
15564           inlined more docs
15565
15566 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
15567
15568         * docs/gst/gstreamer-sections.txt:
15569         * docs/gst/tmpl/.cvsignore:
15570         * docs/gst/tmpl/gstenumtypes.sgml:
15571           remove obsolete doc file
15572
15573 2005-09-21  David Schleef  <ds@schleef.org>
15574
15575         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
15576         little beer, fix a little leak.
15577
15578 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
15579
15580         * docs/gst/gstreamer-docs.sgml:
15581         * docs/gst/gstreamer-sections.txt:
15582         * docs/gst/tmpl/.cvsignore:
15583         * gst/Makefile.am:
15584         * gst/gst.h:
15585         * gst/gstbin.c:
15586         * gst/gstelement.h:
15587         * gst/gstindex.c: (gst_index_class_init):
15588         * gst/gstindex.h:
15589         * gst/gstindexfactory.c: (gst_index_factory_get_type),
15590         (gst_index_factory_class_init), (gst_index_factory_init),
15591         (gst_index_factory_finalize), (gst_index_factory_new),
15592         (gst_index_factory_destroy), (gst_index_factory_find),
15593         (gst_index_factory_create), (gst_index_factory_make):
15594         * gst/gstindexfactory.h:
15595         * gst/gstpluginfeature.c:
15596         * gst/gstpluginfeature.h:
15597         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
15598           more docs inlined, splitted gstindex.{c,h}
15599
15600 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
15601
15602         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
15603           fix a leak
15604
15605 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
15606
15607         * gst/elements/gstfilesink.c: (gst_file_sink_init):
15608           Set sync to FALSE by default.
15609
15610 2005-09-20  Wim Taymans  <wim@fluendo.com>
15611
15612         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
15613         (gst_base_sink_init):
15614         Make sync property settable from subclass.
15615
15616         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
15617         (gst_fake_sink_change_state):
15618         Set sync to FALSE by default.
15619
15620 2005-09-20  Wim Taymans  <wim@fluendo.com>
15621
15622         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
15623         * tools/gst-launch.c: (main):
15624         The timeout handler should have lower priority than the source
15625         so we don't timeout before popping a message with 0 timeout.
15626         Dump error messages after failed state change.
15627
15628 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
15629
15630         * tools/gst-inspect.c: (print_element_properties_info):
15631           Fix two typos.
15632
15633 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
15634
15635         * check/gst/gstevent.c:
15636         * gst/elements/gstfakesink.c:
15637         * gst/elements/gstfakesink.h:
15638           remove the sync property from fakesink.
15639           has the side effect of setting sync TRUE
15640           for fakesink, which is a change.  Anyone who knows how
15641           to fix this nicely in a GObject-y way, feel free.
15642
15643 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
15644
15645         * docs/gst/gstreamer-docs.sgml:
15646           remove probe refsection
15647
15648 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
15649
15650         * check/Makefile.am:
15651           disable valgrinding the controller test again
15652         * docs/gst/gstreamer-sections.txt:
15653           update for api-changes
15654
15655 2005-09-20  Wim Taymans  <wim@fluendo.com>
15656
15657         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
15658         (gst_base_sink_set_property), (gst_base_sink_get_property),
15659         (gst_base_sink_do_sync):
15660         * gst/base/gstbasesink.h:
15661         Added sync property to basesink to disable clock sync.
15662
15663 2005-09-20  Andy Wingo  <wingo@pobox.com>
15664
15665         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
15666         eating the caller's refcount.
15667
15668         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
15669         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
15670         refcount.
15671
15672         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
15673         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
15674         of GLib 2.8 public, so we can know which refcount to check in
15675         tests.
15676
15677         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
15678         (gst_object_init): Only set the gst refcount if we're going ahead
15679         with the refcount hack.
15680
15681 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
15682
15683         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
15684         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
15685           more leaks plumbed, added more debug-logging
15686         * gst/gstmacros.h:
15687           whitespace fix
15688
15689 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
15690
15691         * gst/gstmessage.c:
15692           remove include of gstmemchunk.h
15693
15694 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
15695
15696         * gst/gstclock.c: (_gst_clock_id_free):
15697           Commit from the Political Party For More Atomic CVS Commits,
15698           so that people don't waste too much of their day fishing
15699           out obvious leaks out of massive commits.
15700           Oh, and fix a pretty damn obvious leak in the memchunk
15701           removal code.
15702
15703 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
15704
15705         * check/Makefile.am:
15706         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
15707           plug mem-leak, re-add to valgrindable tests
15708
15709 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
15710
15711         * gst/gstplugin.h:
15712           unbreak the build for those who have chronic arthritis
15713           and typing "make check" is just too taxing on the hands
15714
15715 2005-09-20  Andy Wingo  <wingo@pobox.com>
15716
15717         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
15718         really want it out, you should fix plugins at the same time.
15719
15720 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
15721
15722         * configure.ac:
15723         * docs/gst/gstreamer-sections.txt:
15724         * gst/gstobject.c:
15725           added missing symbols to api docs
15726           disable ref-count hack if we have glib >= 2.8
15727
15728 2005-09-19  David Schleef  <ds@schleef.org>
15729
15730         * docs/gst/Makefile.am: Ignore a few more internal headers
15731         * docs/gst/gstreamer-docs.sgml: Remove old sections
15732         * docs/gst/gstreamer-sections.txt: Remove old sections
15733         * docs/gst/tmpl/gstobject.sgml: update
15734         * docs/gst/tmpl/gstplugin.sgml: update
15735         * docs/gst/tmpl/gstpluginfeature.sgml: update
15736         * docs/random/ds/0.9-suggested-changes: update.
15737         * gst/Makefile.am: remove memchunk and trashstack, since they're
15738           not used.
15739         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
15740         * gst/gst.h: don't include some headers
15741         * gst/gstchildproxy.c: add gstmarshal.h
15742         * gst/gstclock.c: Don't use memchunks
15743         * gst/gstminiobject.c: Add some docs
15744         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
15745         * gst/gstobject.h: same
15746         * gst/gstplugin.c: include gstmacros.h
15747         * gst/gstplugin.h: don't include gstmacros.h, since it's private
15748         * gst/gstquery.c: don't use memchunks
15749         * gst/gstregistry.c: rename gst_registry_deinit()
15750         * gst/gstregistry.h: same
15751
15752 2005-09-19  David Schleef  <ds@schleef.org>
15753
15754         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
15755         * docs/libs/gstreamer-libs-sections.txt:
15756         * docs/libs/tmpl/gstgetbits.sgml:
15757         * docs/libs/tmpl/gstputbits.sgml:
15758
15759 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
15760
15761         * win32/gstenumtypes.c:
15762         * win32/gstenumtypes.h:
15763           Update.
15764
15765 2005-09-19  Wim Taymans  <wim@fluendo.com>
15766
15767         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
15768         Automatically PAUSE and RESUME a pipeline when a flushing seek
15769         is performed.
15770
15771 2005-09-19  Andy Wingo  <wingo@pobox.com>
15772
15773         * gst/gstregistry.h: Spacing fixen.
15774
15775 2005-09-19  Wim Taymans  <wim@fluendo.com>
15776
15777         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
15778         Handle state change failure more correctly.
15779
15780 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15781
15782         * check/Makefile.am:
15783         * check/pipelines/cleanup.c: (run_pipeline):
15784         * check/pipelines/simple_launch_lines.c: (run_pipeline),
15785         (GST_START_TEST):
15786           enable cleanup again after fixing the leak
15787         * docs/README:
15788           some more info on docs
15789
15790 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15791
15792         * check/Makefile.am:
15793           re-enable tests now that leaks are plugged
15794         * check/gst/gst.c:
15795         * check/gst/gstbin.c:
15796         * check/gst/gstpipeline.c:
15797           add some more tests while fixing leaks
15798         * common/check.mak:
15799           make sure binaries are uptodate when valgrinding/gdbing
15800         * gst/gst.c:
15801         * gst/gstelementfactory.c:
15802           remove a ref too many, and add a FIXME for when we get
15803           round to disposing of classes
15804         * gst/gstplugin.c:
15805           fix the refcounting when loading a plugin from a file and
15806           the code pretends that the pointer is the same even though
15807           of course it can change
15808         * gst/gstpluginfeature.c:
15809           unref plugins marked cached (a bit confusing as a name)
15810           as the docs state should be done
15811           various doc additions to explain refcounting
15812         * gst/gstregistry.c:
15813         * gst/gstregistryxml.c:
15814           debugging
15815
15816 2005-09-19  Wim Taymans  <wim@fluendo.com>
15817
15818         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
15819         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
15820         (send_messages), (GST_START_TEST), (gstbus_suite):
15821         * check/gst/gstpipeline.c: (GST_START_TEST):
15822         * check/pipelines/cleanup.c: (run_pipeline):
15823         * check/pipelines/simple_launch_lines.c: (run_pipeline),
15824         (GST_START_TEST):
15825         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
15826         (gst_bus_source_check), (gst_bus_source_dispatch),
15827         (gst_bus_create_watch), (gst_bus_add_watch_full),
15828         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
15829         * gst/gstbus.h:
15830         * tools/gst-launch.c: (event_loop):
15831         * tools/gst-md5sum.c: (event_loop):
15832         GstBusHandler -> GstBusFunc, return value has the same meaning as
15833         any other GSource (FALSE == remove source).
15834         _add_watch() and _add_watch_full() now take a MessageType mask to
15835         only handle specific types of messages.
15836         _poll() returns the GstMessage instead of the message type to avoid
15837         race conditions.
15838         _have_pending() takes a MessageType mask now too.
15839         Added testsuite for multiple bus watches.
15840         Fix testsuites and applications for new bus API.
15841
15842 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15843
15844         * check/Makefile.am:
15845           mark a bunch of the tests as to fix until we fix them
15846
15847 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
15848
15849         * common/check.mak:
15850           use GST_PLUGIN settings for valgrind tests as well, so we're
15851           valgrinding the correct thing
15852         * gst/gst.c: (init_post):
15853           plug another leak
15854
15855 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
15856
15857         * gst/gst.c: (init_post), (gst_deinit):
15858         * gst/gstelementfactory.c: (gst_element_factory_class_init),
15859         (gst_element_factory_finalize), (gst_element_factory_cleanup):
15860         * gst/gstindex.c: (gst_index_factory_class_init),
15861         (gst_index_factory_finalize):
15862         * gst/gstobject.c: (gst_object_dispose):
15863         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
15864         (gst_plugin_load_file), (gst_plugin_desc_free):
15865         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
15866         (gst_plugin_feature_finalize):
15867         * gst/gstregistry.c: (gst_registry_class_init),
15868         (gst_registry_init), (gst_registry_finalize),
15869         (gst_registry_get_default), (gst_registry_deinit):
15870         * gst/gstregistry.h:
15871         * gst/gstregistryxml.c: (load_feature), (load_plugin):
15872           various cleanups and memleak plugging.  make valgrind is happy now.
15873
15874 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
15875
15876         * common/check.mak:
15877           add a check-valgrind target
15878
15879 2005-09-18  David Schleef  <ds@schleef.org>
15880
15881         * tools/gst-inspect.c: Revert the GOption code.
15882
15883 2005-09-17  David Schleef  <ds@schleef.org>
15884
15885         * check/Makefile.am: Fix environment variables.
15886         * check/gst/gstplugin.c: Fix for API changes.
15887         * tools/gst-inspect.c: Fix for API changes.
15888         * tools/gst-xmlinspect.c: Fix for API changes.
15889         * gst/gstelementfactory.c:
15890         * gst/gstplugin.c:
15891         * gst/gstplugin.h:
15892         * gst/gstpluginfeature.c:
15893         * gst/gstpluginfeature.h:
15894         * gst/gstregistry.c:
15895         * gst/gstregistry.h:
15896         * gst/gstregistryxml.c:
15897         * gst/gsttypefind.c:
15898         * gst/gsttypefindfactory.c:
15899         * gst/indexers/gstfileindex.c:
15900         * gst/indexers/gstmemindex.c:
15901         * gst/schedulers/Makefile.am:
15902           Change registry to keep track of both plugins and features,
15903           removing the feature tracking from plugins themselves.
15904
15905 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15906
15907         * check/Makefile.am:
15908         * tools/gst-register.1.in:
15909           remove gst-register
15910
15911 2005-09-15  David Schleef  <ds@schleef.org>
15912
15913         * check/gst/gstplugin.c:
15914         * gst/gstelementfactory.c:
15915         * gst/gstplugin.c:
15916         * gst/gstpluginfeature.c:
15917         * gst/gstregistry.c:
15918           Getting tired of debugging.  Disabled all the unreffing of
15919           plugins and features, which fixes the segfaults, but of
15920           course leaks like crazy.  At least playbin works.
15921
15922 2005-09-15  David Schleef  <ds@schleef.org>
15923
15924         * check/gst/gstplugin.c: (register_check_elements),
15925         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
15926         More testing
15927         * gst/elements/gsttypefindelement.c: Fix refcounting.
15928         * gst/gsttypefind.c:
15929         * gst/gsttypefindfactory.c:
15930         * gst/gsttypefindfactory.h:
15931
15932 2005-09-15  David Schleef  <ds@schleef.org>
15933
15934         * gst/gstindex.c: get refcounting correct.
15935         * gst/gstregistry.c: Handle the case where a feature/plugin is
15936           not found.
15937
15938 2005-09-15  David Schleef  <ds@schleef.org>
15939
15940         * check/Makefile.am:
15941         * check/gst/gstplugin.c: Add test
15942         * gst/gstplugin.c: Fix problems noticed by testsuite
15943         * gst/gstplugin.h:
15944         * gst/gstregistry.c: 
15945         * gst/gstregistry.h:
15946
15947 2005-09-15  David Schleef  <ds@schleef.org>
15948
15949         * gst/gstplugin.c: Implement semi-decent recounting and locking
15950           in plugins and plugin features.
15951         * gst/gstplugin.h:
15952         * gst/gstpluginfeature.c:
15953         * gst/gstpluginfeature.h:
15954         * gst/gstregistry.c:
15955
15956 2005-09-15  Michael Smith <msmith@fluendo.com>
15957
15958         * gst/gstregistry.c: (gst_registry_get_feature_list):
15959           Implement this. Makes oggdemux work; decodebin still broken.
15960
15961 2005-09-14  David Schleef  <ds@schleef.org>
15962
15963         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
15964           #316076)
15965         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
15966         * gst/check/Makefile.am:
15967         * libs/gst/controller/Makefile.am:
15968         * libs/gst/dataprotocol/Makefile.am:
15969
15970 2005-09-14  David Schleef  <ds@schleef.org>
15971
15972         * configure.ac: Remove getbits library.  Nothing uses it, and
15973           it should be in something like liboil if someone did want
15974           to use it.
15975         * libs/gst/Makefile.am:
15976         * libs/gst/getbits/Makefile.am:
15977         * libs/gst/getbits/gbtest.c:
15978         * libs/gst/getbits/getbits.c:
15979         * libs/gst/getbits/getbits.h:
15980         * libs/gst/getbits/gstgetbits_generic.c:
15981         * libs/gst/getbits/gstgetbits_i386.s:
15982         * libs/gst/getbits/gstgetbits_inl.h:
15983
15984 2005-09-14  David Schleef  <ds@schleef.org>
15985
15986         * gst/Makefile.am: Dist glib-compat.h
15987
15988 2005-09-14  David Schleef  <ds@schleef.org>
15989
15990         * configure.ac: Remove gst/registries, since it's no longer used.
15991         * gst/registries/Makefile.am:
15992         * gst/registries/gstlibxmlregistry.c:
15993         * gst/registries/gstlibxmlregistry.h:
15994         * gst/registries/gstxmlregistry.c:
15995         * gst/registries/gstxmlregistry.h:
15996         * gst/registries/registrytest.c:
15997
15998 2005-09-14  David Schleef  <ds@schleef.org>
15999
16000         * gst/glib-compat.h:
16001         * gst/gstregistryxml.c:
16002           Convergence is near.  Seriously.
16003
16004 2005-09-14  David Schleef  <ds@schleef.org>
16005
16006         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
16007         * gst/glib-compat.h:
16008           Attempt #4 to appease the buildbots.
16009
16010 2005-09-14  David Schleef  <ds@schleef.org>
16011
16012         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
16013           Attempt #3.
16014
16015 2005-09-14  David Schleef  <ds@schleef.org>
16016
16017         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
16018         Attempt #2.
16019
16020 2005-09-14  David Schleef  <ds@schleef.org>
16021
16022         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
16023           the new functions.
16024
16025 2005-09-14  David Schleef  <ds@schleef.org>
16026
16027         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
16028         * gst/glib-compat.h: Add some functions that are in newer versions
16029           of glib than we care to require.
16030         * gst/gstregistryxml.c: Use them.
16031
16032 2005-09-14  David Schleef  <ds@schleef.org>
16033
16034         * po/POTFILES.in: remove gst-register.c
16035
16036 2005-09-14  David Schleef  <ds@schleef.org>
16037
16038         * docs/gst/gstreamer-docs.sgml:
16039         * docs/gst/gstreamer-sections.txt:
16040         * docs/gst/gstreamer.types:
16041         * docs/gst/tmpl/gstelement.sgml:
16042         * docs/gst/tmpl/gstplugin.sgml:
16043         * docs/gst/tmpl/gstpluginfeature.sgml:
16044           Documentation updates for registry changes.
16045
16046 2005-09-14  David Schleef  <ds@schleef.org>
16047
16048         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
16049           because we don't require glib-2.8.
16050
16051 2005-09-14  David Schleef  <ds@schleef.org>
16052
16053         * gst/gstregistryxml.c: Added.  Essentially moved out of the
16054           registries directory.
16055
16056 2005-09-14  David Schleef  <ds@schleef.org>
16057
16058         * check/Makefile.am:
16059         * check/generic/states.c:
16060         * gst/Makefile.am:
16061         * gst/gst.c:
16062         * gst/gst.h:
16063         * gst/gst_private.h:
16064         * gst/gstelementfactory.c:
16065         * gst/gstindex.c:
16066         * gst/gstinfo.c:
16067         * gst/gstplugin.c:
16068         * gst/gstplugin.h:
16069         * gst/gstpluginfeature.c:
16070         * gst/gstpluginfeature.h:
16071         * gst/gstregistry.c:
16072         * gst/gstregistry.h:
16073         * gst/gstregistrypool.c: remove
16074         * gst/gstregistrypool.h: remove
16075         * gst/gsttypefind.c:
16076         * gst/gsttypefindfactory.c:
16077         * gst/gsturi.c:
16078         * tools/Makefile.am:
16079         * tools/gst-compprep.c:
16080         * tools/gst-inspect.c:
16081         * tools/gst-register.c: remove
16082         * tools/gst-xmlinspect.c:
16083           Registry rewrite.  Changes registry from being a file created
16084           by a tool into a simple cache file created automatically by 
16085           libgstreamer.  Removed gst-register (because it's no longer
16086           needed).  Remove registry pools, because we only have one
16087           registry implementation (XML).  Fix up other subsystems as
16088           necessary.
16089
16090 2005-09-13  Michael Smith <msmith@fluendo.com>
16091
16092         * gst/gstconfig.h.in:
16093           Don't Use windows linking attributes for MinGW. Fixes #316157
16094
16095 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
16096
16097         * gst/gstutils.c: (set_state_async_thread_func),
16098         (gst_element_set_state_async):
16099           Apparently people think it's better if this function doesn't
16100           try to set the state to whatever state was asked for on the first
16101           call to this function for any object.  Seriously.
16102
16103 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16104
16105         * check/gst/gstpipeline.c: (GST_START_TEST):
16106         * docs/gst/gstreamer-sections.txt:
16107         * gst/gstutils.c: (set_state_async_thread_func),
16108         (gst_element_set_state_async):
16109         * gst/gstutils.h:
16110           add a "gst_element_set_state_async" method that
16111           sets the state and starts a thread to make sure the state
16112           change completes as best as it can
16113
16114 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16115
16116         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
16117           codify design+behaviour in testsuite after discussion
16118
16119 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16120
16121         * docs/gst/tmpl/gstelement.sgml:
16122         * docs/manual/appendix-quotes.xml:
16123           add a quote
16124         * gst/gstelement.c: (gst_element_set_state):
16125           add some debug
16126
16127 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
16128
16129         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
16130         (gst_base_transform_prepare_output_buf),
16131         (gst_base_transform_handle_buffer):
16132         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
16133         (gst_capsfilter_prepare_buf):
16134           Remove the requirement for sub-classes to call the parent
16135           implementation of prepare_output_buffer with a wrapper function.
16136           
16137         * gst/gsttaglist.h:
16138         * gst/gsttagsetter.h:
16139           Fix #define wrapper
16140
16141 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
16142
16143         * docs/gst/gstreamer-sections.txt:
16144           more doc cleanups
16145
16146 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16147
16148         * docs/gst/gstreamer-sections.txt:
16149         * docs/gst/tmpl/gstelement.sgml:
16150         * docs/gst/tmpl/gstplugin.sgml:
16151         * gst/gstminiobject.c:
16152         * gst/gstvalue.h:
16153           docs now stop throwing warnings
16154
16155 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16156
16157         * docs/gst/gstreamer-sections.txt:
16158         * docs/gst/gstreamer.types:
16159         * docs/gst/tmpl/gstpad.sgml:
16160         * docs/gst/tmpl/gsttypes.sgml:
16161         * gst/base/gstadapter.h:
16162         * gst/base/gstbasesink.h:
16163         * gst/base/gstbasesrc.h:
16164         * gst/gstbin.h:
16165         * gst/gstbuffer.h:
16166         * gst/gstbus.h:
16167         * gst/gstcaps.h:
16168         * gst/gstclock.h:
16169         * gst/gstelement.h:
16170         * gst/gstevent.h:
16171         * gst/gstmessage.h:
16172         * gst/gstpad.h:
16173         * gst/gststructure.c:
16174         * gst/registries/gstlibxmlregistry.h:
16175           various documentation fixes
16176
16177 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16178
16179         * docs/gst/gstreamer-sections.txt:
16180         * docs/gst/tmpl/gstvalue.sgml:
16181           rearrange gstvalue section
16182         * gst/gstutils.c: (gst_element_state_get_name):
16183           NONE -> VOID
16184         * gst/gstvalue.c: (_gst_value_initialize):
16185         * gst/gstvalue.h:
16186           doc updates
16187
16188 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
16189
16190         * check/gst-libs/controller.c:
16191           Header include fix.
16192         * gst/base/gstbasetransform.c:
16193         (gst_base_transform_default_prepare_buf),
16194         (gst_base_transform_handle_buffer):
16195         * gst/base/gstbasetransform.h:
16196           Some more basetransform changes and fixes to enable sub-classes
16197           that modify buffer metadata only.
16198         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
16199         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
16200         (gst_capsfilter_prepare_buf):
16201           If the output pad has fixed allowed caps and input buffers 
16202           don't have any, set the fixed caps on outgoing buffers.
16203
16204 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
16205         * check/elements/identity.c: (GST_START_TEST):
16206           Make the error a little clearer when the test fails because
16207           identity made a copy of the buffer.
16208         * docs/gst/gstreamer-sections.txt:
16209           New symbols in gstbasetransform.h
16210         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
16211         (gst_base_transform_init), (gst_base_transform_transform_size),
16212         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
16213         (gst_base_transform_default_prepare_buf),
16214         (gst_base_transform_get_unit_size),
16215         (gst_base_transform_buffer_alloc),
16216         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
16217         (gst_base_transform_change_state),
16218         (gst_base_transform_set_passthrough),
16219         (gst_base_transform_set_in_place),
16220         (gst_base_transform_is_in_place):
16221         * gst/base/gstbasetransform.h:
16222           Change BaseTransform to separate in_place operate from same_caps
16223           output. in_place implies that the element can perform the transform
16224           on incoming buffers in-place, even if the caps on the output are
16225           different.
16226           Sub-class elements can now implement special buffer allocation
16227           methods for outgoing buffers if they wish to.
16228           Big documentation addition.
16229         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
16230         * gst/elements/gstelements.c:
16231           Changes for basetransform modifications.
16232         * gst/elements/Makefile.am:
16233         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
16234           Compile fix. Extra debug output.
16235
16236 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16237
16238         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
16239         (gst_pad_suite):
16240           add tests for valid pad naming
16241         * gst/check/gstcheck.c: (gst_check_log_message_func),
16242         (gst_check_log_critical_func):
16243           add ASSERT_WARNING
16244           remove printing of code, it is fragile when the code contains
16245           % and the line number is enough info
16246         * gst/check/gstcheck.h:
16247         * gst/gstpad.c: (gst_pad_template_new):
16248           fix memleaks
16249
16250 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16251
16252         * configure.ac:
16253           say what CHECK flags we use
16254         * docs/libs/gstreamer-libs.types:
16255         * libs/gst/controller/Makefile.am:
16256         * libs/gst/controller/gst-controller.c:
16257         * libs/gst/controller/gst-controller.h:
16258         * libs/gst/controller/gst-helper.c:
16259         * libs/gst/controller/gst-interpolation.c:
16260         * libs/gst/controller/gstcontroller.c:
16261         * libs/gst/controller/gsthelper.c:
16262         * libs/gst/controller/gstinterpolation.c:
16263         * tools/gst-inspect.c: (print_plugin_info):
16264           we don't use dashes in header names
16265
16266 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16267
16268         * check/Makefile.am:
16269         * check/gst/.cvsignore:
16270         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
16271         (gst_pipeline_suite), (main):
16272           adding a test for pipelines and state changes
16273         * gst/gstutils.c: (get_state_func):
16274           add some debugging
16275         * gstreamer.spec.in:
16276           fix up spec file
16277
16278 2005-09-08  Michael Smith <msmith@fluendo.com>
16279
16280         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
16281         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
16282         (gst_file_src_is_seekable), (gst_file_src_get_size),
16283         (gst_file_src_start):
16284         * gst/elements/gstfilesrc.h:
16285           Various fixes for unseekable, unmmapable, and non-normal files, so
16286           that fallback to read() rather than mmap() works.
16287         * gst/gstevent.c: (gst_event_new_newsegment):
16288           Allow newsegment events with segment_start == segment_end, as will
16289           correctly happen if you use filesrc on a zero-size file, for
16290           example.
16291
16292 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
16293
16294         * gst/gstplugin.c: (gst_plugin_load_file):
16295           Call g_module_close when we don't load the module
16296
16297         * gst/registries/gstlibxmlregistry.c:
16298         (gst_xml_registry_get_property):
16299           Port leak fix from 0.8
16300
16301 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
16302
16303         * docs/gst/gstreamer-docs.sgml:
16304         * docs/gst/tmpl/.cvsignore:
16305         * docs/gst/tmpl/gsttrace.sgml:
16306         * docs/gst/tmpl/gsttrashstack.sgml:
16307         * gst/Makefile.am:
16308         * gst/gst.h:
16309         * gst/gstelement.h:
16310         * gst/gstevent.h:
16311         * gst/gstmessage.c:
16312         * gst/gstmessage.h:
16313         * gst/gsttag.c:
16314         * gst/gsttag.h:
16315         * gst/gsttaginterface.c:
16316         * gst/gsttaginterface.h:
16317         * gst/gsttaglist.c:
16318         * gst/gsttaglist.h:
16319         * gst/gsttagsetter.c:
16320         * gst/gsttagsetter.h:
16321         * gst/gsttrace.c:
16322         * gst/gsttrace.h:
16323         * gst/gsttrashstack.c:
16324           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
16325           inlined docs for gsttrace, gsttrashstack
16326
16327 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
16328
16329         * gst/Makefile.am:
16330         * gst/elements/gstbufferstore.h:
16331         * gst/elements/gsttypefindelement.c:
16332         * gst/elements/gsttypefindelement.h:
16333         * gst/gst.h:
16334         * gst/gsttypefind.c:
16335         * gst/gsttypefind.h:
16336         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
16337         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
16338         (gst_type_find_factory_dispose),
16339         (gst_type_find_factory_unload_thyself),
16340         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
16341         (gst_type_find_factory_get_caps),
16342         (gst_type_find_factory_get_extensions),
16343         (gst_type_find_factory_call_function):
16344         * gst/gsttypefindfactory.h:
16345         * gst/registries/gstlibxmlregistry.c:
16346         * gst/registries/gstxmlregistry.c:
16347           splitted gsttypefind into gsttypefind, gsttypefindfactory
16348
16349 2005-09-07  Andy Wingo  <wingo@pobox.com>
16350
16351         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
16352         condition whereby the pad's task function is entered before the
16353         pad_mode variable was set.
16354
16355 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
16356
16357         * gst/gstpad.c: (gst_pad_alloc_buffer):
16358           Catch misbehaving pad_alloc functions that don't
16359           set up caps and do it for them.
16360
16361 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
16362
16363         * check/pipelines/simple_launch_lines.c: (run_pipeline):
16364           test for pipe!=NULL
16365         * docs/gst/tmpl/.cvsignore:
16366         * docs/gst/tmpl/gstmemchunk.sgml:
16367         * docs/gst/tmpl/gstparse.sgml:
16368         * docs/gst/tmpl/gsttaglist.sgml:
16369         * docs/gst/tmpl/gsttagsetter.sgml:
16370         * docs/gst/tmpl/gsttypefind.sgml:
16371         * docs/gst/tmpl/gsttypefindfactory.sgml:
16372         * gst/gstmemchunk.c:
16373         * gst/gstparse.c:
16374         * gst/gsttag.c:
16375         * gst/gsttaginterface.c:
16376         * gst/gsttypefind.c:
16377         * gst/gsttypefind.h:
16378           inlined more docs
16379
16380 === release 0.9.2 ===
16381
16382 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
16383
16384         * NEWS:
16385         * RELEASE:
16386         * configure.ac:
16387           releasing 0.9.2, "South"
16388
16389 2005-09-05  Andy Wingo  <wingo@pobox.com>
16390
16391         * gst/registries/gstxmlregistry.h:
16392         * gst/registries/gstxmlregistry.c: Um... resurrect...
16393         
16394         * gst/registries/gstxmlregistry.h:
16395         * gst/registries/gstxmlregistry.c: and update to newer API.
16396         Incidentally they should be a bit faster now that they don't have
16397         to parse the caps.
16398         
16399 2005-09-05  Andy Wingo  <wingo@pobox.com>
16400
16401         * gst/registries/gstxmlregistry.h:
16402         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
16403         replaced by the libxml registry a while back
16404
16405 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
16406
16407         * docs/gst/tmpl/gstplugin.sgml:
16408         * gst/elements/gstelements.c:
16409         * gst/gst.c:
16410         * gst/gstplugin.c: (gst_plugin_register_func),
16411         (gst_plugin_desc_copy), (gst_plugin_desc_free),
16412         (gst_plugin_get_source):
16413         * gst/gstplugin.h:
16414         * gst/registries/gstlibxmlregistry.c: (load_plugin),
16415         (gst_xml_registry_save_plugin):
16416         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
16417         (gst_xml_registry_save_plugin):
16418         * tools/gst-inspect.c: (print_plugin_info):
16419           add a "source" plugin description field, to represent the source
16420           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
16421           will set it to PACKAGE, which is automake's idea of the name of
16422           the source project.
16423
16424 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
16425
16426         * Makefile.am:
16427         * autogen.sh:
16428         * configure.ac:
16429         * docs/Makefile.am:
16430         * docs/faq/Makefile.am:
16431         * docs/gst/tmpl/gstelement.sgml:
16432         * docs/gst/tmpl/gsttypes.sgml:
16433         * docs/htmlinstall.mak:
16434         * docs/manual/Makefile.am:
16435         * docs/pwg/Makefile.am:
16436           reorganize doc build a little
16437           split out docbook and gtk-doc stuff
16438           have two separate --enable's and enable them through autogen
16439           but disable by default in configure (to be similar to other
16440           projects)
16441         * gstreamer.spec.in:
16442           clean up docs install
16443         * po/af.po:
16444         * po/az.po:
16445         * po/ca.po:
16446         * po/cs.po:
16447         * po/de.po:
16448         * po/en_GB.po:
16449         * po/fr.po:
16450         * po/it.po:
16451         * po/nb.po:
16452         * po/nl.po:
16453         * po/ru.po:
16454         * po/sq.po:
16455         * po/sr.po:
16456         * po/sv.po:
16457         * po/tr.po:
16458         * po/uk.po:
16459         * po/vi.po:
16460           translation updates
16461
16462 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
16463
16464         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
16465           Add comment.
16466           
16467         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
16468         (gst_fake_sink_change_state):
16469           Make state change function thread-safe.
16470           
16471         * gst/gstpad.c: (gst_pad_alloc_buffer):
16472           Set offset on generic buffer allocated by fallback.
16473
16474 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
16475
16476         * docs/gst/gstreamer-sections.txt:
16477         * docs/gst/tmpl/gstelement.sgml:
16478         * gst/gstpad.c:
16479         * libs/gst/controller/gst-controller.c:
16480         (gst_controlled_property_set_interpolation_mode),
16481         (gst_controlled_property_new),
16482         (gst_controller_find_controlled_property):
16483          run the wingo-magic script against the docs
16484
16485 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
16486
16487         * docs/gst/gstreamer-docs.sgml:
16488         * docs/gst/gstreamer-sections.txt:
16489         * docs/gst/tmpl/.cvsignore:
16490         * docs/gst/tmpl/gstelementdetails.sgml:
16491         * docs/gst/tmpl/gstelementfactory.sgml:
16492         * gst/gst.c:
16493         * gst/gstbus.c:
16494         * gst/gstelementfactory.c:
16495         * gst/gstelementfactory.h:
16496           merged elementdetails docs into elementfactory docs
16497           inlined both
16498
16499 2005-09-02  Andy Wingo  <wingo@pobox.com>
16500
16501         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
16502         consider this enum an enum and not a flags.
16503
16504 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
16505
16506         * docs/gst/gstreamer-docs.sgml:
16507         * docs/gst/tmpl/.cvsignore:
16508         * docs/gst/tmpl/gstghostpad.sgml:
16509         * docs/gst/tmpl/gstiterator.sgml:
16510         * docs/gst/tmpl/gstmacros.sgml:
16511         * docs/gst/tmpl/gstrealpad.sgml:
16512         * docs/gst/tmpl/gstregistry.sgml:
16513         * docs/gst/tmpl/gstregistrypool.sgml:
16514         * docs/gst/tmpl/gststructure.sgml:
16515         * docs/gst/tmpl/gstsystemclock.sgml:
16516         * docs/gst/tmpl/gsttrace.sgml:
16517         * gst/gstghostpad.c:
16518         * gst/gstmacros.h:
16519         * gst/gstmemchunk.c:
16520         * gst/gstmemchunk.h:
16521         * gst/gstqueue.c:
16522         * gst/gstregistry.c:
16523         * gst/gstregistrypool.c:
16524         * gst/gststructure.c:
16525         * gst/gstsystemclock.c:
16526           more docs inlined
16527
16528 2005-09-02  Andy Wingo  <wingo@pobox.com>
16529
16530         * gst/gstelement.h (GstState): Renamed from GstElementState,
16531         changed to be a normal enum instead of flags.
16532         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
16533         munged to be GST_STATE_CHANGE_*.
16534         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
16535         work with the new state representation.
16536         (GstStateChange): New enumeration of possible state transitions.
16537         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
16538         (GstElementClass::change_state): Pass the GstStateChange along as
16539         an argument. Helps language bindings, so they don't have to use
16540         tricky lock-needing macros like GST_STATE_CHANGE ().
16541
16542         * scripts/update-states (file): New script. Run it on a file to
16543         update it for state naming and API changes. Updates files in
16544         place.
16545
16546         * All files updated for the new API.
16547
16548 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16549
16550         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
16551         * gst/gstutils.c: (gst_util_set_value_from_string),
16552         (gst_util_set_object_arg):
16553           fix a bunch of unchecked return values
16554         * tools/gst-complete.c: (main):
16555         * gstreamer.spec.in:
16556           clean up a little
16557
16558 2005-09-01  Wim Taymans  <wim@fluendo.com>
16559
16560         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16561         (gst_base_sink_event), (gst_base_sink_do_sync),
16562         (gst_base_sink_handle_event):
16563         * gst/base/gstbasesink.h:
16564         Handle newsegments more correctly.
16565
16566         * gst/gstbus.c:
16567         Fix docs.
16568
16569         * gst/gstevent.c: (gst_event_new_newsegment):
16570         A newsegment cannot have a start_time of -1
16571
16572 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
16573
16574         * win32/gstenumtypes.c:
16575         * win32/gstenumtypes.h:
16576           Update
16577
16578 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
16579
16580         * libs/gst/controller/gst-controller.c:
16581         (gst_controlled_property_set_interpolation_mode),
16582         (gst_controlled_property_new):
16583          fixed boolean again
16584
16585 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
16586
16587         * docs/faq/gst-uninstalled:
16588           add -good
16589         * gst/gstevent.c:
16590         * gst/gstevent.h:
16591           remove wrong docs
16592         * gst/gstutils.c: (gst_element_link_filtered):
16593         * gst/gstutils.h:
16594           add gst_element_link_filtered
16595
16596 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
16597
16598         * docs/gst/gstreamer-docs.sgml:
16599         * docs/gst/gstreamer-sections.txt:
16600         * docs/gst/tmpl/.cvsignore:
16601         * docs/gst/tmpl/gsterror.sgml:
16602         * docs/gst/tmpl/gstfilter.sgml:
16603         * docs/gst/tmpl/gsturihandler.sgml:
16604         * docs/gst/tmpl/gsturitype.sgml:
16605         * docs/gst/tmpl/gstutils.sgml:
16606         * docs/gst/tmpl/gstxml.sgml:
16607         * gst/gsterror.c:
16608         * gst/gsterror.h:
16609         * gst/gstfilter.c:
16610         * gst/gsturi.c:
16611         * gst/gsturitype.c:
16612         * gst/gstutils.c:
16613         * gst/gstxml.c:
16614           inlined more docs, fixed double id-ref
16615
16616 2005-08-31  Wim Taymans  <wim@fluendo.com>
16617
16618         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
16619         (gst_base_transform_handle_buffer):
16620         Passthrough elements don't need the caps as they don't care.
16621
16622 2005-08-31  Wim Taymans  <wim@fluendo.com>
16623
16624         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
16625         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
16626         Don't leak refcounts on buffers.
16627
16628 2005-08-31  Wim Taymans  <wim@fluendo.com>
16629
16630         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
16631         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
16632         (gst_base_transform_chain), (gst_base_transform_change_state):
16633         * gst/base/gstbasetransform.h:
16634         Handle the case where we are not negotiated more gracefully.
16635
16636 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
16637
16638         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
16639         (gst_file_src_map_region):
16640           Set READONLY flag on mmap'ed buffers, otherwise
16641           gst_buffer_make_writable() won't work properly (#314708).
16642
16643 2005-08-31  Wim Taymans  <wim@fluendo.com>
16644
16645         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
16646         passthrough elements can even do inplace on non writable
16647         buffers (as they don't touch them).
16648
16649 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
16650
16651         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
16652         (gst_test_mono_source_set_property),
16653         (gst_test_mono_source_class_init), (GST_START_TEST),
16654         (gst_controller_suite):
16655           more tests (hehe I have the most)
16656         * gst/gstbus.c:
16657           describe popping messages whenusing mulltiple sources
16658         * libs/gst/controller/gst-controller.c:
16659         (gst_controlled_property_set_interpolation_mode),
16660         (gst_controlled_property_new):
16661         * libs/gst/controller/gst-controller.h:
16662         * libs/gst/controller/gst-interpolation.c:
16663           implement boolean properties
16664
16665 2005-08-31  Wim Taymans  <wim@fluendo.com>
16666
16667         * gst/gstminiobject.c: (gst_mini_object_ref):
16668         Cannot assert that the refcount has to be positive
16669         since a disposed object can be resurrected.
16670
16671 2005-08-31  Wim Taymans  <wim@fluendo.com>
16672
16673         * gst/gstpad.c: (gst_pad_init):
16674         Revert change, need to first fix badly behaving 
16675         apps.
16676
16677 2005-08-30  Wim Taymans  <wim@fluendo.com>
16678
16679         * check/elements/fakesrc.c: (setup_fakesrc):
16680         * check/elements/identity.c: (setup_identity):
16681         Activate pads before using them.
16682
16683 2005-08-30  Wim Taymans  <wim@fluendo.com>
16684
16685         * gst/base/gstadapter.c: (gst_adapter_flush):
16686         Flushing out 0 bytes is ok for this function.
16687
16688         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16689         no newsegment gives a warning and sets the start/stop to 
16690         invalid.
16691
16692         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
16693         (gst_base_transform_set_passthrough):
16694         Some debug info.
16695
16696         * gst/gstminiobject.c: (gst_mini_object_ref):
16697         Check refcount here too.
16698
16699         * gst/gstpad.c: (gst_pad_init):
16700         Pads are initially flushing and refusing data.
16701
16702         * gst/gstutils.c: (gst_element_link_pads_filtered):
16703         When adding a capsfilter element make sure it has the
16704         same state as the parent bin.
16705
16706 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
16707
16708         * docs/gst/tmpl/.cvsignore:
16709         * docs/gst/tmpl/gstformat.sgml:
16710         * docs/gst/tmpl/gstversion.sgml:
16711         * gst/gstbus.h:
16712         * gst/gstformat.c:
16713         * gst/gstformat.h:
16714         * gst/gstversion.h.in:
16715           more docs and two more inlined
16716
16717 2005-08-30  Wim Taymans  <wim@fluendo.com>
16718
16719         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
16720         Don't sync to clock.
16721
16722 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
16723
16724         * docs/gst/gstreamer-sections.txt:
16725           ultral33t func10ns deserve to appear in the docs actually
16726         * docs/gst/tmpl/.cvsignore:
16727         * docs/gst/tmpl/gstcompat.sgml:
16728         * docs/gst/tmpl/gstconfig.sgml:
16729         * gst/check/gstcheck.c:
16730         * gst/gstcompat.h:
16731         * gst/gstconfig.h.in:
16732           inlined more docs
16733
16734 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
16735
16736         * docs/gst/tmpl/.cvsignore:
16737         * docs/gst/tmpl/gstquery.sgml:
16738         * docs/gst/tmpl/gstutils.sgml:
16739         * gst/gstquery.c:
16740         * gst/gstquery.h:
16741           inlined and extended docs
16742
16743 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
16744
16745         * check/gst-libs/controller.c: (GST_START_TEST),
16746         (gst_controller_suite):
16747           more tests
16748         * docs/gst/tmpl/gstutils.sgml:
16749         * docs/libs/gstreamer-libs-sections.txt:
16750         * docs/libs/tmpl/gstdataprotocol.sgml:
16751           include path fixes
16752         * examples/controller/audio-example.c: (main):
16753           controller example works now
16754         * gst/gstclock.h:
16755           doc fixes
16756         * tools/gst-inspect.c: (print_element_properties_info):
16757           show param spec flags
16758
16759 2005-08-29  Andy Wingo  <wingo@pobox.com>
16760
16761         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
16762
16763 2005-08-28  Andy Wingo  <wingo@pobox.com>
16764
16765         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
16766         as having two arguments instead of just one. Allows superclasses
16767         to access information on subclasses -- see the terrible for() loop
16768         in gtype.c:g_type_create_instance for the reason why. All callers
16769         changed.
16770
16771 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
16772
16773         * docs/design/part-messages.txt:
16774           update info
16775         * docs/gst/tmpl/.cvsignore:
16776         * docs/gst/tmpl/gstcaps.sgml:
16777         * docs/gst/tmpl/gstclock.sgml:
16778         * gst/gstbus.c:
16779         * gst/gstcaps.c:
16780         * gst/gstcaps.h:
16781         * gst/gstclock.c:
16782         * gst/gstclock.h:
16783         * gst/gstmessage.c:
16784           added descriptions for bus and message
16785           inline caps and clock docs
16786
16787 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
16788
16789         * gst/gstmessage.c:
16790         * gst/gstmessage.h:
16791           doc fixes
16792
16793 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
16794
16795         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
16796           fix div-by-zero
16797
16798 2005-08-26  Andy Wingo  <wingo@pobox.com>
16799
16800         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
16801         element_set_state's return val.
16802         (test_2_elements): Add test that's been disabled for months.
16803
16804         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
16805         can-activate-pull properties.
16806
16807         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
16808         can-activate-pull properties. Implement is_seekable so fakesrc can
16809         operate in pull mode.
16810
16811         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
16812         properties.
16813         (gst_base_sink_activate, gst_base_sink_activate_pull)
16814         (gst_base_sink_activate_push): Make activation mode choosing work.
16815         Cleanups.
16816         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
16817         is right. Make pull mode work. Post an eos before pausing in pull
16818         mode.
16819         (gst_base_sink_change_state): Pay attention to the core's
16820         change_state() return val.
16821         
16822         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
16823         has-getrange properties. Cleanups.
16824         
16825         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
16826         has_getrange and replace with can_activate_pull and
16827         can_activate_push.
16828
16829         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
16830         locking comments. Remove has_loop, has_chain and replace with
16831         can_activate_pull and can_activate_push.
16832
16833 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
16834
16835         * configure.ac:
16836         * examples/Makefile.am:
16837         * examples/metadata/Makefile.am:
16838         * examples/metadata/read-metadata.c: (message_loop),
16839         (have_pad_handler), (make_pipeline), (print_tag), (main):
16840           Add metadata reading example that loops over a list of filenames,
16841           dumping any tags found.
16842
16843         * gst/gstbus.c: (gst_bus_dispose):
16844         * gst/gstelement.c: (gst_element_dispose):
16845           Release a few potentially-held references in dispose.
16846
16847 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
16848
16849         * docs/gst/tmpl/gstminiobject.sgml:
16850           do *not* add tmpl/*.sgml files to CVS!
16851
16852 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
16853
16854         * libs/gst/bytestream/.cvsignore:
16855         * libs/gst/bytestream/Makefile.am:
16856         * libs/gst/bytestream/adapter.c:
16857         * libs/gst/bytestream/adapter.h:
16858         * libs/gst/bytestream/bytestream.c:
16859         * libs/gst/bytestream/bytestream.h:
16860         * libs/gst/bytestream/filepad.c:
16861         * libs/gst/bytestream/filepad.h:
16862           removing obsolete files
16863
16864 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
16865
16866         * docs/gst/gstreamer-docs.sgml:
16867         * docs/libs/gstreamer-libs-docs.sgml:
16868           disabed additional index entries again, as this makes docs-gen just
16869           slow and they aren't useful yet
16870         * docs/libs/gstreamer-libs-sections.txt:
16871           little -section.txt cleanup for libs
16872
16873 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
16874
16875         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16876         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
16877           fix up some debugging
16878         (gst_base_transform_get_unit_size),
16879         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
16880         (gst_base_transform_handle_buffer):
16881         * gst/base/gstbasetransform.h:
16882           handle and store timed NEWSEGMENT events so that subclasses that
16883           calculate time by counting samples have a segment_start time they
16884           need to add to their timestamps - see audioresample
16885
16886 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
16887
16888         * gst/gstbin.h:
16889           removed ';' from the end of macro defs
16890         * docs/gst/gstreamer-docs.sgml:
16891         * docs/gst/gstreamer-sections.txt:
16892         * docs/gst/tmpl/.cvsignore:
16893         * gst/gstbus.h:
16894         * gst/gstelement.c: (gst_element_class_init),
16895         (gst_element_set_state), (activate_pads),
16896         (gst_element_save_thyself):
16897         * gst/gstevent.c: (gst_event_new_newsegment):
16898         * gst/gstevent.h:
16899         * gst/gstiterator.c:
16900         * gst/gstiterator.h:
16901         * gst/gstpad.c:
16902         * gst/gstprobe.h:
16903         * gst/gstutils.c: (gst_pad_query_convert):
16904         * gst/gstutils.h:
16905           fixed parameter name mismatches between source, header and docs
16906           added some more docs, resolved the last batch of unused elements in
16907           docs (now someone needs to doc them)
16908
16909 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
16910
16911         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
16912         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
16913           don't walk through the plugins backwards.  Where is all this
16914           reversed logic coming from ?
16915
16916 2005-08-25  Wim Taymans  <wim@fluendo.com>
16917
16918         * gst/base/gstbasetransform.c: (gst_base_transform_init),
16919         (gst_base_transform_transform_size),
16920         (gst_base_transform_configure_caps),
16921         (gst_base_transform_get_unit_size),
16922         (gst_base_transform_buffer_alloc),
16923         (gst_base_transform_change_state):
16924         * gst/base/gstbasetransform.h:
16925         Cache caps unit_size.
16926         Make sure we cannot negotiate up and downstream at the
16927         same time.
16928
16929 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
16930
16931         * gst/gst.c: (init_pre), (init_post):
16932           register the installed plugin path after the env var
16933         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
16934         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
16935           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
16936           directories, so the tests can prefer uninstalled over installed
16937
16938 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
16939
16940         * gst/base/gstbasetransform.h:
16941           comment
16942         * gst/gstpad.c:
16943           add to docs
16944
16945 2005-08-25  Wim Taymans  <wim@fluendo.com>
16946
16947         * gst/gstbin.c: (bin_bus_handler):
16948         Be a bit more conservative about the posted message.
16949         
16950         * gst/gstbus.c: (gst_bus_post):
16951         Some cleanups, warn wrong return values.
16952
16953 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
16954
16955         * check/gst/gstbin.c: (GST_START_TEST):
16956         * gst/gstbin.c: (bin_bus_handler):
16957         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
16958         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
16959         (gst_message_new_warning), (gst_message_new_tag),
16960         (gst_message_new_state_changed), (gst_message_new_segment_start),
16961         (gst_message_new_segment_done), (gst_message_new_custom):
16962         * gst/gstmessage.h:
16963         * tools/gst-launch.c: (event_loop):
16964         * tools/gst-md5sum.c: (event_loop):
16965           Revert unpopular change for GST_MESSAGE_SRC to GObject.
16966
16967 2005-08-25  Wim Taymans  <wim@fluendo.com>
16968
16969         * check/generic/states.c: (GST_START_TEST):
16970         Cleanup can be done at the end.
16971
16972         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
16973         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
16974         (gst_task_get_state), (gst_task_start), (gst_task_pause):
16975         Oh boy.. Thanks for finding this, Thomas. 
16976
16977 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
16978
16979         * docs/gst/gstreamer.types:
16980           added missing types
16981
16982 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
16983
16984         * docs/gst/gstreamer-docs.sgml:
16985         * docs/gst/gstreamer-sections.txt:
16986         * docs/gst/tmpl/.cvsignore:
16987         * gst/gstbin.c:
16988         * gst/gstiterator.c:
16989         * gst/gstutils.c:
16990         * gst/registries/gstxmlregistry.h:
16991           added missing classes and symbols (123 more to go)
16992           removed removed symbols from section file
16993           fixed many doc-comments
16994
16995 2005-08-24  Wim Taymans  <wim@fluendo.com>
16996
16997         * check/generic/states.c: (GST_START_TEST):
16998         Make sure all tasks are stopped.
16999
17000         * check/gst/gstbin.c: (GST_START_TEST):
17001         Unref after usage for proper valgrinding.
17002
17003         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
17004         Really wait for the task to stop before destroying the
17005         mutex.
17006
17007         * gst/gstqueue.c: (gst_queue_sink_activate_push),
17008         (gst_queue_src_activate_push):
17009         Small cleanups. Don't stop the task when we did not start
17010         it.
17011
17012         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
17013         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
17014         (gst_task_get_state), (gst_task_start), (gst_task_pause),
17015         (gst_task_join):
17016         * gst/gsttask.h:
17017         Protect the stream lock with the object lock.
17018         Disallow setting the stream lock when running.
17019         Add cleanup_all to wait for the threadpool to finish.
17020         Remove code to autoallocate a mutex if none was provided.
17021         Add _join() to wait for a task to stop.
17022         Protect the thread pool with a global lock.
17023
17024 2005-08-24  Wim Taymans  <wim@fluendo.com>
17025
17026         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17027         (gst_base_sink_get_times), (gst_base_sink_do_sync),
17028         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
17029         * gst/base/gstbasesink.h:
17030         Handle newsegment events correctly.
17031         Drop buffers out of the segment range.
17032
17033 2005-08-22  Andy Wingo  <wingo@pobox.com>
17034
17035         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
17036         macro, implements an interface and gstimplementsinterface for a
17037         new type.
17038
17039 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
17040
17041         * check/Makefile.am:
17042         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
17043           add a test that does a bunch of state changes on elements
17044           needs some fixing for valgrind
17045         * check/states/sinks.c: (gst_object_suite):
17046           whitespace
17047         * gst/gstcaps.h:
17048           add prototype for gst_caps_is_equal_fixed
17049         * gst/gstplugin.c:
17050         * gst/gstregistrypool.c:
17051           doc fixes
17052
17053 2005-08-24  Andy Wingo  <wingo@pobox.com>
17054
17055         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
17056         convert a negative value. Doesn't make much sense. Mostly this is
17057         here to force callers to ensure -1 maps to -1.
17058
17059 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
17060
17061         * docs/pwg/advanced-types.xml:
17062           Well done to Michael for catching my deliberate introduction
17063           of this spelling mistake. 
17064         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
17065         * gst/gstelement.h:
17066           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
17067           unlink pads before removing the element from the bin.
17068
17069 2005-08-24  Andy Wingo  <wingo@pobox.com>
17070
17071         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
17072         the same thing as GST_DEBUG=*:4.
17073         (parse_debug_level, parse_debug_category): New helper parsers.
17074
17075 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
17076
17077         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
17078         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
17079         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
17080         (gst_base_transform_buffer_alloc),
17081         (gst_base_transform_handle_buffer):
17082           use gboolean return values and pointers to size so we can use the
17083           full GST_BUFFER_SIZE range (guint) for buffer sizes
17084           use GstPadDirection for transform_caps
17085         * gst/base/gstbasetransform.h:
17086           rename get_size to get_unit_size since that's what it is
17087         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
17088           use GstPadDirection for transform_caps
17089         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
17090         * gst/gstutils.h:
17091           cleanup and debugging
17092
17093 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
17094
17095         * gst/gstelement.c: (gst_element_class_init),
17096         (gst_element_set_state), (activate_pads),
17097         (gst_element_save_thyself):
17098         * tools/gst-compprep.c: (main):
17099         * tools/gst-inspect.c: (print_element_properties_info):
17100         * tools/gst-xmlinspect.c: (print_element_properties):
17101           Fixed long standing mem-leak
17102
17103 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
17104
17105         * check/gst/gstbin.c: (GST_START_TEST):
17106         * gst/gstbin.c: (bin_bus_handler):
17107         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
17108         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
17109         (gst_message_new_warning), (gst_message_new_tag),
17110         (gst_message_new_state_changed), (gst_message_new_segment_start),
17111         (gst_message_new_segment_done), (gst_message_new_custom):
17112         * gst/gstmessage.h:
17113         * tools/gst-launch.c: (event_loop):
17114         * tools/gst-md5sum.c: (event_loop):
17115           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
17116           that applications can sensibly post custom messages with references
17117           to their own objects.
17118
17119 2005-08-24  Andy Wingo  <wingo@pobox.com>
17120
17121         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
17122         already.
17123
17124 2005-08-24  Wim Taymans  <wim@fluendo.com>
17125
17126         * gst/base/gstbasetransform.c: (gst_base_transform_init),
17127         (gst_base_transform_transform_caps),
17128         (gst_base_transform_transform_size),
17129         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
17130         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
17131         (gst_base_transform_handle_buffer):
17132         * gst/base/gstbasetransform.h:
17133         Many fixes and new features added by Thomas. Can now also do
17134         transforms with variable sizes and a custom fixate_caps function.
17135
17136 2005-08-24  Wim Taymans  <wim@fluendo.com>
17137
17138         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
17139         Some debugging.
17140
17141         * gst/gstclock.h:
17142         Cast to ClockTime before formatting to time.
17143
17144         * gst/gstutils.h:
17145         Cleanups.
17146
17147 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
17148
17149         * check/gst-libs/controller.c: (GST_START_TEST),
17150         (gst_controller_suite):
17151         * docs/gst/tmpl/gstcaps.sgml:
17152         * docs/gst/tmpl/gstghostpad.sgml:
17153         * docs/gst/tmpl/gstquery.sgml:
17154         * docs/gst/tmpl/gstutils.sgml:
17155         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
17156         (gst_object_sink_values), (gst_object_get_value_arrays),
17157         (gst_object_get_value_array):
17158           gracefully handle helper method calls to objects that are not beeing
17159           controlled, added test case for that          
17160
17161 2005-08-23  Wim Taymans  <wim@fluendo.com>
17162
17163         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
17164         (gst_event_new_newsegment), (gst_event_parse_newsegment),
17165         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
17166         (gst_event_parse_qos), (gst_event_new_seek),
17167         (gst_event_parse_seek):
17168         * gst/gstevent.h:
17169         Some more debugging output and doc cleanups.
17170
17171         * gst/gstqueue.c: (gst_queue_handle_sink_event):
17172         Fix possible deadlock.
17173
17174 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
17175
17176         * docs/gst/gstreamer-docs.sgml:
17177         * docs/gst/gstreamer-sections.txt:
17178         * docs/gst/gstreamer.types:
17179         * docs/gst/tmpl/.cvsignore:
17180         * gst/gstbin.h:
17181         * gst/gstbus.c:
17182         * gst/gstelement.c:
17183         * gst/gstevent.h:
17184           added 100 symbols from gstreamer-unused.txt to the right sections
17185           fixed more broken comments
17186           added GstBus to docs
17187
17188 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
17189
17190         * docs/gst/gstreamer-sections.txt:
17191         * docs/gst/tmpl/.cvsignore:
17192         * docs/gst/tmpl/gstbin.sgml:
17193         * docs/gst/tmpl/gstbuffer.sgml:
17194         * gst/base/gstbasesrc.c:
17195         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
17196         * gst/gstbuffer.c:
17197         * gst/gstbuffer.h:
17198         * tools/gst-launch.1.in:
17199           inlined more doc comments, added missing comments and fixed comments
17200           fixed typos
17201
17202 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
17203
17204         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
17205           some debugging
17206         * gst/gstcaps.h:
17207           whitespace fixes
17208         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
17209           more debugging
17210         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
17211         * gst/gststructure.h:
17212           add a fixate function for booleans; add a FIXME that these func
17213           names should probably be gst_structure_fixate_*
17214
17215 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
17216
17217         * docs/gst/gstreamer-docs.sgml:
17218         * docs/gst/gstreamer-sections.txt:
17219         * gst/Makefile.am:
17220         * gst/gstbin.c: (gst_bin_get_type),
17221         (gst_bin_child_proxy_get_child_by_index),
17222         (gst_bin_child_proxy_get_children_count),
17223         (gst_bin_child_proxy_init):
17224         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
17225         (gst_child_proxy_get_child_by_index),
17226         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
17227         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
17228         (gst_child_proxy_get), (gst_child_proxy_set_property),
17229         (gst_child_proxy_set_valist), (gst_child_proxy_set),
17230         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
17231         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
17232         * gst/gstchildproxy.h:
17233         * gst/parse/grammar.y:
17234         * tools/gst-inspect.c: (print_interfaces),
17235         (print_element_properties_info), (print_element_info):
17236           ported gstchildproxy over from 0.8
17237           ported gst-inspect fixes and enhancements over from 0.8
17238
17239 2005-08-22  Wim Taymans  <wim@fluendo.com>
17240
17241         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
17242         (gst_base_transform_handle_buffer):
17243         Also call the transform function if we have ANY caps.
17244
17245         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
17246         Fix debug info.
17247
17248 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
17249
17250         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
17251           Don't pretend to handle seek events if the source is not seekable
17252
17253 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
17254
17255         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17256           Remove extra parameter to debug output
17257
17258         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
17259         (gst_base_src_do_seek), (gst_base_src_activate_push):
17260           Fix seek event handling.
17261
17262         * gst/gstpipeline.c: (gst_pipeline_change_state):
17263         * gst/gstqueue.c: (gst_queue_handle_sink_event),
17264         (gst_queue_src_activate_push):
17265           Don't start the src pad task on FLUSH_STOP if the pad
17266           isn't linked.
17267           Debug changes.
17268
17269 2005-08-22  Wim Taymans  <wim@fluendo.com>
17270
17271         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
17272         Added check for gst_static_caps_get() refcounting.
17273
17274 2005-08-22  Wim Taymans  <wim@fluendo.com>
17275
17276         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
17277         Make _static_caps_get() refcounting sane.
17278         
17279         * gst/gstelement.c: (gst_element_set_state):
17280         Add g_return_val_if_fail() to protect against segfaults.
17281
17282 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
17283
17284         * docs/gst/tmpl/gstevent.sgml:
17285         * gst/gstevent.c:
17286         * gst/gstevent.h:
17287           inlined remaining docs, added missing doc comments
17288
17289 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
17290
17291         * check/gst/gstbin.c: (GST_START_TEST):
17292           since we don't know when preroll is done, use refcount range
17293           check for the sink
17294         * gst/check/gstcheck.h:
17295           add macro for checking refcount range
17296
17297 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
17298
17299         * check/Makefile.am:
17300           clean up environment for when registry gets built versus
17301           when actual tests are run; valgrind seems to not report
17302           leaks if GST_PLUGIN_PATH is set to some specific values
17303         * check/gst/gstbin.c: (GST_START_TEST):
17304           add more refcounting checks; maybe this exposes a
17305           preroll lock bug ?
17306         * common/check.mak:
17307         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17308         * gst/check/gstcheck.h:
17309         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
17310         (gst_bin_change_state):
17311         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
17312           add/fix debugging/whitespace
17313
17314 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
17315
17316         * check/gst/gstevent.c: (event_probe), (test_event),
17317         (GST_START_TEST):
17318          Er, don't call gst_bin_watch_for_state_change you idiot.
17319
17320 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
17321
17322         * check/Makefile.am:
17323           Use CHECK_CFLAGS and CHECK_LIBS
17324         * check/gst/gstevent.c: (event_probe), (test_event),
17325         (GST_START_TEST):
17326           Don't leak events.
17327         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
17328         (gst_base_src_start), (gst_base_src_stop),
17329         (gst_base_src_activate_push), (gst_base_src_activate_pull),
17330         (gst_base_src_change_state):
17331           Sprinkle gst_base_src_stop liberally around error paths to fix
17332           problems reusing a source after failed state changes.
17333         * gst/base/gsttypefindhelper.c: (helper_find_peek),
17334         (helper_find_suggest), (gst_type_find_helper):
17335           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
17336         * gst/gstevent.h:
17337         * docs/gst/tmpl/gstevent.sgml:
17338           Migrate part of the docs from the SGML file. Wait for ensonic to
17339           tell me how I did it wrong ;)
17340         * tools/gst-typefind.c: (main):
17341           Extra robustness to state changes between files.
17342
17343 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
17344
17345         * check/Makefile.am:
17346           don't valgrind the controller test - it's leaking - Stefan, HELP
17347         * gst/check/gstcheck.c: (gst_check_message_error),
17348         (gst_check_chain_func), (gst_check_setup_element),
17349         (gst_check_teardown_element), (gst_check_setup_src_pad),
17350         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
17351         (gst_check_teardown_sink_pad):
17352         * gst/check/gstcheck.h:
17353           add a bunch of methods to set up elements, and src and sink pads
17354         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
17355         * check/elements/identity.c: (setup_identity), (cleanup_identity),
17356         (GST_START_TEST):
17357           use them
17358         * gst/gstmessage.c:
17359         * gst/gsttag.h:
17360           whitespace/doc fixes
17361
17362 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17363
17364         * gst/gstelement.h:
17365           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
17366           be handled by the application and not always printed as well
17367
17368 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17369
17370         * check/Makefile.am:
17371           set GST_TOOLS_DIR
17372         * gst/check/gstcheck.c: (gst_check_message_error):
17373         * gst/check/gstcheck.h:
17374           add a fail_unless_equals_int
17375           add fail_unless for error messages
17376
17377 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17378
17379         * check/Makefile.am:
17380         * check/gst.supp:
17381         * common/Makefile.am:
17382         * common/check.mak:
17383         * common/gst.supp:
17384           factor out some of the common stuff so we can use it
17385
17386 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17387
17388         * check/Makefile.am:
17389         * check/gst/gstiterator.c: (GST_START_TEST):
17390         * check/gst/gstsystemclock.c: (GST_START_TEST),
17391         (gst_systemclock_suite):
17392         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
17393         * gst/gstclock.c:
17394           valgrind more tests
17395
17396 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17397
17398         * check/elements/.cvsignore:
17399         * check/elements/gstfakesrc.c:
17400           rename to name of element
17401         * check/elements/identity.c: (chain_func), (event_func),
17402         (setup_identity), (cleanup_identity), (GST_START_TEST),
17403         (identity_suite), (main):
17404           add a test for identity
17405         * check/Makefile.am:
17406         * pkgconfig/Makefile.am:
17407         * pkgconfig/gstreamer-check.pc.in:
17408         * pkgconfig/gstreamer-check-uninstalled.pc.in:
17409         * gst/check:
17410         * gst/Makefile.am:
17411         * configure.ac:
17412           move the check stuff to a library that gets installed
17413         * check/gst-libs/controller.c: (GST_START_TEST):
17414         * check/gst-libs/gdp.c:
17415         * check/gst/gst.c: (GST_START_TEST):
17416         * check/gst/gstbin.c:
17417         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
17418         * check/gst/gstbus.c:
17419         * check/gst/gstcaps.c: (GST_START_TEST):
17420         * check/gst/gstelement.c:
17421         * check/gst/gstghostpad.c:
17422         * check/gst/gstiterator.c:
17423         * check/gst/gstmessage.c:
17424         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
17425         * check/gst/gstobject.c:
17426         * check/gst/gstpad.c: (GST_START_TEST):
17427         * check/gst/gststructure.c: (GST_START_TEST):
17428         * check/gst/gstsystemclock.c: (GST_START_TEST),
17429         (gst_systemclock_suite):
17430         * check/gst/gsttag.c: (gst_tag_suite):
17431         * check/gst/gstvalue.c:
17432         * check/pipelines/cleanup.c:
17433         * check/pipelines/simple_launch_lines.c:
17434         * check/states/sinks.c:
17435           change include statement
17436
17437         * docs/gst/gstreamer-sections.txt:
17438         * docs/gst/tmpl/gstpad.sgml:
17439           document more pad stuff
17440         * gst/gstminiobject.c: (gst_mini_object_ref),
17441         (gst_mini_object_unref):
17442           debug refcounting
17443
17444 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
17445
17446         * docs/gst/tmpl/gst.sgml:
17447         * gst/gst.c:
17448           eliminate another tmpl file, fix spelling in the long-description
17449
17450 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
17451
17452         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
17453         (test_event), (timediff), (gstevents_suite):
17454           Should fix build on 64-bit arch's
17455
17456 2005-08-18  Andy Wingo  <wingo@pobox.com>
17457
17458         Make sure that when a pipeline goes to PLAYING, that data has
17459         actually hit the sink.
17460
17461         * check/states/sinks.c (test_sink): A sink that doesn't get any
17462         data shouldn't return SUCCESS for going to either PLAYING or
17463         PAUSED. Test also the return values on the way back down.
17464
17465         * gst/gstelement.c (gst_element_set_state): When changing the
17466         state of an element currently changing state asynchronously, go to
17467         lost-state after commiting the pending state. Makes future calls
17468         to get_state continue to return ASYNC.
17469
17470         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
17471         ASYNC when going to PLAYING if we still don't have preroll, as can
17472         happen with live sources.
17473
17474 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
17475
17476         * docs/pwg/advanced-types.xml:
17477           Hack long paragraph into 2 chunks as a workaround for buggy
17478           jadetex version in sid and breezy that loops infinitely and
17479           eats all RAM.
17480
17481 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
17482
17483         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
17484         (test_event), (timediff), (gstevents_suite):
17485           Provide more error margin in clock measurements to allow for 
17486           g_get_current_time inaccuracies.
17487
17488 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
17489
17490         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
17491         (test_event), (timediff), (gstevents_suite):
17492            Fix error message output so I might be able to tell why the
17493            test works here but fails on the build farm.
17494
17495 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
17496
17497         * check/Makefile.am:
17498         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
17499         (test_event), (timediff), (gstevents_suite), (main):
17500           I wrote a test!
17501
17502         * docs/design/part-seeking.txt:
17503           Spelling correction
17504
17505         * docs/gst/tmpl/gstevent.sgml:
17506         * docs/gst/tmpl/gstfakesrc.sgml:
17507           Docs updates.
17508
17509         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17510           Treat a buffer-without-newsegment the same as a receiving 
17511           a newsegment not in time format, and disable syncing to the clock
17512           with a warning.
17513
17514         * gst/gstbus.c: (gst_bus_set_sync_handler):
17515           Assert if anyone tries to replace the existing sync_handler for bus, 
17516           as only the owner should be setting it.
17517
17518         * gst/gstevent.h:
17519           Have a fixed set of custom event enums with events identified by
17520           their structure name (as in 0.8), rather than a free-for-all
17521           allowing collisions between enum values from different plugins.
17522
17523         * gst/gstpad.c: (gst_pad_class_init):
17524           Docs change.
17525           
17526         * gst/gstqueue.c: (gst_queue_handle_sink_event):
17527           Handle out-of-band downstream events from the sending thread.
17528
17529 2005-08-17  Andy Wingo  <wingo@pobox.com>
17530
17531         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
17532         play-timeout==0 to mean no timeout at all. In that case, don't
17533         bother with a get_state or a warning, just return directly, even
17534         if it's ASYNC.
17535
17536         * gst/base/gstbasetransform.c: Debug changes.
17537
17538         * gst/gstutils.h:
17539         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
17540         ensure bins post state change messages. A bit of a hack but I can't
17541         think of a way to avoid it.
17542
17543         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
17544
17545 2005-08-16  Andy Wingo  <wingo@pobox.com>
17546
17547         * gst/base/gstadapter.h:
17548         * gst/base/gstadapter.c (gst_adapter_take): New function, like
17549         peek() but you own the data. Not terribly efficient atm.
17550
17551 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17552
17553         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
17554         (gst_element_found_tags):
17555         * gst/gstutils.h:
17556           Add two utility functions for tag handling.
17557
17558 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17559
17560         * docs/manual/advanced-dataaccess.xml:
17561         * docs/manual/basics-helloworld.xml:
17562           Fix docs to use _bin_add() before _link(), which fixes the examples
17563           with recent core versions (reported by Madhan Raj M
17564           <raj_madan@rediffmail.com>, #313199).
17565
17566 2005-08-16  Wim Taymans  <wim@fluendo.com>
17567
17568         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
17569         Added subtract checks.
17570
17571         * docs/design/part-events.txt:
17572         Some more docs about newsegment
17573
17574         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
17575         Fix FIXME
17576
17577         * gst/gstcaps.c: (gst_caps_to_string):
17578         Add comments, cleanups.
17579         
17580         * gst/gstelement.c: (gst_element_save_thyself):
17581         cleanups
17582         
17583         * gst/gstvalue.c: (gst_value_collect_int_range),
17584         (gst_string_unwrap), (gst_value_union_int_int_range),
17585         (gst_value_union_int_range_int_range),
17586         (gst_value_intersect_int_int_range),
17587         (gst_value_intersect_int_range_int_range),
17588         (gst_value_intersect_double_double_range),
17589         (gst_value_intersect_double_range_double_range),
17590         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
17591         (gst_value_subtract_int_range_int),
17592         (gst_value_subtract_double_range_double),
17593         (gst_value_subtract_double_range_double_range),
17594         (gst_value_subtract_from_list), (gst_value_subtract_list),
17595         (gst_value_can_compare), (gst_value_compare_fraction):
17596         Cleanups, add comments, remove unneeded asserts.
17597
17598 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
17599
17600         * tools/gst-launch.c: (event_loop):
17601           don't convert NULL structures to strings
17602
17603 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
17604
17605         * docs/gst/gstreamer-sections.txt:
17606           made some defines private
17607         * docs/gst/tmpl/gstconfig.sgml:
17608         * docs/gst/tmpl/gstqueue.sgml:
17609         * docs/gst/tmpl/gsttaglist.sgml:
17610         * docs/gst/tmpl/gsttypes.sgml:
17611         * docs/gst/tmpl/gstutils.sgml:
17612         * docs/pwg/appendix-porting.xml:
17613         * gst/base/gstbasesink.h:
17614         * gst/base/gstbasesrc.c:
17615         * gst/base/gstbasesrc.h:
17616         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
17617         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
17618         * gst/gstelement.c: (gst_element_class_init):
17619         * gst/gstpad.c: (gst_pad_class_init):
17620         * gst/gstqueue.c: (gst_queue_class_init):
17621         * gst/gstxml.c: (gst_xml_class_init):
17622           documented all undocumented signal inline
17623         * libs/gst/controller/gst-controller.h:
17624           added padding
17625
17626 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17627
17628         * docs/pwg/appendix-porting.xml:
17629           Document _set_link_function -> _set_setcaps_function.
17630
17631 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
17632
17633         * check/Makefile.am:
17634           add a .check target for running the check
17635         * check/gst-libs/controller.c: (GST_START_TEST):
17636           cosmetic fixups
17637         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
17638           complete checks for gstbuffer; would be nice if I could get the
17639           gcov stuff to work so I can see if I actually completed gstbuffer.c
17640         * check/gstcheck.h:
17641           add ASSERT_BUFFER_REFCOUNT
17642
17643 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
17644
17645         * docs/gst/gstreamer-sections.txt:
17646         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
17647         * gst/gsttag.h:
17648           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
17649           spew out a warning if a tag that is already registered
17650           is re-registered, unless it is re-registered with a 
17651           different type (#308438).
17652
17653 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
17654
17655         * docs/pwg/appendix-porting.xml:
17656         * docs/pwg/building-state.xml:
17657           Add some paragraphs about state changes in 0.9 to the PWG
17658           and the porting guide, in particular about the new meaning
17659           of GST_STATE_PAUSED and how to write state change functions
17660           with concurrent access by multiple threads in mind.
17661
17662 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
17663
17664         * docs/gst/gstreamer-docs.sgml:
17665         * docs/libs/gstreamer-libs-docs.sgml:
17666           added deprecation and since indexes
17667         * libs/gst/controller/gst-controller.c:
17668         * libs/gst/controller/gst-helper.c:
17669           added since tags
17670
17671
17672 2005-08-11  Wim Taymans  <wim@fluendo.com>
17673
17674         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
17675         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
17676         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
17677         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
17678         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
17679         (gst_ghost_pad_set_target):
17680         Actually implement (re)setting the target on a ghostpad
17681         as described in the docs.
17682
17683 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
17684
17685         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
17686           Check whether GST_DEBUG_NO_COLOR environment variable is
17687           set and disable coloured debug output if that is the case.
17688
17689 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
17690
17691         * gst/base/gsttypefindhelper.c: (helper_find_peek),
17692         (gst_type_find_helper):
17693           The memory returned by gst_type_find_peek() needs to
17694           stay valid until the end of a typefind function, and
17695           typefind functions may keep results from different 
17696           offsets around, so we can't just unref the buffer from
17697           the previous _peek(), but have to save all buffers 
17698           returned by _peek() until typefinding is done and only
17699           free them then.
17700
17701 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
17702
17703         * docs/gst/gstreamer-sections.txt:
17704         * gst/gstutils.h:
17705           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
17706
17707 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17708
17709         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
17710           Fix a pretty good memleak.
17711
17712 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
17713
17714         * gst/gstiterator.h:
17715           Fix wrong include and 'make distcheck'.
17716
17717 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17718
17719         * gst/gstbin.c: (bin_bus_handler):
17720           Use gst_element_post_message() instead.
17721
17722 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
17723
17724         * gst/base/gstadapter.h:
17725         * gst/base/gstbasesink.h:
17726         * gst/base/gstbasesrc.h:
17727         * gst/base/gstbasetransform.h:
17728         * gst/base/gstcollectpads.h:
17729         * gst/base/gstpushsrc.h:
17730         * gst/gstiterator.h:
17731           Add padding to our base elements' class and instance structs and
17732           to GstIterator (you will need to rebuild all plugins and apps!)
17733
17734 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17735
17736         * gst/gstbin.c: (bin_bus_handler):
17737           Make default message forwarding from child->bus to bin->bus
17738           threadsafe and make it not emit warnings if the parent has no bus.
17739
17740 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17741
17742         * gst/gstelement.c: (activate_pads):
17743           On paused->ready, set pad->caps to NULL, as is the documented
17744           behaviour in this state change. Fixes playback of series of
17745           media files when visualization is enabled in Totem.
17746
17747 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17748
17749         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
17750           Allow NULL as filter-caps (which means "any").
17751
17752 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
17753
17754         * docs/libs/gstreamer-libs-sections.txt:
17755         * libs/gst/controller/gst-controller.c:
17756         * libs/gst/controller/gst-controller.h:
17757         * libs/gst/controller/gst-helper.c:
17758           adding more entries to the docs and fix small doc-bugs
17759
17760 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
17761
17762         * docs/gst/gstreamer-docs.sgml:
17763         * docs/gst/gstreamer-sections.txt:
17764         * docs/gst/gstreamer.types:
17765         * docs/gst/tmpl/gstbasesink.sgml:
17766         * docs/gst/tmpl/gstbasesrc.sgml:
17767         * docs/gst/tmpl/gstbasetransform.sgml:
17768         * docs/gst/tmpl/gstfakesrc.sgml:
17769         * gst/base/gstcollectpads.c:
17770         * gst/base/gstcollectpads.h:
17771         * libs/gst/controller/gst-controller.c:
17772         * libs/gst/controller/gst-controller.h:
17773         * libs/gst/controller/gst-helper.c:
17774         * libs/gst/controller/gst-interpolation.c:
17775         * libs/gst/controller/lib.c:
17776           added long/short desc for controller docs
17777           added collectpads base class docs
17778           added correct includes to base-class docs
17779
17780 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
17781
17782         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
17783         (gst_test_mono_source_set_property),
17784         (gst_test_mono_source_class_init), (GST_START_TEST),
17785         (gst_controller_suite):
17786         * docs/gst/gstreamer-docs.sgml:
17787         * docs/gst/gstreamer-sections.txt:
17788         * docs/gst/gstreamer.types:
17789         * docs/libs/gstreamer-libs-docs.sgml:
17790         * docs/libs/gstreamer-libs-sections.txt:
17791         * gst/base/gstadapter.c:
17792         * libs/gst/controller/gst-controller.c:
17793         (gst_controlled_property_new), (gst_controlled_property_free),
17794         (gst_controller_new_valist),
17795         (gst_controller_remove_properties_valist),
17796         (gst_controller_sink_values), (_gst_controller_finalize):
17797         * libs/gst/controller/gst-controller.h:
17798         * libs/gst/controller/gst-helper.c:
17799         (gst_object_control_properties), (gst_object_uncontrol_properties),
17800         (gst_object_get_controller), (gst_object_set_controller),
17801         (gst_object_sink_values), (gst_object_get_value_arrays),
17802         (gst_object_get_value_array):
17803           more tests (and fixes) for the controller
17804           more docs for the controller
17805           integrated companies docs for the adapter 
17806
17807 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
17808
17809         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
17810         (GST_START_TEST), (fakesrc_suite):
17811           add tests for sizetype
17812
17813 2005-08-04  Andy Wingo  <wingo@pobox.com>
17814
17815         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
17816         fixes buffer_alloc proxying among other things.
17817
17818         * gst/base/gstbasetransform.c:
17819         * gst/base/gstbasetransform.h:
17820         Revert patch to gstbasetransform from 7-28 removing
17821         delay_configure.
17822
17823         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
17824         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
17825         Semantics changed, should return not the size of the output buffer
17826         but the byte size of a buffer with a given caps.
17827
17828         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
17829         debug object.
17830         (gst_base_transform_configure_caps): Don't set out_size here: (in,
17831         out) are not the pad caps until setcaps finishes.
17832         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
17833         not-in-place case as well. Deal with changing from in-place to
17834         not-in-place within calling pad_alloc_buffer. Still a bit
17835         concerned about the overhead here...
17836
17837 2005-08-03  Andy Wingo  <wingo@pobox.com>
17838
17839         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
17840         fixating is an error.
17841
17842 2005-08-04  Edward Hervey  <edward@fluendo.com>
17843
17844         * gst/base/gstadapter.h: 
17845         Added gst_adapter_get_type() to the header
17846
17847 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
17848
17849         * check/Makefile.am:
17850         * check/gst-libs/controller.c:
17851         * libs/gst/controller/gst-controller.c:
17852         (gst_controller_new_valist):
17853           added check test suite for the controller
17854         * gst/base/gstpushsrc.c:
17855           fixed a doc typo
17856
17857 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
17858
17859         * docs/gst/Makefile.am:
17860         * docs/gst/gstreamer-docs.sgml:
17861         * docs/gst/gstreamer-sections.txt:
17862         * docs/gst/gstreamer.types:
17863         * docs/gst/tmpl/gstfakesrc.sgml:
17864         * gst/base/README:
17865         * gst/base/gstbasesink.c:
17866         * gst/base/gstbasesink.h:
17867         * gst/base/gstbasesrc.c:
17868         * gst/base/gstbasesrc.h:
17869         * gst/base/gstbasetransform.c:
17870         * gst/base/gstpushsrc.c:
17871         * gst/base/gstpushsrc.h:
17872           add short/long description docs to base classes
17873           add pushsrc to the docs
17874           remove consolidated doc fragments
17875
17876 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
17877
17878         * configure.ac:
17879         * docs/libs/Makefile.am:
17880         * docs/libs/gstreamer-libs-docs.sgml:
17881         * docs/libs/gstreamer-libs-sections.txt:
17882         * docs/libs/gstreamer-libs.types:
17883         * examples/Makefile.am:
17884         * examples/controller/.cvsignore:
17885         * examples/controller/Makefile.am:
17886         * examples/controller/audio-example.c: (main):
17887         * libs/gst/Makefile.am:
17888         * libs/gst/controller/.cvsignore:
17889         * libs/gst/controller/Makefile.am:
17890         * libs/gst/controller/gst-controller.c:
17891         (on_object_controlled_property_changed), (gst_timed_value_compare),
17892         (gst_timed_value_find),
17893         (gst_controlled_property_set_interpolation_mode),
17894         (gst_controlled_property_new), (gst_controlled_property_free),
17895         (gst_controller_find_controlled_property),
17896         (gst_controller_new_valist), (gst_controller_new),
17897         (gst_controller_remove_properties_valist),
17898         (gst_controller_remove_properties), (gst_controller_set),
17899         (gst_controller_set_from_list), (gst_controller_unset),
17900         (gst_controller_get), (gst_controller_get_all),
17901         (gst_controller_sink_values), (gst_controller_get_value_arrays),
17902         (gst_controller_get_value_array),
17903         (gst_controller_set_interpolation_mode),
17904         (_gst_controller_finalize), (_gst_controller_init),
17905         (_gst_controller_class_init), (gst_controller_get_type):
17906         * libs/gst/controller/gst-controller.h:
17907         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
17908         (g_object_uncontrol_properties), (g_object_get_controller),
17909         (g_object_set_controller), (g_object_sink_values),
17910         (g_object_get_value_arrays), (g_object_get_value_array):
17911         * libs/gst/controller/gst-interpolation.c:
17912         (gst_controlled_property_find_timed_value_node),
17913         (interpolate_none_get), (interpolate_trigger_get),
17914         (interpolate_trigger_get_value_array):
17915         * libs/gst/controller/lib.c: (gst_controller_init):
17916         * pkgconfig/Makefile.am:
17917         * pkgconfig/gstreamer-control-uninstalled.pc.in:
17918         * pkgconfig/gstreamer-control.pc.in:
17919         * testsuite/Makefile.am:
17920         * testsuite/controller/.cvsignore:
17921         * testsuite/controller/Makefile.am:
17922         * testsuite/controller/interpolator.c: (main):
17923           added controller code
17924           removed dparam pc files
17925
17926 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
17927         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
17928         (gst_collectpads_stop):
17929           Broadcast the condition when shutting down, to make sure we wake all
17930           threads up. Shut down pads on finalize, for safety.
17931
17932 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
17933         * gst/base/gstbasetransform.c: (gst_base_transform_init),
17934         (gst_base_transform_handle_buffer),
17935         (gst_base_transform_change_state):
17936           Handle PAUSED->READY->PAUSED transition after negotiation
17937           occurred already.
17938         * gst/gstmessage.c: (gst_message_init):
17939           Extra piece of debug for new messages.
17940
17941 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
17942
17943         * configure.ac:
17944         * docs/gst/tmpl/gstbasesrc.sgml:
17945         * docs/gst/tmpl/gstelement.sgml:
17946         * docs/gst/tmpl/gstevent.sgml:
17947         * docs/gst/tmpl/gstfakesrc.sgml:
17948         * docs/gst/tmpl/gstformat.sgml:
17949         * docs/gst/tmpl/gstghostpad.sgml:
17950         * docs/gst/tmpl/gstpad.sgml:
17951         * docs/gst/tmpl/gstquery.sgml:
17952         * docs/gst/tmpl/gststructure.sgml:
17953         * docs/gst/tmpl/gsttaglist.sgml:
17954         * docs/gst/tmpl/gstvalue.sgml:
17955         * docs/libs/gstreamer-libs-docs.sgml:
17956         * docs/libs/gstreamer-libs-sections.txt:
17957         * docs/libs/gstreamer-libs.types:
17958         * libs/gst/Makefile.am:
17959         * libs/gst/control/.cvsignore:
17960         * libs/gst/control/Makefile.am:
17961         * libs/gst/control/control.c:
17962         * libs/gst/control/control.h:
17963         * libs/gst/control/dparam.c:
17964         * libs/gst/control/dparam.h:
17965         * libs/gst/control/dparam_smooth.c:
17966         * libs/gst/control/dparam_smooth.h:
17967         * libs/gst/control/dparamcommon.h:
17968         * libs/gst/control/dparammanager.c:
17969         * libs/gst/control/dparammanager.h:
17970         * libs/gst/control/dplinearinterp.c:
17971         * libs/gst/control/dplinearinterp.h:
17972         * libs/gst/control/unitconvert.c:
17973         * libs/gst/control/unitconvert.h:
17974         * testsuite/Makefile.am:
17975         * testsuite/dynparams/.cvsignore:
17976         * testsuite/dynparams/Makefile.am:
17977         * testsuite/dynparams/dparamstest.c:
17978         * tools/Makefile.am:
17979         * tools/gst-inspect.c: (print_element_info), (main):
17980         * tools/gst-xmlinspect.c: (print_element_info), (main):
17981           deactivate and remove dparams (libgstcontrol)
17982
17983 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
17984
17985         * gst/elements/gsttypefindelement.c:
17986         (gst_type_find_element_have_type), (gst_type_find_element_init),
17987         (stop_typefinding), (gst_type_find_element_handle_event),
17988         (gst_type_find_element_chain), (gst_type_find_element_getrange):
17989         * gst/elements/gsttypefindelement.h:
17990           Set caps on all outgoing buffers, not just the first one.
17991
17992 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
17993
17994         * gst/elements/gsttypefindelement.c:
17995         (gst_type_find_element_have_type),
17996         (gst_type_find_element_check_set_buffer_caps),
17997         (gst_type_find_element_init), (stop_typefinding),
17998         (gst_type_find_element_handle_event),
17999         (gst_type_find_element_chain), (gst_type_find_element_getrange):
18000         * gst/elements/gsttypefindelement.h:
18001           Set caps on first outgoing buffer when we've found the type.
18002
18003 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
18004
18005         * docs/gst/gstreamer-docs.sgml:
18006         * docs/gst/gstreamer-sections.txt:
18007         * docs/gst/tmpl/gstscheduler.sgml:
18008         * docs/gst/tmpl/gstschedulerfactory.sgml:
18009           Remove some old cruft from docs.
18010
18011 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
18012
18013         * gst/gstpad.h:
18014           Fix inline docs for GstPadLinkReturn.
18015           
18016         * gst/gststructure.c: (gst_structure_has_name):
18017         * gst/gststructure.h:
18018         * docs/gst/gstreamer-sections.txt:
18019           New API: gst_structure_has_name().
18020
18021 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
18022
18023         * configure.ac:
18024           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
18025           and _LARGEFILE_SOURCE in config.h as required. Do not 
18026           export those flags in our .pc files any longer (#142209).
18027
18028           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
18029
18030         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
18031         (gst_file_sink_do_seek), (gst_file_sink_event),
18032         (gst_file_sink_get_current_offset), (gst_file_sink_render):
18033           Redo seek/tell calls with large file support in mind; add some
18034           debugging messages; add log message that tells us when large
18035           file support is unavailable or not enabled for some reason.
18036
18037         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
18038           Add log message that tells us when large file support 
18039           is unavailable or not enabled for some reason.
18040
18041 2005-07-29  Wim Taymans  <wim@fluendo.com>
18042
18043         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
18044         Added test for removing an element with ghostpad from a bin.
18045         Fixed test as current implementation does the right thing.
18046
18047         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
18048         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
18049         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
18050         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
18051         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
18052         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
18053         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
18054         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
18055         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
18056         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
18057         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
18058         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
18059         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
18060         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
18061         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
18062         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
18063         * gst/gstghostpad.h:
18064         Clean up ghostpads, remove properties for internal stuff.
18065         Make threadsafe.
18066         Fix refcounting.
18067         Prepare for switching targets, not all use cases work yet.
18068
18069 2005-07-29  Wim Taymans  <wim@fluendo.com>
18070
18071         * docs/design/part-gstghostpad.txt:
18072         Small update.
18073
18074         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
18075         (gst_bin_remove_func):
18076         Unlinking pads while holding the bin LOCK is not a good
18077         idea.
18078
18079         * gst/gstpad.c: (gst_pad_class_init),
18080         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
18081         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
18082         No prob setting template after creating the pad.
18083
18084 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
18085
18086         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
18087         (gst_bus_peek), (gst_bus_source_dispatch),
18088         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
18089         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
18090           gst_bus_poll may be called from other threads. Handle
18091           this nicely by not making poll_data disappear off the
18092           stack once gst_bus_poll returns.
18093           gst_bus_peek now increments the refcount on the returned
18094           message.
18095
18096 2005-07-29  Wim Taymans  <wim@fluendo.com>
18097
18098         * docs/design/part-gstghostpad.txt:
18099         Overview of current GhostPad datastructures and use
18100         cases for changing the target.
18101
18102 2005-07-28  Wim Taymans  <wim@fluendo.com>
18103
18104         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
18105         Added checks for hierarchy consistency whan adding linked
18106         elements to bins.
18107
18108         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
18109         Added check to test element scheduling without bin/pipeline.
18110
18111         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
18112         First add elements to bin, then link.
18113         
18114         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
18115         (gst_bin_remove_func):
18116         Unlink pads from elements added/removed from bin to maintain
18117         hierarchy consistency.
18118
18119 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18120
18121         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
18122         (gst_base_transform_handle_buffer):
18123         * gst/base/gstbasetransform.h:
18124           Remove broken delay_configure (fixes renegotiation of software
18125           scaling pipelines); remove some leftover printf()s.
18126
18127 2005-07-28  Wim Taymans  <wim@fluendo.com>
18128
18129         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
18130         Added some more tests for wrong hierarchy
18131
18132         * docs/design/part-overview.txt:
18133         Some updates.
18134
18135         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
18136         Cleanups.
18137
18138         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
18139         (gst_element_dispose):
18140         Some more cleanups.
18141
18142         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
18143         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
18144         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
18145         (gst_pad_set_caps), (gst_pad_send_event):
18146         Check for correct hierarchy when linking pads. Moving to
18147         strict requirement for ghostpads when linking elements in
18148         different bins.
18149
18150         * gst/gstpad.h:
18151         Clean ups. Added WRONG_HIERARCHY return value.
18152
18153 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18154
18155         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
18156           Better debug if no transform is possible.
18157
18158 2005-07-27  Wim Taymans  <wim@fluendo.com>
18159
18160         * docs/random/wtay/network-transp:
18161         Some old doc I had.
18162
18163 2005-07-27  Wim Taymans  <wim@fluendo.com>
18164
18165         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
18166         (gst_dp_event_from_packet):
18167         Fix serialization of seek events.
18168
18169 2005-07-27  Wim Taymans  <wim@fluendo.com>
18170
18171         * check/gst-libs/gdp.c: (GST_START_TEST):
18172         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
18173         Fix compilation and fix event serialization.
18174
18175 2005-07-27  Wim Taymans  <wim@fluendo.com>
18176
18177         * CHANGES-0.9:
18178         * docs/design/part-TODO.txt:
18179         * docs/design/part-events.txt:
18180         Some docs updates
18181
18182         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18183         (gst_base_sink_event), (gst_base_sink_do_sync),
18184         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
18185         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
18186         (gst_base_src_do_seek), (gst_base_src_event_handler),
18187         (gst_base_src_loop):
18188         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
18189         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
18190         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
18191         (gst_base_transform_event), (gst_base_transform_handle_buffer),
18192         (gst_base_transform_set_passthrough),
18193         (gst_base_transform_is_passthrough):
18194         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
18195         * gst/elements/gstfilesink.c: (gst_file_sink_event):
18196         Event updates.
18197
18198         * gst/gstbuffer.h:
18199         Use faster casts.
18200
18201         * gst/gstelement.c: (gst_element_seek):
18202         * gst/gstelement.h:
18203         Update gst_element_seek.
18204
18205         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
18206         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
18207         (gst_event_new_flush_start), (gst_event_new_flush_stop),
18208         (gst_event_new_eos), (gst_event_new_newsegment),
18209         (gst_event_parse_newsegment), (gst_event_new_tag),
18210         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
18211         (gst_event_parse_qos), (gst_event_new_seek),
18212         (gst_event_parse_seek), (gst_event_new_navigation):
18213         * gst/gstevent.h:
18214         Make GstEvent use GstStructure. Add parsing code, make sure the
18215         API is sufficiently generic.
18216         Mark possible directions of events and serialization.
18217
18218         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
18219         (_gst_message_copy), (gst_message_new_segment_start),
18220         (gst_message_new_segment_done), (gst_message_new_custom),
18221         (gst_message_parse_segment_start),
18222         (gst_message_parse_segment_done):
18223         Small cleanups.
18224
18225         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
18226         (gst_pad_set_caps), (gst_pad_send_event):
18227         Update for new events. 
18228         Catch events sent in wrong directions.
18229
18230         * gst/gstqueue.c: (gst_queue_link_src),
18231         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
18232         (gst_queue_handle_src_query):
18233         Event updates.
18234
18235         * gst/gsttag.c:
18236         * gst/gsttag.h:
18237         Remove event code from this file.
18238
18239         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
18240         (gst_dp_event_from_packet):
18241         Event updates.
18242
18243 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18244
18245         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
18246         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
18247         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
18248           Make debugging actually useful.
18249
18250 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18251
18252         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
18253         (gst_pad_fixate_caps):
18254           Implement default fixation once again, so that gst_pad_fixate()
18255           actually does anything at all. This probably needs to be some
18256           sort of a last resort, and use profile-based fixation first, but
18257           since that doesn't exist yet, this is the best we have. Fixes
18258           visualization in Totem.
18259
18260 2005-07-22  Wim Taymans  <wim@fluendo.com>
18261
18262         * docs/design/part-events.txt:
18263         Small update.
18264
18265         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18266         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
18267         (gst_base_sink_activate_pull):
18268         Some more comments.
18269
18270         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
18271         (gst_fake_src_create):
18272         Fix handoff marshall.
18273
18274         * gst/elements/gstidentity.c: (gst_identity_class_init),
18275         (gst_identity_transform_ip):
18276         We're a real inplace element.
18277
18278         * gst/gstbus.c: (gst_bus_post):
18279         Added some comments.
18280
18281         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
18282         * tests/muxing/case1.c: (main):
18283         * tests/sched/dynamic-pipeline.c: (main):
18284         * tests/sched/interrupt1.c: (main):
18285         * tests/sched/interrupt2.c: (main):
18286         * tests/sched/interrupt3.c: (main):
18287         * tests/sched/runxml.c: (main):
18288         * tests/sched/sched-stress.c: (main):
18289         * tests/seeking/seeking1.c: (event_received), (main):
18290         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
18291         (main):
18292         * tests/threadstate/threadstate3.c: (main):
18293         * tests/threadstate/threadstate4.c: (main):
18294         * tests/threadstate/threadstate5.c: (main):
18295         Fix the tests.
18296
18297 2005-07-21  Wim Taymans  <wim@fluendo.com>
18298
18299         * docs/design/part-seeking.txt:
18300         Some small additions.
18301
18302         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18303         (gst_base_sink_get_times), (gst_base_sink_do_sync),
18304         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
18305         * gst/base/gstbasesink.h:
18306         discont values are gint64, handle the math correctly.
18307
18308         * gst/base/gstbasesrc.c: (gst_base_src_loop):
18309         Make the basesrc report error if the source pad is not linked.
18310
18311         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
18312         (gst_queue_loop), (gst_queue_handle_src_query),
18313         (gst_queue_src_activate_push):
18314         Make queue collect data even if the srcpad is not linked.
18315         Start pushing out data as soon as it is linked.
18316
18317         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
18318         * gst/gstutils.h:
18319         Added gst_flow_get_name() to ease error reporting.
18320
18321 2005-07-20  Wim Taymans  <wim@fluendo.com>
18322
18323         * gst/gstmessage.c: (gst_message_new_segment_start),
18324         (gst_message_new_segment_done), (gst_message_parse_segment_start),
18325         (gst_message_parse_segment_done):
18326         * gst/gstmessage.h:
18327         Added a bunch of messages for advanced seeking.
18328
18329         * gst/parse/grammar.y:
18330         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
18331         (gst_dpman_state_changed):
18332         Fix some new-pad -> pad-added signals
18333
18334 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18335
18336         * docs/manual/appendix-porting.xml:
18337         * docs/pwg/appendix-porting.xml:
18338           Document new-pad/state-change signal renames and the FixedList
18339           type rename.
18340
18341 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18342
18343         * docs/manual/advanced-autoplugging.xml:
18344         * docs/manual/basics-helloworld.xml:
18345         * docs/manual/basics-pads.xml:
18346         * docs/random/ds/0.9-suggested-changes:
18347         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
18348         * gst/gstelement.h:
18349         * gst/gstevent.h:
18350         * gst/gstformat.h:
18351         * gst/gstquery.h:
18352         * gst/gststructure.c: (gst_structure_value_get_generic_type),
18353         (gst_structure_parse_array), (gst_structure_parse_value):
18354         * gst/gstvalue.c: (gst_type_is_fixed),
18355         (gst_value_list_prepend_value), (gst_value_list_append_value),
18356         (gst_value_list_get_size), (gst_value_list_get_value),
18357         (gst_value_transform_array_string), (gst_value_serialize_array),
18358         (gst_value_deserialize_array), (gst_value_intersect_array),
18359         (gst_value_is_fixed), (_gst_value_initialize):
18360         * gst/gstvalue.h:
18361           GstElement::new-pad -> pad-added, GstElement::state-change ->
18362           state-changed, GstValueFixedList -> GstValueArray, add format and
18363           flags as their own arguments in gst_element_seek() (should improve
18364           "bindeability"), remove function generators since they don't work
18365           under a whole bunch of compilers (they were deprecated already
18366           anyway).
18367
18368 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18369
18370         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
18371         (_gst_debug_register_funcptr):
18372         * gst/gstinfo.h:
18373           Fix illegal cast on some platforms (#309253).
18374
18375 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18376
18377         * gst/gstmessage.c: (gst_message_new_custom):
18378         * gst/gstmessage.h:
18379           Add _new_custom, make _new_application a macro to _new_custom.
18380
18381 2005-07-20  Wim Taymans  <wim@fluendo.com>
18382
18383         * gst/base/gstbasesrc.c: (gst_base_src_init),
18384         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
18385         * gst/base/gstbasesrc.h:
18386         Add a gboolean to decide when to push out a discont.
18387
18388         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
18389         (gst_queue_loop), (gst_queue_handle_src_query),
18390         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
18391         (gst_queue_set_property), (gst_queue_get_property):
18392         Some cleanups.
18393
18394         * tests/threadstate/threadstate1.c: (main):
18395         Make a thread test compile and run... very silly..
18396
18397
18398 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18399
18400         * docs/manual/appendix-porting.xml:
18401           Mention removal of libgstgconf-0.9.la and existence of gconf
18402           elements.
18403
18404 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18405
18406         * docs/pwg/advanced-clock.xml:
18407         * docs/pwg/appendix-porting.xml:
18408         * docs/pwg/intro-preface.xml:
18409         * docs/pwg/other-base.xml:
18410         * docs/pwg/other-manager.xml:
18411         * docs/pwg/other-nton.xml:
18412         * docs/pwg/other-ntoone.xml:
18413         * docs/pwg/other-oneton.xml:
18414         * docs/pwg/pwg.xml:
18415           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
18416           demuxer), remove n-to-n (was never written), fix some code examples
18417           and links and update the porting section to include all this.
18418
18419 2005-07-19  Wim Taymans  <wim@fluendo.com>
18420
18421         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
18422         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
18423         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
18424         (gst_queue_src_activate_push), (gst_queue_change_state),
18425         (gst_queue_get_property):
18426         * gst/gstqueue.h:
18427         Propagate GstFlowReturn more intelligently upstream and output
18428         an ERROR/EOS when streaming stopped due to fatal error.
18429
18430 2005-07-19  Wim Taymans  <wim@fluendo.com>
18431
18432         * tools/gst-launch.c: (check_intr), (event_loop), (main):
18433         Don't block forever for the state change to complete, the
18434         pipeline already did with a sensible timeout.
18435
18436 2005-07-19  Wim Taymans  <wim@fluendo.com>
18437
18438         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
18439         Make sure we never call the create function is we
18440         got deactivated.
18441
18442 2005-07-19  Andy Wingo  <wingo@pobox.com>
18443
18444         * gst/parse/parse.l: Attempt to solve bug #172815.
18445
18446 2005-07-19  Wim Taymans  <wim@fluendo.com>
18447
18448         * docs/design/part-clocks.txt:
18449         * docs/design/part-events.txt:
18450         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
18451         Small docs updates.
18452         Only update the seeking values when we are not
18453         busy streaming.
18454
18455 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
18456
18457         * gst/base/gstbasesrc.c: (gst_base_src_loop):
18458           Oops, ignore the result of gst_pad_push_event here.
18459
18460 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
18461
18462         * gst/base/gstbasesrc.c: (gst_base_src_loop),
18463         (gst_base_src_activate_push):
18464           Send discont event from the loop function, as pads
18465           aren't activated yet in the activate_push handler.
18466
18467         * gst/gstbin.c: (bin_bus_handler):
18468           Don't leak element name.
18469
18470 2005-07-18  Andy Wingo  <wingo@pobox.com>
18471
18472         * configure.ac: Use AS_LIBTOOL_TAGS.
18473
18474 2005-07-18  Wim Taymans  <wim@fluendo.com>
18475
18476         * docs/gst/gstreamer.types:
18477         Remove deleted types.
18478
18479 2005-07-18  Wim Taymans  <wim@fluendo.com>
18480
18481         * check/elements/gstfakesrc.c: (GST_START_TEST):
18482         * configure.ac:
18483         * gst/Makefile.am:
18484         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
18485         (init_popt_callback):
18486         * gst/gst.h:
18487         * gst/gst_private.h:
18488         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
18489         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
18490         * gst/gstbin.h:
18491         * gst/gstbus.h:
18492         * gst/gstconfig.h.in:
18493         * gst/gstelement.c: (gst_element_class_init),
18494         (gst_element_set_base_time), (gst_element_get_base_time),
18495         (iterator_fold_with_resync), (gst_element_change_state),
18496         (gst_element_dispose), (gst_element_get_bus):
18497         * gst/gstelement.h:
18498         * gst/gstelementfactory.h:
18499         * gst/gsterror.c: (_gst_core_errors_init):
18500         * gst/gsterror.h:
18501         * gst/gstevent.h:
18502         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
18503         * gst/gstindex.c:
18504         * gst/gstinfo.c: (_gst_debug_init):
18505         * gst/gstmessage.c: (_gst_message_copy):
18506         * gst/gstmessage.h:
18507         * gst/gstminiobject.h:
18508         * gst/gstobject.c:
18509         * gst/gstobject.h:
18510         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
18511         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
18512         * gst/gstpad.h:
18513         * gst/gstparse.h:
18514         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
18515         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
18516         (gst_pipeline_get_last_stream_time):
18517         * gst/gstpipeline.h:
18518         * gst/gstpluginfeature.h:
18519         * gst/gstquery.h:
18520         * gst/gstscheduler.c:
18521         * gst/gstscheduler.h:
18522         * gst/gststructure.h:
18523         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
18524         (gst_task_finalize), (gst_task_func), (gst_task_create),
18525         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
18526         (gst_task_stop), (gst_task_pause):
18527         * gst/gsttask.h:
18528         * gst/gsttypefind.h:
18529         * gst/gsttypes.h:
18530         * gst/registries/gstlibxmlregistry.c: (load_feature),
18531         (gst_xml_registry_load), (gst_xml_registry_save_feature):
18532         * gst/registries/gstxmlregistry.c:
18533         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
18534         * gst/schedulers/threadscheduler.c:
18535         * libs/gst/control/dparammanager.h:
18536         * tools/gst-inspect.c: (print_element_list),
18537         (print_plugin_features), (print_element_features):
18538         * tools/gst-xmlinspect.c: (print_element_list),
18539         (print_plugin_info), (main):
18540         Removed plugable schedulers.
18541         Removed Scheduler/Manager from elements.
18542         Removed gsttypes.h, rearranged includes.
18543         Removed dependency pad<->element, element<>pipeline, and
18544         various others,  fix includes.
18545         implement gst_pad_get_parent() with gst_object_get_parent()
18546         Make GstTask sefcontained.
18547         Fix _get_state() on GstBin, it did not return ASYNC with a 0
18548         timeout.
18549         Fix endless loop in iterator_fold_with_resync.
18550
18551
18552 2005-07-18  Wim Taymans  <wim@fluendo.com>
18553
18554         * gst/Makefile.am:
18555         * gst/gstarch.h:
18556         Remove old file.
18557
18558 2005-07-18  Wim Taymans  <wim@fluendo.com>
18559
18560         * gst/Makefile.am:
18561         No more cothreads.h
18562
18563 2005-07-18  Wim Taymans  <wim@fluendo.com>
18564
18565         * gst/cothreads.c:
18566         * gst/cothreads.h:
18567         Let's remove these.
18568
18569 2005-07-18  Wim Taymans  <wim@fluendo.com>
18570
18571         * docs/design/part-dynamic.txt:
18572         * docs/design/part-events.txt:
18573         * docs/design/part-seeking.txt:
18574         Some more docs in the works.
18575
18576         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
18577         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
18578         (gst_base_transform_setcaps), (gst_base_transform_get_size),
18579         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
18580         (gst_base_transform_handle_buffer),
18581         (gst_base_transform_sink_activate_push),
18582         (gst_base_transform_src_activate_pull),
18583         (gst_base_transform_set_passthrough),
18584         (gst_base_transform_is_passthrough):
18585         Refcounting fixes.
18586
18587         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
18588         Cleanups.
18589
18590         * gst/gstevent.c: (gst_event_finalize):
18591         Set SRC to NULL.
18592
18593         * gst/gstutils.c: (gst_element_unlink),
18594         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
18595         (gst_pad_proxy_setcaps):
18596         * gst/gstutils.h:
18597         Add _get_parent_element() to get a pads parent as an element.
18598
18599 2005-07-18  Wim Taymans  <wim@fluendo.com>
18600
18601         * check/gst/gstbin.c: (GST_START_TEST):
18602         Remove bogus test.
18603
18604 2005-07-18  Wim Taymans  <wim@fluendo.com>
18605
18606         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
18607         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
18608         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
18609         (gst_base_sink_event), (gst_base_sink_do_sync),
18610         (gst_base_sink_chain), (gst_base_sink_loop),
18611         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
18612         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
18613         Refcounting fixes.
18614         Fix logic for returning ASYNC when not prerolled.
18615
18616 2005-07-18  Wim Taymans  <wim@fluendo.com>
18617
18618         * gst/gstqueue.c: (gst_queue_handle_sink_event):
18619         Fix nasty refcount bug.
18620
18621 2005-07-16 Philippe Khalaf <burger@speedy.org>
18622
18623         * gst/elements/gstfdsrc.c:
18624         * gst/elements/gstfdsrc.h:
18625         * gst/elements/gstelements.c:
18626         * gst/elements/Makefile.am:
18627         Ported fdsrc to 0.9.
18628
18629 2005-07-16  Wim Taymans  <wim@fluendo.com>
18630
18631         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18632         (gst_base_sink_do_sync):
18633         Fix compile error.
18634
18635 2005-07-16  Wim Taymans  <wim@fluendo.com>
18636
18637         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18638         (gst_base_sink_event), (gst_base_sink_get_times),
18639         (gst_base_sink_do_sync), (gst_base_sink_change_state):
18640         * gst/base/gstbasesink.h:
18641         Store and use discont values when syncing buffers as described
18642         in design docs.
18643         
18644         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
18645         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
18646         (gst_base_src_activate_push):
18647         Push discont event when starting.
18648
18649         * gst/elements/gstidentity.c: (gst_identity_transform):
18650         Small cleanups.
18651
18652         * gst/gstbin.c: (gst_bin_change_state):
18653         Small cleanups in base_time  distribution.
18654
18655         * gst/gstelement.c: (gst_element_set_base_time),
18656         (gst_element_get_base_time), (gst_element_change_state):
18657         * gst/gstelement.h:
18658         Added methods for the base_time of the element.
18659         Some MT fixes.
18660
18661         * gst/gstpipeline.c: (gst_pipeline_send_event),
18662         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
18663         (gst_pipeline_get_last_stream_time):
18664         * gst/gstpipeline.h:
18665         MT fixes.
18666         Handle seeking as described in design doc, remove stream_time
18667         hack.
18668         Cleanups clock and stream_time selection code. Added accessors
18669         for the stream_time.
18670         
18671
18672 2005-07-16  Andy Wingo  <wingo@pobox.com>
18673
18674         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
18675         (#305291).
18676
18677 2005-07-16  Wim Taymans  <wim@fluendo.com>
18678
18679         * check/gst/gstbin.c: (GST_START_TEST):
18680         Make elements silent as the deep_notify refs the
18681         parent, which might make the test fail.
18682
18683         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
18684         Don't hold the lock for too long.
18685
18686 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
18687
18688         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
18689           Don't unref the caps we passed to gst_caps_make_writable() after
18690           passing them. gst_caps_make_writable() will do that for us.
18691
18692 2005-07-15  Andy Wingo  <wingo@pobox.com>
18693
18694         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
18695         (#157311).
18696
18697         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
18698         own marshalling function for the handoff signal. Properly type the
18699         buffer as a buffer. Fixes some warnings. Should do a more general
18700         solution.
18701         (gst_identity_class_init): Plug into the right marshaller.
18702
18703 2005-07-15  Wim Taymans  <wim@fluendo.com>
18704
18705         * docs/design/part-TODO.txt:
18706         * docs/design/part-clocks.txt:
18707         * docs/design/part-element-sink.txt:
18708         * docs/design/part-events.txt:
18709         * docs/design/part-gstpipeline.txt:
18710         Updated docs, mostly DISCONT related.
18711
18712 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
18713
18714         * docs/pwg/building-pads.xml:
18715           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
18716
18717 2005-07-15  Andy Wingo  <wingo@pobox.com>
18718
18719         * tools/gst-typefind.c: Update, add copyright block.
18720
18721         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
18722         Normalize and truncate caps before fixation.
18723
18724         * gst/gstcaps.h:
18725         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
18726         discards all but the first structure from its argument.
18727
18728 2005-07-15  Wim Taymans  <wim@fluendo.com>
18729
18730         * gst/base/gstbasetransform.c: (gst_base_transform_init),
18731         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
18732         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
18733         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
18734         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
18735         (gst_base_transform_chain), (gst_base_transform_change_state),
18736         (gst_base_transform_set_passthrough),
18737         (gst_base_transform_is_passthrough):
18738         * gst/base/gstbasetransform.h:
18739         Make passthrough work using the bufferpools.
18740         Changed API a bit, subclasses have to write into a buffer
18741         provided by the base class.
18742         More debug info in nego functions.
18743         
18744         * gst/elements/gstidentity.c: (gst_identity_init),
18745         (gst_identity_transform):
18746         Port to new base class.
18747
18748 2005-07-15  Wim Taymans  <wim@fluendo.com>
18749
18750         * gst/gstmessage.c: (gst_message_new_state_changed):
18751         * tools/gst-launch.c: (event_loop), (main):
18752         Totally dump messages in -launch with the -m option.
18753         Fix message name for State messages,
18754
18755 2005-07-14  Wim Taymans  <wim@fluendo.com>
18756
18757         * gst/base/gstbasesrc.c: (gst_base_src_loop):
18758         Post error messages on errors.
18759
18760 2005-07-14  Wim Taymans  <wim@fluendo.com>
18761
18762         * gst/gstcaps.c: (gst_caps_do_simplify):
18763         Remove debug info.
18764
18765         * gst/gsterror.h:
18766         Define error for stream stopped.
18767
18768         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
18769         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
18770         Do proper return values.
18771
18772         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
18773         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
18774         (gst_pad_get_range):
18775         Better return values.
18776
18777         * gst/gstpad.h:
18778         Reorganise return values, add macro to check for fatal errors.
18779
18780         * gst/gstqueue.c: (gst_queue_chain):
18781         Return proper GstFlowReturn values,
18782
18783 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
18784
18785         * docs/gst/gstreamer-sections.txt:
18786         * docs/gst/gstreamer.types:
18787         * docs/gst/tmpl/gst.sgml:
18788         * docs/gst/tmpl/gstbasesink.sgml:
18789         * docs/gst/tmpl/gstbasesrc.sgml:
18790         * docs/gst/tmpl/gstbasetransform.sgml:
18791         * docs/gst/tmpl/gstbin.sgml:
18792         * docs/gst/tmpl/gstbuffer.sgml:
18793         * docs/gst/tmpl/gstcaps.sgml:
18794         * docs/gst/tmpl/gstclock.sgml:
18795         * docs/gst/tmpl/gstcompat.sgml:
18796         * docs/gst/tmpl/gstconfig.sgml:
18797         * docs/gst/tmpl/gstelement.sgml:
18798         * docs/gst/tmpl/gstelementdetails.sgml:
18799         * docs/gst/tmpl/gstelementfactory.sgml:
18800         * docs/gst/tmpl/gstenumtypes.sgml:
18801         * docs/gst/tmpl/gsterror.sgml:
18802         * docs/gst/tmpl/gstevent.sgml:
18803         * docs/gst/tmpl/gstfakesink.sgml:
18804         * docs/gst/tmpl/gstfakesrc.sgml:
18805         * docs/gst/tmpl/gstfilesink.sgml:
18806         * docs/gst/tmpl/gstfilesrc.sgml:
18807         * docs/gst/tmpl/gstfilter.sgml:
18808         * docs/gst/tmpl/gstformat.sgml:
18809         * docs/gst/tmpl/gstghostpad.sgml:
18810         * docs/gst/tmpl/gstimplementsinterface.sgml:
18811         * docs/gst/tmpl/gstindex.sgml:
18812         * docs/gst/tmpl/gstindexfactory.sgml:
18813         * docs/gst/tmpl/gstinfo.sgml:
18814         * docs/gst/tmpl/gstiterator.sgml:
18815         * docs/gst/tmpl/gstmacros.sgml:
18816         * docs/gst/tmpl/gstmemchunk.sgml:
18817         * docs/gst/tmpl/gstminiobject.sgml:
18818         * docs/gst/tmpl/gstobject.sgml:
18819         * docs/gst/tmpl/gstpad.sgml:
18820         * docs/gst/tmpl/gstpadtemplate.sgml:
18821         * docs/gst/tmpl/gstparse.sgml:
18822         * docs/gst/tmpl/gstpipeline.sgml:
18823         * docs/gst/tmpl/gstplugin.sgml:
18824         * docs/gst/tmpl/gstpluginfeature.sgml:
18825         * docs/gst/tmpl/gstquery.sgml:
18826         * docs/gst/tmpl/gstqueue.sgml:
18827         * docs/gst/tmpl/gstregistry.sgml:
18828         * docs/gst/tmpl/gstregistrypool.sgml:
18829         * docs/gst/tmpl/gstscheduler.sgml:
18830         * docs/gst/tmpl/gstschedulerfactory.sgml:
18831         * docs/gst/tmpl/gststructure.sgml:
18832         * docs/gst/tmpl/gstsystemclock.sgml:
18833         * docs/gst/tmpl/gsttaglist.sgml:
18834         * docs/gst/tmpl/gsttagsetter.sgml:
18835         * docs/gst/tmpl/gsttrace.sgml:
18836         * docs/gst/tmpl/gsttrashstack.sgml:
18837         * docs/gst/tmpl/gsttypefind.sgml:
18838         * docs/gst/tmpl/gsttypefindfactory.sgml:
18839         * docs/gst/tmpl/gsttypes.sgml:
18840         * docs/gst/tmpl/gsturihandler.sgml:
18841         * docs/gst/tmpl/gsturitype.sgml:
18842         * docs/gst/tmpl/gstutils.sgml:
18843         * docs/gst/tmpl/gstvalue.sgml:
18844         * docs/gst/tmpl/gstversion.sgml:
18845         * docs/gst/tmpl/gstxml.sgml:
18846         * docs/libs/tmpl/gstcontrol.sgml:
18847         * docs/libs/tmpl/gstdataprotocol.sgml:
18848         * docs/libs/tmpl/gstdparam.sgml:
18849         * docs/libs/tmpl/gstdplinint.sgml:
18850         * docs/libs/tmpl/gstdpman.sgml:
18851         * docs/libs/tmpl/gstdpsmooth.sgml:
18852         * docs/libs/tmpl/gstgetbits.sgml:
18853         * docs/libs/tmpl/gstunitconvert.sgml:
18854         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
18855         (gst_push_src_base_init), (gst_push_src_class_init),
18856         (gst_push_src_init), (gst_push_src_create):
18857         * gst/base/gstpushsrc.h:
18858         * gst/elements/gstelements.c:
18859         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
18860         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
18861         (gst_fake_sink_init), (gst_fake_sink_set_property),
18862         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
18863         (gst_fake_sink_event), (gst_fake_sink_preroll),
18864         (gst_fake_sink_render), (gst_fake_sink_change_state):
18865         * gst/elements/gstfakesink.h:
18866         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
18867         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
18868         (gst_fake_src_base_init), (gst_fake_src_class_init),
18869         (gst_fake_src_init), (gst_fake_src_event_handler),
18870         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
18871         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
18872         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
18873         (gst_fake_src_create_buffer), (gst_fake_src_create),
18874         (gst_fake_src_start), (gst_fake_src_stop):
18875         * gst/elements/gstfakesrc.h:
18876         * gst/elements/gstfilesink.c: (_do_init),
18877         (gst_file_sink_base_init), (gst_file_sink_class_init),
18878         (gst_file_sink_init), (gst_file_sink_dispose),
18879         (gst_file_sink_set_location), (gst_file_sink_set_property),
18880         (gst_file_sink_get_property), (gst_file_sink_open_file),
18881         (gst_file_sink_close_file), (gst_file_sink_query),
18882         (gst_file_sink_event), (gst_file_sink_render),
18883         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
18884         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
18885         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
18886         * gst/elements/gstfilesink.h:
18887         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
18888         (gst_file_src_class_init), (gst_file_src_init),
18889         (gst_file_src_finalize), (gst_file_src_set_location),
18890         (gst_file_src_set_property), (gst_file_src_get_property),
18891         (gst_file_src_map_region), (gst_file_src_map_small_region),
18892         (gst_file_src_create_mmap), (gst_file_src_create_read),
18893         (gst_file_src_create), (gst_file_src_is_seekable),
18894         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
18895         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
18896         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
18897         (gst_file_src_uri_handler_init):
18898         * gst/elements/gstfilesrc.h:
18899           more autistic cleanliness in functions/names/defines
18900
18901 2005-07-13  Andy Wingo  <wingo@pobox.com>
18902
18903         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
18904         source couldn't negotiate.
18905
18906         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
18907         connections again.
18908
18909         * gst/gstutils.h:
18910         * gst/gstutils.c (gst_element_link_pads_filtered): New old
18911         function. I am channeling Hades. Put your boots on suckers!!!
18912
18913 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
18914
18915         * testsuite/caps/Makefile.am:
18916         * testsuite/caps/value_compare.c:
18917         * testsuite/caps/value_intersect.c:
18918         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
18919           move two testsuite apps over to the check dir
18920
18921 2005-07-12  Wim Taymans  <wim@fluendo.com>
18922
18923         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
18924         Added more debug info in the negotiate process.
18925
18926         * gst/gstmessage.h:
18927         Prepare for segment playback.
18928
18929         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
18930         Better debugging.
18931
18932         * gst/gstutils.c:
18933         Some more docs.
18934
18935         * tools/gst-launch.c: (main):
18936         NULL pipeline on errors.
18937
18938 2005-07-12  Andy Wingo  <wingo@pobox.com>
18939
18940         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
18941         not it comes from a malloc region. Make sure our copy gets freed.
18942
18943 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18944
18945         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
18946         * check/gst/gstmessage.c: (GST_START_TEST):
18947         * check/gst/gststructure.c: (GST_START_TEST),
18948         (gst_structure_suite), (main):
18949           more testing
18950         * gst/gstelement.c: (gst_element_message_full):
18951           clean up GError and debug string now that they get copied
18952         * gst/gstmessage.c: (gst_message_new_error),
18953         (gst_message_new_warning), (gst_message_parse_error),
18954         (gst_message_parse_warning):
18955           use GST_TYPE_G_ERROR for structure_new, and take copies of
18956           arguments, so that we don't mess up refcounting
18957
18958 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18959
18960         * check/Makefile.am:
18961           add per-test valgrind targets
18962         * check/gst-libs/gdp.c: (GST_START_TEST),
18963         (gst_data_protocol_suite), (main):
18964           clean up
18965
18966 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18967
18968         * check/Makefile.am:
18969           instate more valgrindable tests
18970         * check/elements/gstfakesrc.c: (chain_func), (event_func),
18971         (GST_START_TEST), (fakesrc_suite):
18972         * check/gst/gstpad.c: (GST_START_TEST):
18973         * check/gst/gststructure.c: (GST_START_TEST):
18974           fix test leaks
18975         * docs/gst/tmpl/gstminiobject.sgml:
18976         * gst/gstpad.c: (gst_pad_finalize):
18977           fix the static mutex leak
18978
18979 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
18980
18981         * check/Makefile.am:
18982           add two more tests for valgrinding
18983         * check/gst/gstvalue.c: (GST_START_TEST):
18984           test refcount of deserialized buffer, found a leak
18985         * docs/gst/gstreamer-docs.sgml:
18986         * docs/gst/gstreamer-sections.txt:
18987         * docs/gst/gstreamer.types:
18988         * docs/gst/tmpl/gstminiobject.sgml:
18989           add miniobject to docs
18990         * gst/gstminiobject.c:
18991           add some docs
18992         * gst/gstvalue.c: (gst_value_deserialize_buffer),
18993         (gst_string_unwrap):
18994           fix a hard-to-find invalid write for one of the tests
18995           fix a leak for deserialized buffers
18996
18997 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18998
18999         * docs/pwg/advanced-events.xml:
19000         * docs/pwg/advanced-request.xml:
19001         * docs/pwg/advanced-scheduling.xml:
19002         * docs/pwg/appendix-porting.xml:
19003         * docs/pwg/building-boiler.xml:
19004         * docs/pwg/intro-preface.xml:
19005         * docs/pwg/other-ntoone.xml:
19006           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
19007           of example code and explanation for pad activation, loop() and
19008           getrange() functions and a bit more. Remove old comments pointing
19009           to loop-functions.
19010         * examples/pwg/Makefile.am:
19011           Add loop/getrange examples.
19012
19013 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19014
19015         * configure.ac:
19016           check for valgrind binary + some fixes
19017         * check/gst.supp:
19018           valgrind suppressions for the tests
19019         * check/Makefile.am:
19020           add a valgrind: target that valgrinds the unit tests
19021         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
19022         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
19023         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
19024         * check/gst/gstghostpad.c:
19025           added some cleanup
19026         * check/gst/gstdata.c:
19027           removed
19028         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
19029         (thread_unref), (gst_mini_object_suite), (main):
19030           added
19031         * gst/gst.c: (gst_deinit):
19032         * gst/gst.h:
19033           add a method to clean up.
19034         * gst/gstsystemclock.c: (gst_system_clock_dispose),
19035         (gst_system_clock_obtain):
19036           allow for disposing the system clock.
19037         * tools/gst-launch.c: (main):
19038           deinit
19039
19040 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19041
19042         * docs/gst/tmpl/gstbasesrc.sgml:
19043         * docs/gst/tmpl/gstfakesrc.sgml:
19044         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
19045         (gst_base_src_init), (gst_base_src_set_property),
19046         (gst_base_src_get_property), (gst_base_src_get_range),
19047         (gst_base_src_start):
19048         * gst/base/gstbasesrc.h:
19049           add num-buffers property
19050         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
19051         (gst_fakesrc_init), (gst_fakesrc_set_property),
19052         (gst_fakesrc_get_property), (gst_fakesrc_create),
19053         (gst_fakesrc_start):
19054           remove num-buffers property
19055
19056 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19057
19058         * docs/gst/gstreamer-sections.txt:
19059         * docs/gst/tmpl/gstbasesink.sgml:
19060         * docs/gst/tmpl/gstbasesrc.sgml:
19061         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
19062         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
19063         (gst_base_sink_finalize), (gst_base_sink_set_clock),
19064         (gst_base_sink_set_property), (gst_base_sink_get_property),
19065         (gst_base_sink_handle_object), (gst_base_sink_event),
19066         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
19067         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
19068         (gst_base_sink_loop), (gst_base_sink_deactivate),
19069         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
19070         (gst_base_sink_change_state):
19071         * gst/base/gstbasesink.h:
19072         * gst/base/gstbasesrc.h:
19073         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
19074         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
19075         (gst_filesink_init):
19076           more macro splitting
19077
19078 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19079
19080         * gst/gstelement.c: (gst_element_get_bus):
19081           add debug
19082         * tools/gst-launch.c: (check_intr), (event_loop):
19083           fix bus leaks
19084
19085 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19086
19087         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
19088           fix a caps leak
19089
19090 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19091
19092         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
19093         (gst_base_src_finalize):
19094           add finalize method and clean up properly
19095         * gst/gstpipeline.c: (gst_pipeline_dispose):
19096           add debug
19097
19098 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
19099
19100         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
19101         (gst_bin_suite):
19102           add more things to check
19103         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
19104         * gst/gstelement.c:
19105           more debug
19106
19107 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
19108
19109         * check/elements/gstfakesrc.c: (chain_func), (event_func),
19110         (GST_START_TEST), (fakesrc_suite):
19111         * check/gst-libs/gdp.c: (GST_START_TEST):
19112         * check/gst/gst.c: (GST_START_TEST):
19113         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
19114         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
19115         * check/gst/gstbus.c: (GST_START_TEST):
19116         * check/gst/gstcaps.c: (GST_START_TEST):
19117         * check/gst/gstdata.c: (GST_START_TEST):
19118         * check/gst/gstelement.c: (GST_START_TEST):
19119         * check/gst/gstghostpad.c: (GST_START_TEST):
19120         * check/gst/gstiterator.c: (GST_START_TEST):
19121         * check/gst/gstmessage.c: (GST_START_TEST):
19122         * check/gst/gstobject.c: (GST_START_TEST):
19123         * check/gst/gstpad.c: (GST_START_TEST):
19124         * check/gst/gststructure.c: (GST_START_TEST):
19125         * check/gst/gstsystemclock.c: (GST_START_TEST),
19126         (gst_systemclock_suite):
19127         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
19128         * check/gst/gstvalue.c: (GST_START_TEST):
19129         * check/pipelines/cleanup.c: (GST_START_TEST):
19130         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
19131         * check/states/sinks.c: (GST_START_TEST):
19132         * check/gstcheck.c: (gst_check_init):
19133         * check/gstcheck.h:
19134           add debugging category
19135           use GST_START_TEST now, so we add a debug line
19136
19137 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
19138
19139         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
19140           add test for state change message on a bin
19141         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
19142           add another test
19143         * gst/gstbin.c: (gst_bin_init):
19144         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
19145         * gst/gstelement.c: (gst_element_post_message),
19146         (gst_element_set_state):
19147         * gst/gstelementfactory.c: (gst_element_factory_create):
19148         * gst/gstmessage.c: (gst_message_new):
19149         * gst/gstscheduler.c:
19150           various debugging additions and cleanups
19151
19152 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19153
19154         * check/Makefile.am:
19155         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
19156         (main):
19157           adding tests for elements
19158         * gst/gstelement.c: (gst_element_dispose):
19159
19160 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19161
19162         * gst/registries/gstlibxmlregistry.c: (load_feature):
19163           plug more leaks.  A simple gst_init() now is leakfree, yay.
19164
19165 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19166
19167         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
19168         (gst_xml_registry_load):
19169           plug another memleak
19170
19171 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19172
19173         * configure.ac:
19174           use GST_SET_ERROR_CFLAGS
19175         * docs/faq/cvs.xml:
19176           change to ERROR_CFLAGS
19177
19178 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19179
19180         * configure.ac:
19181           make GST_ERROR_CFLAGS overridable and re-enable Werror
19182         * docs/faq/cvs.xml:
19183           add a note about error CFLAGS
19184         * docs/gst/tmpl/gstfakesrc.sgml:
19185         * gst/elements/gstfakesrc.c:
19186           comment out some unused code
19187         * gst/gst.c: (split_and_iterate):
19188         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
19189         (load_feature):
19190           plug some memleaks
19191
19192 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
19193
19194         * common/Makefile.am:
19195         * common/gtk-doc.mak:
19196         * docs/gst/Makefile.am:
19197           factor out gtk-doc.mak
19198
19199 2005-07-07  Wim Taymans  <wim@fluendo.com>
19200
19201         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
19202         (gst_thread_scheduler_dispose):
19203         Unlock the STREAM_LOCK completely.
19204
19205 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
19206
19207         * check/Makefile.am:
19208         * check/elements/.cvsignore:
19209         * check/elements/gstfakesrc.c: (chain_func), (event_func),
19210         (START_TEST), (fakesrc_suite), (main):
19211         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
19212         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
19213         (gst_fakesrc_create), (gst_fakesrc_start):
19214         * gst/elements/gstfakesrc.h:
19215           adding a first element test
19216
19217 2005-07-07  Andy Wingo  <wingo@pobox.com>
19218
19219         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
19220         debug message.
19221
19222 2005-07-07  Wim Taymans  <wim@fluendo.com>
19223
19224         * gst/gstquery.c:
19225         * gst/gstquery.h:
19226         Remove old types
19227
19228 2005-07-07  Wim Taymans  <wim@fluendo.com>
19229
19230         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
19231         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
19232         Allow subclasses to implement their own negotiation.
19233
19234 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
19235
19236         * docs/design/part-gstbin.txt:
19237         * docs/design/part-gstpipeline.txt:
19238           Update design notes to reflect the movement of
19239           responsibility for bus handling from GstPipeline to
19240           GstBin
19241
19242 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
19243
19244         * configure.ac:
19245           Remove unnecessary queue2/3/4 examples.
19246
19247 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
19248
19249         * examples/Makefile.am:
19250         * examples/helloworld/helloworld.c: (event_loop), (main):
19251         * examples/queue/queue.c: (event_loop), (main):
19252         * examples/queue2/queue2.c: (main):
19253           Update a couple of the examples to work again.
19254
19255         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
19256         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
19257          Spelling corrections and extra debug.
19258         
19259         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
19260         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
19261         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
19262         * gst/gstbin.h:
19263         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
19264         (gst_pipeline_change_state):
19265         * gst/gstpipeline.h:
19266           Move the bus handler for children to the GstBin, and create a
19267           separate bus for receiving messages from children to the one the
19268           bus sends 'upwards' on.
19269
19270 2005-07-06  Wim Taymans  <wim@fluendo.com>
19271
19272         * gst/base/README:
19273         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
19274         (gst_base_sink_handle_object), (gst_base_sink_loop),
19275         (gst_base_sink_change_state):
19276         * gst/base/gstbasesink.h:
19277         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
19278         (gst_base_src_init), (gst_base_src_setcaps),
19279         (gst_base_src_getcaps), (gst_base_src_loop),
19280         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
19281         (gst_base_src_start), (gst_base_src_change_state):
19282         * gst/base/gstbasesrc.h:
19283         Make basesrc negotiate.
19284         Handle the case where preroll fails in basesink.
19285         Update README.
19286
19287 2005-07-06  Wim Taymans  <wim@fluendo.com>
19288
19289         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
19290         Implement the fixate function.
19291         Clean up acceptcaps.
19292
19293 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19294
19295         * docs/pwg/building-filterfactory.xml:
19296         * docs/pwg/pwg.xml:
19297           Remove never-written filter-factory chapter; I'll add the various
19298           base classes to part 4 ("other element types") later on.
19299
19300 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19301
19302         * docs/pwg/advanced-negotiation.xml:
19303         * docs/pwg/building-boiler.xml:
19304         * docs/pwg/building-pads.xml:
19305         * docs/pwg/pwg.xml:
19306         * examples/pwg/Makefile.am:
19307           Add a chapter on caps negotiation, simplify the original code
19308           samples a bit w.r.t. caps negotiation, add link to the advanced
19309           section. Add a bunch of examples showing different use cases of
19310           different types of caps negotiation. Upstream renegotiation isn't
19311           fully documented yet since nobody knows how that works.
19312
19313 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
19314
19315         * check/gst/gstpad.c:
19316         * check/gstcheck.c:
19317         * gst/gstpad.c: (gst_pad_get_internal_links_default):
19318           if pad has no parent, return NULL as list of internal links
19319
19320 2005-07-05  Andy Wingo  <wingo@pobox.com>
19321
19322         * gst/elements/gstfilesrc.c:
19323         * gst/elements/gstfakesrc.c: 
19324         * gst/base/gstpushsrc.c:
19325         * gst/base/gstbasesrc.h: 
19326         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
19327         
19328 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
19329
19330         * Makefile.am:
19331           better report generation target (lcov needs a patch)
19332
19333 2005-07-05  Andy Wingo  <wingo@pobox.com>
19334
19335         * gst/elements, testsuite: Null if we got it...
19336
19337 2005-07-05  Wim Taymans  <wim@fluendo.com>
19338
19339         * configure.ac:
19340         * libs/gst/dataprotocol/Makefile.am:
19341         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
19342         * libs/gst/dataprotocol/dataprotocol.h:
19343         * pkgconfig/Makefile.am:
19344         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
19345         * pkgconfig/gstreamer-dataprotocol.pc.in:
19346         Ported dataprotol to 0.9. 
19347         Added pkgconfig files.
19348
19349 2005-07-05  Andy Wingo  <wingo@pobox.com>
19350
19351         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
19352         Default to returning TRUE for the case when tranform_caps returns
19353         a fixed caps, like for identity or volume.
19354
19355         * check/gst/gstbus.c (pound_bus_with_messages): 
19356         * check/gst/gstmessage.c (START_TEST): 
19357         * check/pipelines/simple_launch_lines.c (got_handoff): Application
19358         message API change.
19359
19360         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
19361         logic weaks here: always run transform_caps, trying passthrough
19362         operation only if the original caps intersects with the transform.
19363
19364         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
19365         source and sink caps.
19366
19367         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
19368         Intersect the peer caps with the pad template before going into
19369         transform_caps.
19370         (gst_base_transform_transform_caps): More debugging.
19371
19372         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
19373         src argument.
19374
19375 2005-07-04  Edward Hervey  <edward@fluendo.com>
19376
19377         * gst/gstutils.c:
19378         * gst/gstutils.h:
19379         (gst_pad_add_*_probe): now returns the signal id for better wrapping
19380         in bindings.
19381
19382 2005-07-04  Andy Wingo  <wingo@pobox.com>
19383
19384         * check/gst/gstpad.c: Only set explicit caps on pads.
19385
19386 2005-07-01  Andy Wingo  <wingo@pobox.com>
19387
19388         * tests/network-clock.scm: Commentary update.
19389
19390         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
19391         Didn't really make sense, not implementable with basetransform,
19392         etc.
19393         (gst_identity_transform): Unref inbuf via make_writable. Feeble
19394         attempt at implementing the sync property, needs an unlock method.
19395
19396         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
19397         New func, by default returns the same caps (the identity
19398         transformation).
19399         (gst_base_transform_getcaps): Uses transform_caps to return
19400         something sensible.
19401         (gst_base_transform_setcaps): Complicated logic to get caps on
19402         both pads, even if they are different, and to call set_caps once
19403         for every time both pads get their caps set.
19404         (gst_base_transform_handle_buffer): Give the ref to the transform
19405         function. Allows in-place modification of the buffer.
19406
19407         * gst/base/gstbasetransform.h (transform_caps): New class method.
19408         Given caps on one side, what can I do on the other.
19409         (set_caps): Take two caps, one for each side of the element.
19410
19411         * gst/gstpad.h:
19412         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
19413         caps in place. This is safe because we can check the mutability of
19414         the caps, and a good idea because fixate functions are just called
19415         as a matter of last resort. (Not actually implemented.)
19416         (gst_pad_set_caps): If the caps we're setting is actually the same
19417         as the existing pad caps, just update the pointer without calling
19418         setcaps. Assert that caps is either NULL or fixed, as per the
19419         docs.
19420
19421         * gst/gstghostpad.c: Update for fixate changes.
19422
19423 2005-07-02  Andy Wingo  <wingo@pobox.com>
19424
19425         * gst/gstcaps.c:
19426         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
19427         two refcounts makes it immutable, which is enough. Doc more.
19428
19429 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
19430
19431         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
19432           Put the mini_object into GValue as a mini_object,
19433           not a gpointer, since that's how we declared
19434           the signal.
19435
19436 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19437
19438         * examples/pwg/Makefile.am:
19439           Fix buildbot again.
19440
19441 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19442
19443         * docs/pwg/building-testapp.xml:
19444           Add extra check.
19445         * examples/pwg/Makefile.am:
19446           Fix buildbot.
19447
19448 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19449
19450         * configure.ac:
19451         * examples/Makefile.am:
19452         * examples/pwg/Makefile.am:
19453         * examples/pwg/extract.pl:
19454           Enable building the PWG examples.
19455         * docs/pwg/advanced-interfaces.xml:
19456           Add URI interface stub.
19457         * docs/pwg/advanced-types.xml:
19458         * docs/pwg/other-autoplugger.xml:
19459         * docs/pwg/appendix-porting.xml:
19460         * docs/pwg/pwg.xml:
19461           Add porting guide (mostly stubs), remove autoplugging (see ADM).
19462         * docs/pwg/building-boiler.xml:
19463         * docs/pwg/building-chainfn.xml:
19464         * docs/pwg/building-pads.xml:
19465         * docs/pwg/building-props.xml:
19466         * docs/pwg/building-state.xml:
19467         * docs/pwg/building-testapp.xml:
19468           Update the building-*.xml parts for 0.9 changes. All examples
19469           code blocks compile in examples/pwg/*.
19470
19471 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19472
19473         * docs/manual/advanced-autoplugging.xml:
19474         * docs/manual/appendix-checklist.xml:
19475         * docs/manual/appendix-integration.xml:
19476         * docs/manual/highlevel-components.xml:
19477           Fix playbin/decodebin examples, update docs a bit, mention bus
19478           instead of signals in various places, mention kmplayer and
19479           kaffeine since they have a working GStreamer backend in the KDE
19480           section.
19481
19482 2005-06-30  Wim Taymans  <wim@fluendo.com>
19483
19484         * CHANGES-0.9:
19485         * docs/design/draft-ghostpads.txt:
19486         * docs/design/draft-push-pull.txt:
19487         * docs/design/draft-query.txt:
19488         * docs/design/part-TODO.txt:
19489         * docs/design/part-query.txt:
19490         Added CHANGES-0.9 doc, updated status of other docs.
19491         
19492         * gst/gstquery.h:
19493         Remove "hmm" macro
19494
19495 2005-06-30  Wim Taymans  <wim@fluendo.com>
19496
19497         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
19498         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
19499         (gst_base_sink_change_state):
19500         * gst/base/gstbasesink.h:
19501         Some tweaks, only EOS and a buffer complete a preroll.
19502
19503 2005-06-30  Andy Wingo  <wingo@pobox.com>
19504
19505         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
19506         activate_push down to the internal pad as well.
19507
19508 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
19509
19510         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19511
19512         * gst/gsttaginterface.c:
19513           Some documentation fixes (#307394 and #307397).
19514
19515 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
19516
19517         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19518
19519         * gst/gstvalue.c: (gst_value_intersect_list):
19520           Fix memleak (#309125).
19521
19522 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19523
19524         * docs/manual/advanced-dataaccess.xml:
19525           Fix fakesrc example to compile; doesn't work, bug somewhere...?
19526         * docs/manual/basics-pads.xml:
19527           Add reference for filtered caps to above chapter.
19528
19529 2005-06-30  Wim Taymans  <wim@fluendo.com>
19530
19531         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
19532         (gst_bin_change_state):
19533         Probes are gone.
19534         Lame attempt at making the state change function a bit
19535         more readable.
19536
19537 2005-06-30  Wim Taymans  <wim@fluendo.com>
19538
19539         * docs/design/part-clocks.txt:
19540         * docs/design/part-element-sink.txt:
19541         * docs/design/part-events.txt:
19542         * docs/design/part-preroll.txt:
19543         * docs/design/part-states.txt:
19544         Some more tweeks and additions to the docs.
19545
19546 2005-06-30  Wim Taymans  <wim@fluendo.com>
19547
19548         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
19549         (default_have_data), (gst_pad_class_init), (gst_pad_init),
19550         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
19551         (gst_pad_check_pull_range), (gst_pad_get_range),
19552         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
19553         * gst/gstpad.h:
19554         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
19555         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
19556         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
19557         (gst_pad_remove_buffer_probe):
19558         Removed atomic operations, use existing LOCK.
19559         Move exception handling out of main code path.
19560
19561 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19562
19563         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
19564         (silly_return_true_function), (gst_pad_class_init),
19565         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
19566         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
19567         (gst_pad_send_event):
19568           Fix accumulator, add default value by using _emitv() instead
19569           of _emit() for signal emission.
19570
19571 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19572
19573         * docs/manual/advanced-dataaccess.xml:
19574         * examples/manual/Makefile.am:
19575           Add probe example.
19576         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
19577           Make work (??).
19578
19579 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
19580
19581         * gst/elements/gstfilesink.c: (gst_filesink_render):
19582           Simplify code so that we don't have to handle short
19583           writes and return GST_FLOW_ERROR if an error occured.
19584
19585 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19586
19587         * docs/gst/gstreamer-docs.sgml:
19588           Remove probes more.
19589
19590 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19591
19592         * docs/gst/gstreamer-sections.txt:
19593         * docs/gst/tmpl/gstpad.sgml:
19594         * docs/gst/tmpl/gstprobe.sgml:
19595         * gst/Makefile.am:
19596         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
19597         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
19598         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
19599         (gst_pad_push_event), (gst_pad_send_event):
19600         * gst/gstpad.h:
19601         * gst/gstutils.c: (gst_pad_add_data_probe),
19602         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
19603         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
19604         (gst_pad_remove_buffer_probe):
19605         * gst/gstutils.h:
19606           Remove old probes, add new g-signal-based probes and some utility
19607           functions.
19608
19609 2005-06-29  Edward Hervey  <edward@fluendo.com>
19610
19611         * gst/gstelementfactory.c:
19612         * gst/gstutils.h:
19613         * gst/gstutils.c:
19614         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
19615         the definition to the header file.
19616
19617 2005-06-29  Andy Wingo  <wingo@pobox.com>
19618
19619         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
19620         plugins from the source directory.
19621
19622 2005-06-29  Wim Taymans  <wim@fluendo.com>
19623
19624         * docs/gst/tmpl/gstbuffer.sgml:
19625         * docs/gst/tmpl/gstclock.sgml:
19626         Some fixings for blantently wrong text.
19627
19628 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19629
19630         * check/Makefile.am:
19631         * gst/gst.c: (add_path_func), (init_pre):
19632         * gst/gstregistry.c: (gst_registry_add_path):
19633           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
19634           only scan the GST_PLUGIN_PATH locations, and not add
19635           system locations
19636
19637 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19638
19639         * docs/gst/gstreamer-sections.txt:
19640         * docs/gst/tmpl/gstbasesrc.sgml:
19641         * gst/gstelement.c:
19642         * gst/gstelement.h:
19643         * gst/gstevent.c:
19644         * gst/gstutils.c:
19645           doc fixes
19646
19647 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19648
19649         * docs/manual/advanced-autoplugging.xml:
19650           Fix autoplugging example.
19651
19652 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19653
19654         * docs/manual/advanced-autoplugging.xml:
19655         * docs/manual/mime-world.fig:
19656           Try to get autoplugging working, fix type detection. Fix text
19657           in hello-world image.
19658
19659 2005-06-29  Wim Taymans  <wim@fluendo.com>
19660
19661         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19662         (gst_base_sink_change_state):
19663         Small debug line.
19664
19665         * gst/gstclock.h:
19666         map SIGNAL and BROADCAST to the right function.
19667
19668         * gst/gstobject.h:
19669         Remove redundant braces.
19670
19671         * gst/gstpad.c: (gst_pad_set_caps):
19672         Don't call setcaps function when reseting caps to NULL.
19673
19674         * gst/gstsystemclock.c: (gst_system_clock_dispose),
19675         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
19676         (gst_system_clock_id_unschedule):
19677         Use BROADCAST as this is what we do.
19678
19679 2005-06-29  Wim Taymans  <wim@fluendo.com>
19680
19681         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19682         We are actually prerolling before commiting the state
19683         change. 
19684
19685 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19686
19687         * docs/manual/advanced-clocks.xml:
19688         * docs/manual/advanced-interfaces.xml:
19689         * docs/manual/advanced-metadata.xml:
19690         * docs/manual/advanced-position.xml:
19691         * docs/manual/advanced-schedulers.xml:
19692         * docs/manual/advanced-threads.xml:
19693         * docs/manual/appendix-porting.xml:
19694         * docs/manual/basics-bins.xml:
19695         * docs/manual/basics-bus.xml:
19696         * docs/manual/basics-elements.xml:
19697         * docs/manual/basics-helloworld.xml:
19698         * docs/manual/basics-pads.xml:
19699         * docs/manual/highlevel-components.xml:
19700         * docs/manual/manual.xml:
19701         * docs/manual/thread.fig:
19702           Update (until threads/scheduling) Application Development Manual;
19703           remove GstThread, add GstBus, add simple porting checklist, add
19704           documentation for tag writing, clocks, make all examples until this
19705           part compile and run.
19706         * examples/manual/Makefile.am:
19707           Update from changes to Application Development Manual; add bus
19708           example, remove thread example.
19709
19710 2005-06-28  Wim Taymans  <wim@fluendo.com>
19711
19712         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
19713         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
19714         (gst_bus_source_dispatch):
19715         Add debugging messages.
19716         Make internal methods static.
19717         Handle the case where the bus is flushed in the handler.
19718         
19719         * gst/gstelement.c: (gst_element_get_bus):
19720         Fix refcount in _get_bus();
19721
19722         * gst/gstpipeline.c: (gst_pipeline_change_state),
19723         (gst_pipeline_get_clock_func):
19724         Clock refcounting fixes.
19725         Handle the case where preroll timed out more gracefully.
19726         
19727         * gst/gstsystemclock.c: (gst_system_clock_dispose):
19728         Clean up the internal thread in dispose. This is needed
19729         for subclasses that actually get disposed.
19730         
19731         * gst/schedulers/threadscheduler.c:
19732         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
19733         (gst_thread_scheduler_dispose):
19734         Free thread pool in dispose.
19735
19736 2005-06-28  Andy Wingo  <wingo@pobox.com>
19737
19738         * tests/network-clock-utils.scm (debug, print-event): New utils.
19739
19740         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
19741         (*packet-loss*): Unified loss probability.
19742         (network-time): Report out-of-band events.
19743
19744         * tests/plot-data: Add support for out-of-band events. Hack it
19745         into this script instead of passing it down the pipe; should fix
19746         this later.
19747
19748 2005-06-28  Wim Taymans  <wim@fluendo.com>
19749
19750         * docs/gst/gstreamer.types:
19751         * docs/gst/tmpl/gstbasesrc.sgml:
19752         * docs/gst/tmpl/gstpad.sgml:
19753         Docs fixes.
19754
19755 2005-06-28  Wim Taymans  <wim@fluendo.com>
19756
19757         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
19758         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
19759         (gst_proxy_pad_do_fixatecaps):
19760         Correctly proxy the check_pull_range function.
19761
19762 2005-06-28  Andy Wingo  <wingo@pobox.com>
19763
19764         * tests/network-clock.scm: Removed need for slib.
19765         
19766 2005-06-28  Wim Taymans  <wim@fluendo.com>
19767
19768         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
19769         (gst_basesink_preroll_queue_flush):
19770         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
19771         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
19772         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
19773         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
19774         (gst_proxy_pad_set_property):
19775         * gst/gstpad.c:
19776         * gst/gstpad.h:
19777         * gst/gstqueue.c: (gst_queue_init):
19778         The deprecated pad loop function is removed now.
19779
19780 2005-06-28  Andy Wingo  <wingo@pobox.com>
19781
19782         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
19783         New parameters, simulate network packet loss.
19784
19785         * tests/network-clock-utils.scm: Initialize the RNG.
19786
19787 2005-06-28  Wim Taymans  <wim@fluendo.com>
19788
19789         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
19790         (gst_basesink_event), (gst_basesink_deactivate):
19791         Flushing the preroll queue always needs to unlock the waiters.
19792
19793 2005-06-28  Edward Hervey  <edward@fluendo.com>
19794
19795         * gst/gstpipeline.c: (gst_pipeline_send_event): 
19796         Wheen a seek was successful on a pipeline, set the stream_time to the
19797         seek offset in order to have a synchronized stream_time.
19798
19799 2005-06-28  Wim Taymans  <wim@fluendo.com>
19800
19801         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
19802         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
19803         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
19804         (gst_proxy_pad_do_fixatecaps):
19805         Call wrapper function instead of just calling the function
19806         pointers. This takes care of any locking and whatmore.
19807
19808 2005-06-28  Wim Taymans  <wim@fluendo.com>
19809
19810         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
19811         (gst_pad_pull_range):
19812         * gst/gstpad.h:
19813         CONNECTED -> LINKED.
19814
19815 2005-06-28  Andy Wingo  <wingo@pobox.com>
19816
19817         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
19818         source-munging commit!!!
19819
19820         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
19821         (gst_object_sink): Take gpointer arguments, not GstObject --
19822         avoids casts. Like GLib.
19823
19824         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
19825         activate.
19826
19827 2005-06-27  Andy Wingo  <wingo@pobox.com>
19828
19829         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
19830         remaining buffer.
19831
19832         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
19833         returns a sorted copy of the trace list.
19834         (gst_alloc_trace_print_live): New API, only prints traces with
19835         live objects. Sort the list.
19836         (gst_alloc_trace_print_all): Sort the list.
19837         (gst_alloc_trace_print): Align columns.
19838
19839         * gst/elements/gstttypefindelement.c:
19840         * gst/elements/gsttee.c:
19841         * gst/base/gstbasesrc.c:
19842         * gst/base/gstbasesink.c:
19843         * gst/base/gstbasetransform.c:
19844         * gst/gstqueue.c: Adapt for pad activation changes.
19845
19846         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
19847         sched.
19848         (gst_pipeline_dispose): Drop ref on sched.
19849
19850         * gst/gstpad.c (gst_pad_init): Set the default activate func.
19851         (gst_pad_activate_default): Push mode by default.
19852         (pre_activate_switch, post_activate_switch): New stubs, things to
19853         do before and after switching activation modes on pads.
19854         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
19855         the pad's activate function to choose which mode to activate.
19856         Shortcut on deactivation and call the right function directly.
19857         (gst_pad_activate_pull): New API, (de)activates a pad in pull
19858         mode.
19859         (gst_pad_activate_push): New API, same for push mode.
19860         (gst_pad_set_activate_function) 
19861         (gst_pad_set_activatepull_function) 
19862         (gst_pad_set_activatepush_function): Setters for new API.
19863
19864         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
19865         Trace all miniobjects.
19866         (gst_mini_object_make_writable): Unref the arg if we copy, like
19867         gst_caps_make_writable.
19868
19869         * gst/gstmessage.c (_gst_message_initialize): No trace init.
19870
19871         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
19872         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
19873         Adapt for new pad API.
19874
19875         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
19876
19877         * gst/gstelement.h:
19878         * gst/gstelement.c (gst_element_iterate_src_pads) 
19879         (gst_element_iterate_sink_pads): New API functions.
19880         
19881         * gst/gstelement.c (iterator_fold_with_resync): New utility,
19882         should fold into gstiterator.c in some form.
19883         (gst_element_pads_activate): Simplified via use of fold and
19884         delegation of decisions to gstpad->activate.
19885
19886         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
19887         help in debugging.
19888
19889         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
19890         class once in init, like gstmessage. Didn't run into this issue
19891         but it seems correct. Don't initialize a trace, gstminiobject does
19892         that.
19893
19894         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
19895         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
19896         to the bus.
19897         (assert_live_count): New util function, uses alloc traces to check
19898         cleanup.
19899
19900         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
19901         To be modified when unlink drops the internal pad.
19902
19903 2005-06-27  Wim Taymans  <wim@fluendo.com>
19904
19905         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
19906         (gst_bin_change_state):
19907         Cleanup the get_state() function a little, make sure it
19908         iterates the same set of elements.
19909         Added stub iterate_state_order().
19910
19911 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
19912
19913         * docs/gst/gstreamer-docs.sgml:
19914         * docs/gst/gstreamer-sections.txt:
19915         * docs/gst/gstreamer.types:
19916         * docs/gst/tmpl/gstbasesink.sgml:
19917         * docs/gst/tmpl/gstbasesrc.sgml:
19918         * docs/gst/tmpl/gstbasetransform.sgml:
19919         * docs/gst/tmpl/gstelement.sgml:
19920         * docs/gst/tmpl/gstiterator.sgml:
19921         * gst/base/gstbasesrc.c:
19922         * gst/base/gstbasesrc.h:
19923         * gst/base/gstbasetransform.h:
19924         * gst/gstelement.c:
19925         * gst/gstiterator.h:
19926           adding basetransform and iterator docs
19927
19928 2005-06-27  Andy Wingo  <wingo@pobox.com>
19929
19930         * docs/design/part-activation.txt: Notes on how activation should
19931         work -- not quite implemented yet.
19932
19933 2005-06-25  Wim Taymans  <wim@fluendo.com>
19934
19935         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
19936         At least get the chain function correct, needs more
19937         fixing.
19938
19939 2005-06-25  Wim Taymans  <wim@fluendo.com>
19940
19941         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
19942         (gst_basesink_handle_object), (gst_basesink_event),
19943         (gst_basesink_do_sync), (gst_basesink_handle_event),
19944         (gst_basesink_change_state):
19945         * gst/gsttask.h:
19946         Right, two problems here: ghostpads don't take locks and
19947         glib _rec_mutex_lock_full() with depth==0 still locks.
19948         Catch illegal locking and g_warn them.
19949
19950 2005-06-25  Wim Taymans  <wim@fluendo.com>
19951
19952         * check/states/sinks.c: (START_TEST), (gst_object_suite):
19953         Have to check for completion now...
19954
19955 2005-06-25  Wim Taymans  <wim@fluendo.com>
19956
19957         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
19958         (gst_basesink_handle_object), (gst_basesink_event),
19959         (gst_basesink_do_sync), (gst_basesink_handle_event),
19960         (gst_basesink_change_state):
19961         * gst/gstpad.h:
19962         Unlock STREAM_LOCK whatever the recursion was.
19963
19964 2005-06-25  Wim Taymans  <wim@fluendo.com>
19965
19966         * gst/base/gstbasesink.c: (gst_basesink_set_property),
19967         (gst_basesink_preroll_queue_empty),
19968         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
19969         (gst_basesink_event), (gst_basesink_do_sync),
19970         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
19971         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
19972         (gst_basesink_change_state):
19973         Reworked the base sink, handle event and buffer serialisation
19974         correctly and removed possible deadlock.
19975         Handle EOS correctly.
19976
19977 2005-06-25  Wim Taymans  <wim@fluendo.com>
19978
19979         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
19980         (gst_pipeline_change_state):
19981         * tools/gst-launch.c: (check_intr), (event_loop), (main):
19982         Allow elements to post EOS in the state change function.
19983         Fix up -launch, make it exit the poll loop when the
19984         pipeline actually changed state.
19985         Fix up warning parsing in -launch.
19986
19987 2005-06-25  Wim Taymans  <wim@fluendo.com>
19988
19989         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
19990         (gst_tee_sink_activate):
19991         Core takes STREAM_LOCK for us now.
19992
19993 2005-06-25  Wim Taymans  <wim@fluendo.com>
19994
19995         * gst/gstelement.c: (gst_element_get_state_func),
19996         (gst_element_set_state):
19997         * gst/gstelement.h:
19998         * gst/gstmessage.c: (gst_message_parse_error),
19999         (gst_message_parse_warning):
20000         Keep track of current target state while performing a state
20001         change so that subclasses can do something interesting.
20002         Fix parsing of warning/error messages when GError is NULL.
20003
20004 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20005
20006         * docs/gst/Makefile.am:
20007         * docs/gst/gstreamer-docs.sgml:
20008         * docs/gst/gstreamer-sections.txt:
20009         * docs/gst/gstreamer.types:
20010         * docs/gst/tmpl/gstbasesink.sgml:
20011         * docs/gst/tmpl/gstbasesrc.sgml:
20012         * docs/gst/tmpl/gstbin.sgml:
20013         * docs/gst/tmpl/gstcompat.sgml:
20014         * docs/gst/tmpl/gstfakesink.sgml:
20015         * docs/gst/tmpl/gstfakesrc.sgml:
20016         * docs/gst/tmpl/gstfilesink.sgml:
20017         * docs/gst/tmpl/gstfilesrc.sgml:
20018         * docs/gst/tmpl/gstindex.sgml:
20019         * docs/manual/appendix-quotes.xml:
20020         * gst/base/gstbasesrc.h:
20021         * gst/elements/gstfakesrc.h:
20022         * gst/gstmessage.h:
20023           start pulling in base classes and elements in our docs
20024
20025 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
20026
20027         * docs/gst/Makefile.am:
20028         * docs/libs/Makefile.am:
20029           fixed make distcheck with gtk-doc 1.3
20030
20031 2005-06-23  Wim Taymans  <wim@fluendo.com>
20032
20033         * gst/gstelement.c: (gst_element_get_state_func),
20034         (gst_element_set_state), (gst_element_change_state):
20035         When the state did not change, also report NO_PREROLL
20036         when it matters.
20037
20038 2005-06-23  Wim Taymans  <wim@fluendo.com>
20039
20040         * gst/gstpad.c: (gst_pad_event_default):
20041         * gst/gstqueue.c: (gst_queue_loop):
20042         No unsafe task pausing please.
20043
20044 2005-06-23  Wim Taymans  <wim@fluendo.com>
20045
20046         * gst/schedulers/threadscheduler.c:
20047         (gst_thread_scheduler_task_start),
20048         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
20049         Ref the task before pushing it on the threadpool. This
20050         makes sure that we have a ref when the threadfunction is
20051         actually called.
20052
20053 2005-06-23  Andy Wingo  <wingo@pobox.com>
20054
20055         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
20056         offset is greater than the file's size.
20057
20058         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
20059         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
20060         * gst/gstobject.c (gst_object_class_init): Make the class lock
20061         recursive. Wim won't let me drop deep_notify. Decodebin works
20062         again, whoopdy doo.
20063
20064         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
20065         internal pad, and hacks accordingly. Doesn't do it on the target
20066         pad because we change its caps. Probably catches all cases of
20067         interest tho.
20068         (gst_ghost_pad_set_property): Connect to notify::caps as
20069         appropritate.
20070
20071         * tests/network-clock.scm (plot-simulation): Pipe data to the
20072         elite python skript.
20073
20074         * tests/network-clock-utils.scm (define-parameter): New macro,
20075         defines a parameter that can be set via the command line.
20076         (set-parameter!, parse-parameter-arguments): Command line args
20077         parser.
20078
20079         * tests/plot-data: Simple matplotlib-based plotter, takes input on
20080         stdin.
20081
20082 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
20083
20084         * gst/elements/gsttypefindelement.c:
20085         (gst_type_find_element_handle_event):
20086           Don't restart typefinding on a discont.
20087         * gst/gstelement.c: (gst_element_set_state):
20088           Debug spelling fix.
20089         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
20090           Allow changing mode of an active pad.
20091           Debug output fixes.
20092         * gst/registries/gstlibxmlregistry.c: (load_feature):
20093           Don't cast a static pad template to a normal pad template.
20094
20095 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20096
20097         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
20098         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
20099           remove gst_strtoll completely, since it didn't actually do
20100           anything more than what g_ascii_strtoull already does.
20101           check for range errors when deserializing
20102           do a cast for the unsigned cases; but further fixing needs
20103           a decision on what the interpretation of "(int)" and
20104           deserialization should be for values that fall outside the
20105           type's boundaries (ie, refuse, or interpret as casting)
20106
20107 2005-06-23  Wim Taymans  <wim@fluendo.com>
20108
20109         * check/Makefile.am:
20110         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
20111         * docs/design/part-live-source.txt:
20112         * docs/design/part-states.txt:
20113         * gst/base/gstbasesrc.c: (gst_basesrc_init),
20114         (gst_basesrc_set_live), (gst_basesrc_is_live),
20115         (gst_basesrc_get_range), (gst_basesrc_activate),
20116         (gst_basesrc_change_state):
20117         * gst/base/gstbasesrc.h:
20118         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
20119         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
20120         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
20121         * gst/gstelement.c: (gst_element_get_state_func),
20122         (gst_element_set_state):
20123         * gst/gstelement.h:
20124         * gst/gsttypes.h:
20125         * tools/gst-launch.c: (event_loop), (main):
20126         Added support for live sources and other elements that
20127         cannot do preroll.
20128         Updated design docs, added live-source design doc.
20129         Implemented live source functionality in basesrc
20130         Fix error condition in _bin_get_state()
20131         Implement live source handling in -launch.
20132         Added check for live sources.
20133         Fixed case in GstBin where elements were changed state
20134         multiple times.
20135
20136
20137 2005-06-23  Andy Wingo  <wingo@pobox.com>
20138
20139         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
20140         borken refcounting.
20141
20142         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
20143         gst_caps_replace takes care of this for us.
20144
20145         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
20146         gst_pad_set_caps on the target, not just its setcaps() function.
20147
20148         * tests/network-clock.scm: 
20149         * tests/network-clock-utils.scm: A network clock simulator.
20150         Something of an algorithmic testbed before doing something in C.
20151
20152 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20153
20154         * check/Makefile.am:
20155         * check/gst/capslist.h:
20156           copy over from 0.8, and add two with bitmasks specified with
20157           (int) 0xFF...
20158         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
20159           add test to parse everything from capslist.h
20160         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
20161         (main):
20162           add test for structure deserialization
20163         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
20164           add tests for deserialization of strings to int types
20165         * gst/gststructure.c: (gst_structure_nth_field_name):
20166         * gst/gststructure.h:
20167           add a way to get the name of a field referenced by index
20168         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
20169           instead of checking if the resulting long long lies between
20170           min and max, we check if the long long would fit into
20171           a number of bytes for the final type.
20172           This fixes cases where a string represents 2^32 - 1, which
20173           when cast to int would be the (valid) -1, but is bigger than
20174           G_MAXINT
20175
20176 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20177
20178         * gst/parse/grammar.y:
20179           add a log line for type deserialization
20180
20181 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20182
20183         * check/gst/gstvalue.c: (START_TEST):
20184         * gst/gstvalue.c: (gst_value_deserialize):
20185           return long long, not int, so gint64 deserialization actually
20186           works.  Is there any flag that makes the compiler check this ?
20187           Fixes #308559
20188
20189 2005-06-22  Wim Taymans  <wim@fluendo.com>
20190
20191         * gst/gstbuffer.h:
20192         Added convenience macros for setting buffers in GValue.
20193
20194 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
20195
20196         * check/gst/.cvsignore:
20197         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
20198           add a test deserializing int64, and comment part out because
20199           it fails, yay !
20200
20201 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
20202
20203         * check/Makefile.am:
20204         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
20205         * testsuite/Makefile.am:
20206         * testsuite/caps/Makefile.am:
20207         * testsuite/caps/value_serialize.c:
20208         * testsuite/test_gst_init.c:
20209           move a value_serialize test over
20210
20211 2005-06-20  Wim Taymans  <wim@fluendo.com>
20212
20213         * gst/gstpad.c:
20214         Small doc updates.
20215         
20216         * gst/gstvalue.c: (gst_value_compare_buffer),
20217         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
20218         (gst_value_compare_flags), (gst_value_serialize_flags),
20219         (gst_value_deserialize_flags), (_gst_value_initialize):
20220         Fix serialisation of buffers, they are not boxed types anymore
20221
20222 2005-06-20  Wim Taymans  <wim@fluendo.com>
20223
20224         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
20225         Testcase to show error in buffer-on-caps serialisation.
20226
20227 2005-06-20  Andy Wingo  <wingo@pobox.com>
20228
20229         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
20230         will be adding to later.
20231
20232         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
20233         if its socks fill with rocks.
20234         (gst_system_clock_obtain): Set the name on object construction.
20235         Avoid double-checked locking.
20236
20237 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
20238
20239         * gst/gsturi.c: (gst_element_make_from_uri):
20240           Fix potential endless loop.
20241
20242 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20243
20244         * check/Makefile.am:
20245           add gsttag
20246         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
20247         (main):
20248           move over from testsuite dir and clean up
20249         * configure.ac:
20250         * gst/gsttag.c:
20251         * testsuite/Makefile.am:
20252         * testsuite/tags/.cvsignore:
20253         * testsuite/tags/Makefile.am:
20254         * testsuite/tags/merge.c:
20255           remove testsuite/tags
20256
20257 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20258
20259         * docs/gst/gstreamer-sections.txt:
20260         * docs/gst/tmpl/gstenumtypes.sgml:
20261         * win32/gstenumtypes.c:
20262           clean up documentation build a little
20263
20264 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20265
20266         * check/gstcheck.h:
20267           add macros for checking refcounts on objects and caps
20268         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
20269           add some more unit tests
20270         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
20271         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
20272           fix leaked refcounts (I hope :)) so unittest works
20273         * gst/gstpad.h:
20274           whitespace removal
20275
20276 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20277
20278         * configure.ac: back to HEAD
20279
20280 === release 0.9.1 ===
20281
20282 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
20283
20284         * NEWS:
20285         * RELEASE:
20286           updated
20287
20288 2005-06-17  Andy Wingo  <wingo@pobox.com>
20289
20290         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
20291         assert; it's always possible that the pad gets deactivated in
20292         between the checks in gstpad.c and the implementation. Rely on
20293         finish_preroll() to return a FLUSHING or similar instead of on the
20294         assert.
20295         
20296         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
20297         clock and post an EOS message if we come out of finish_preroll in
20298         the playing state.
20299
20300 2005-06-16  David Schleef  <ds@schleef.org>
20301
20302         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
20303         (gst_capsfilter_set_property): Allow NULL as possible value
20304         for filter_caps property, indicating GST_CAPS_ANY.
20305
20306 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
20307
20308         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
20309           fix debug output
20310         * gst/schedulers/Makefile.am:
20311           use libgst prefix
20312         * gstreamer.spec.in:
20313           fix spec for it
20314
20315 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
20316
20317         * gstreamer.spec.in:
20318           clean up
20319
20320 2005-06-08  Andy Wingo  <wingo@pobox.com>
20321
20322         * gst/gstutils.c: RPAD fixes all around.
20323         (gst_element_link_pads): Refcounting fixes.
20324
20325         * tools/gst-inspect.c:
20326         * tools/gst-xmlinspect.c:
20327         * parse/grammar.y:
20328         * gst/base/gsttypefindhelper.c:
20329         * gst/base/gstbasesink.c:
20330         * gst/gstqueue.c: RPAD fixes.
20331
20332         * gst/gstghostpad.h:
20333         * gst/gstghostpad.c: New ghost pad implementation as full proxy
20334         pads. The tricky thing is they provide both source and sink
20335         interfaces, since they proxy the internal pad for the external
20336         pad, and vice versa. Implement with lower-level ProxyPad objects,
20337         with the interior proxy pad as a child of the exterior ghost pad.
20338         Should write a doc on this.
20339         
20340         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
20341         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
20342         gst_object API.
20343         
20344         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
20345         pads are real pads. No ghost pads in this file. Not documenting
20346         the myriad s/RPAD/PAD/ and REALIZE fixes.
20347         (gst_pad_class_init): Add properties for "direction" and
20348         "template". Both are construct-only, so they can't change during
20349         the life of the pad. Fixes properly deriving from GstPad.
20350         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
20351         derived objects, just set properties when creating the objects via
20352         g_object_new.
20353         (gst_pad_get_parent): Implement as a function, return NULL if the
20354         parent is not an element.
20355         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
20356         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
20357         
20358         * gst/gstobject.c (gst_object_class_init): Make name a construct
20359         property. Don't set it in the object init.
20360
20361         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
20362         with UNKNOWN direction.
20363         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
20364         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
20365         (gst_element_remove_pad): Remove ghost-pad special cases.
20366         (gst_element_pads_activate): Remove rpad cruft.
20367
20368         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
20369         catch the pad's-parent-not-an-element case.
20370
20371         * gst/gst.h: Include gstghostpad.h.
20372
20373         * gst/gst.c (init_post): No more real, ghost pads.
20374
20375         * gst/Makefile.am: Add gstghostpad.[ch].
20376
20377         * check/Makefile.am:
20378         * check/gst/gstbin.c:
20379         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
20380         into a bin creates ghost pads, and that the refcounts are right.
20381         Partly moved from gstbin.c.
20382
20383 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20384
20385         * check/gst-libs/.cvsignore:
20386         * check/gst/.cvsignore:
20387         * check/pipelines/.cvsignore:
20388           ignore more
20389         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
20390         (START_TEST), (cleanup_suite), (main):
20391           add some tests related to cleanup after running pipelines
20392
20393 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20394
20395         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
20396           add a testsuite for GstBuffer
20397
20398 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20399
20400         * gst/gstminiobject.h:
20401           add defines for accessing the refcount
20402
20403 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
20404
20405         * Makefile.am: added support for html unit test coverage reports
20406
20407 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
20408
20409         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
20410           Free existing caps if the capsfilter changes. Add a FIXME about
20411           setting those caps on the pads.
20412
20413         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
20414           Before adding a ghost pad to a parent bin, check that there isn't
20415           already one for the element on the bin. Prevents infinite recursion
20416           when using decodebin in parse pipelines. Andy says he'll rewrite the
20417           way this works anyway, so ignore the hack.
20418
20419 2005-06-02  Andy Wingo  <wingo@pobox.com>
20420
20421         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
20422         file size, pass it on to the type find helper.
20423
20424         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
20425         segment_start and segment_end properly according to the seek
20426         method. Segment_end is still a bit flaky because offset can be
20427         negative for CUR and END cases, but it takes -1 as an "unset"
20428         value.
20429
20430 2005-06-02  Wim Taymans  <wim@fluendo.com>
20431
20432         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
20433         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
20434         (gst_basesink_activate):
20435         * gst/base/gstbasesink.h:
20436         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
20437         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
20438         (gst_pad_query), (gst_pad_start_task):
20439         * gst/gstpad.h:
20440         * gst/gstqueue.c: (gst_queue_bufferalloc),
20441         (gst_queue_handle_sink_event), (gst_queue_chain):
20442         Bufferalloc: return GstFlowReturn to more accuratly report
20443         why allocation failed.
20444
20445 2005-06-02  Wim Taymans  <wim@fluendo.com>
20446
20447         * gst/gstpipeline.c: (gst_pipeline_send_event):
20448         Take snapshot of state without blocking.
20449
20450 2005-06-02  Wim Taymans  <wim@fluendo.com>
20451
20452         * docs/design/part-TODO.txt:
20453         * docs/design/part-caps.txt:
20454         * docs/design/part-clocks.txt:
20455         * docs/design/part-negotiation.txt:
20456         * docs/design/part-preroll.txt:
20457         Small doc updates 
20458
20459 2005-05-30  Wim Taymans  <wim@fluendo.com>
20460
20461         * gst/elements/gstidentity.c: (gst_identity_event),
20462         (gst_identity_transform), (gst_identity_get_property):
20463         Protect last_message property as it is accessed from
20464         multiple threads.
20465
20466 2005-05-30  Wim Taymans  <wim@fluendo.com>
20467
20468         * gst/gstelement.c: (gst_element_init),
20469         (gst_element_pads_activate), (gst_element_change_state):
20470         Slicker pad activation code.
20471
20472 2005-05-30  Wim Taymans  <wim@fluendo.com>
20473
20474         * gst/Makefile.am:
20475         * gst/gstelement.h:
20476         * gst/gstelementfactory.h:
20477         * gst/gsttypes.h:
20478         Move elementfactory methods to separate .h file.
20479
20480 2005-05-30  Wim Taymans  <wim@fluendo.com>
20481
20482         * docs/design/part-overview.txt:
20483         * gst/gstsystemclock.h:
20484         Small typo fixes, doc updates.
20485
20486 2005-05-30  Wim Taymans  <wim@fluendo.com>
20487
20488         * gst/gst.c: (gst_init_get_popt_table), (init_post),
20489         (init_popt_callback):
20490         Remove cpu-opt flag.
20491
20492 2005-05-30  Wim Taymans  <wim@fluendo.com>
20493
20494         * gst/gstbuffer.c: (gst_subbuffer_finalize),
20495         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
20496         * gst/gstbuffer.h:
20497         Avoid typechecking in places where not needed.
20498         Added accessor for malloc_data.
20499
20500 2005-05-30  Wim Taymans  <wim@fluendo.com>
20501
20502         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
20503         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
20504         (gst_pad_configure_sink), (gst_pad_configure_src),
20505         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
20506         (gst_pad_start_task):
20507         Propagate errors from _set_caps() in configure_src/sink
20508         functions instead of returning TRUE.
20509         FLUSH events can travel up and downstream
20510
20511
20512 2005-05-30  Wim Taymans  <wim@fluendo.com>
20513
20514         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
20515         (gst_basesink_activate):
20516         Handle EOS in preroll.
20517
20518 2005-05-30  Wim Taymans  <wim@fluendo.com>
20519
20520         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
20521         (gst_queue_loop), (gst_queue_handle_src_event):
20522         Remove old pieces of code
20523         Flushing the queue in an upstream event is a very bad idea.
20524
20525 2005-05-26  Andy Wingo  <wingo@pobox.com>
20526
20527         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
20528         gst_value_set_mini_object so as to add a ref on the object (which
20529         will be removed when the value is unset).
20530
20531         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
20532         arg type in ::handoff.
20533
20534         * gst/gstelement.c (gst_element_change_state): Also deactivate
20535         pads in READY->NULL, just in case the element didn't make it to
20536         PAUSED. Wingo tested, Wim approved.
20537
20538 2005-05-26  Wim Taymans  <wim@fluendo.com>
20539
20540         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
20541         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
20542         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
20543         A flushing pad cannot be used to alloc_buffer from.
20544
20545 2005-05-26  Wim Taymans  <wim@fluendo.com>
20546
20547         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
20548         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
20549         (gst_bus_source_dispatch), (gst_bus_source_finalize),
20550         (gst_bus_create_watch), (gst_bus_add_watch_full):
20551         * gst/gstbus.h:
20552         Implement a real GSource and use g_main_context_wakeup() to
20553         signal new messages instead of the socketpair.
20554
20555 2005-05-25  Wim Taymans  <wim@fluendo.com>
20556
20557         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
20558         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
20559         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
20560         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
20561         (gst_pad_send_event), (gst_pad_start_task):
20562         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
20563         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
20564         (gst_queue_sink_activate), (gst_queue_src_activate),
20565         (gst_queue_change_state):
20566         * gst/gstqueue.h:
20567         Fix state changes for non sinks. We now change sinks, then elements
20568         with unconnected srcpads, then the rest.
20569         More efficient queue unlocking in flush and state changes.
20570         Set the pad activate mode even if it does not have an activate
20571         function.
20572
20573 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20574
20575         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
20576           Don't go in pull mode for non-seekable sources.
20577         * gst/elements/gsttypefindelement.h:
20578         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
20579         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
20580         (free_entry), (stop_typefinding),
20581         (gst_type_find_element_handle_event), (find_peek),
20582         (gst_type_find_element_chain), (do_pull_typefind),
20583         (gst_type_find_element_change_state):
20584           Allow typefinding (w/o seeking) in push-mode, simplified version
20585           of what was in 0.8.
20586         * gst/gstutils.c: (gst_buffer_join):
20587         * gst/gstutils.h:
20588           gst_buffer_join() from 0.8.
20589
20590 2005-05-25  Wim Taymans  <wim@fluendo.com>
20591
20592         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
20593         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
20594         (gst_pad_send_event), (gst_pad_start_task):
20595         Disable attempt at mode switching until it is figured out.
20596
20597 2005-05-25  Wim Taymans  <wim@fluendo.com>
20598
20599         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
20600         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
20601         (gst_basesink_finish_preroll), (gst_basesink_chain),
20602         (gst_basesink_loop), (gst_basesink_activate),
20603         (gst_basesink_change_state):
20604         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
20605         (gst_basesrc_get_range), (gst_basesrc_loop),
20606         (gst_basesrc_activate):
20607         * gst/elements/gsttee.c: (gst_tee_sink_activate):
20608         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
20609         (gst_real_pad_init), (gst_real_pad_set_property),
20610         (gst_real_pad_get_property), (gst_pad_set_active),
20611         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
20612         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
20613         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
20614         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
20615         (gst_pad_event_default_dispatch), (gst_pad_event_default),
20616         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
20617         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
20618         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
20619         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
20620         (gst_pad_stop_task):
20621         * gst/gstpad.h:
20622         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
20623         (gst_queue_loop), (gst_queue_src_activate):
20624         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
20625         (gst_task_get_state):
20626         * gst/gsttask.h:
20627         * gst/schedulers/threadscheduler.c:
20628         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
20629         Implement gst_pad_pause/start/stop_task(), take STREAM lock
20630         in task function.
20631         Remove ACTIVE pad flag, use FLUSHING everywhere
20632         Added _pad_chain(), _pad_get_range() to call chain/getrange 
20633         functions.
20634         Add locks around IS_FLUSHING when reading.
20635         Take STREAM lock in chain(), get_range() functions so plugins
20636         don't need to take it anymore.
20637         
20638
20639
20640 2005-05-25  Wim Taymans  <wim@fluendo.com>
20641
20642         * tools/gst-launch.c: (event_loop):
20643         Unref message after using its contents instead of
20644         before.
20645
20646 2005-05-24  Wim Taymans  <wim@fluendo.com>
20647
20648         * docs/design/draft-ghostpads.txt:
20649         * docs/design/draft-push-pull.txt:
20650         * docs/design/draft-query.txt:
20651         * docs/design/part-overview.txt:
20652         Docs updates, added general overview doc.
20653
20654 2005-05-21  David Schleef  <ds@schleef.org>
20655
20656         * docs/gst/tmpl/old/GstBin.sgml:
20657         * docs/gst/tmpl/old/GstBuffer.sgml:
20658         * docs/gst/tmpl/old/GstCaps.sgml:
20659         * docs/gst/tmpl/old/GstClock.sgml:
20660         * docs/gst/tmpl/old/GstCompat.sgml:
20661         * docs/gst/tmpl/old/GstData.sgml:
20662         * docs/gst/tmpl/old/GstElement.sgml:
20663         * docs/gst/tmpl/old/GstEvent.sgml:
20664         * docs/gst/tmpl/old/GstIndex.sgml:
20665         * docs/gst/tmpl/old/GstStructure.sgml:
20666         * docs/gst/tmpl/old/GstTag.sgml:
20667         * docs/gst/tmpl/old/cothreads.sgml:
20668         * docs/gst/tmpl/old/cothreads_compat.sgml:
20669         * docs/gst/tmpl/old/gettext.sgml:
20670         * docs/gst/tmpl/old/gobject2gtk.sgml:
20671         * docs/gst/tmpl/old/grammar.tab.sgml:
20672         * docs/gst/tmpl/old/gst-i18n-app.sgml:
20673         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
20674         * docs/gst/tmpl/old/gst_private.sgml:
20675         * docs/gst/tmpl/old/gstaggregator.sgml:
20676         * docs/gst/tmpl/old/gstarch.sgml:
20677         * docs/gst/tmpl/old/gstatomic_impl.sgml:
20678         * docs/gst/tmpl/old/gstbufferstore.sgml:
20679         * docs/gst/tmpl/old/gstdata_private.sgml:
20680         * docs/gst/tmpl/old/gstdisksink.sgml:
20681         * docs/gst/tmpl/old/gstdisksrc.sgml:
20682         * docs/gst/tmpl/old/gstelementfactory.sgml:
20683         * docs/gst/tmpl/old/gstextratypes.sgml:
20684         * docs/gst/tmpl/old/gstfakesink.sgml:
20685         * docs/gst/tmpl/old/gstfakesrc.sgml:
20686         * docs/gst/tmpl/old/gstfdsink.sgml:
20687         * docs/gst/tmpl/old/gstfdsrc.sgml:
20688         * docs/gst/tmpl/old/gstfilesink.sgml:
20689         * docs/gst/tmpl/old/gstfilesrc.sgml:
20690         * docs/gst/tmpl/old/gsthttpsrc.sgml:
20691         * docs/gst/tmpl/old/gstidentity.sgml:
20692         * docs/gst/tmpl/old/gstindexfactory.sgml:
20693         * docs/gst/tmpl/old/gstmarshal.sgml:
20694         * docs/gst/tmpl/old/gstmd5sink.sgml:
20695         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
20696         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
20697         * docs/gst/tmpl/old/gstpadtemplate.sgml:
20698         * docs/gst/tmpl/old/gstpipefilter.sgml:
20699         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
20700         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
20701         * docs/gst/tmpl/old/gstshaper.sgml:
20702         * docs/gst/tmpl/old/gstspider.sgml:
20703         * docs/gst/tmpl/old/gstspideridentity.sgml:
20704         * docs/gst/tmpl/old/gststatistics.sgml:
20705         * docs/gst/tmpl/old/gsttee.sgml:
20706         * docs/gst/tmpl/old/gsttimecache.sgml:
20707         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
20708         * docs/gst/tmpl/old/gstxmlregistry.sgml:
20709         * docs/gst/tmpl/old/gthread-cothreads.sgml:
20710         * docs/gst/tmpl/old/types.sgml:
20711           I didn't intend to add these or check them in.
20712
20713 2005-05-19  David Schleef  <ds@schleef.org>
20714
20715         * configure.ac: Use -no-common everywhere.  In a sane world, it
20716           would be the default in libtool, because without it, you can't
20717           build DLLs on Windows.
20718         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
20719         * docs/gst/gstreamer-sections.txt:
20720         * docs/gst/tmpl/gstcpu.sgml:
20721         * docs/gst/tmpl/gstdata.sgml:
20722         * docs/gst/tmpl/gstthread.sgml:
20723
20724 2005-05-19  David Schleef  <ds@schleef.org>
20725
20726         * gst/gstminiobject.c: (gst_value_set_mini_object),
20727         (gst_value_take_mini_object), (gst_value_get_mini_object):
20728         * gst/gstminiobject.h: Add GValue set/get functions.
20729
20730 2005-05-19  Wim Taymans  <wim@fluendo.com>
20731
20732         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
20733         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
20734         (gst_subbuffer_init), (gst_buffer_is_span_fast):
20735         * gst/gstbuffer.h:
20736         * gst/gstbus.c: (gst_bus_post):
20737         * gst/gstelement.c: (gst_element_get_random_pad):
20738         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
20739         Make subbufer unref the parent in finalize.
20740         some more debugging info.
20741
20742
20743 2005-05-19  Wim Taymans  <wim@fluendo.com>
20744
20745         * gst/base/gstbasesink.c: (gst_basesink_class_init),
20746         (gst_basesink_init), (gst_basesink_finalize),
20747         (gst_basesink_activate), (gst_basesink_change_state):
20748         Don't free preroll queue too early.
20749
20750 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20751
20752         * gst/Makefile.am:
20753         * gst/ROADMAP:
20754           Hi, I'm outdated. Please shoot me.
20755
20756 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20757
20758         * gst/gstpipeline.c: (gst_pipeline_send_event):
20759           Do not access variables after they have been deleted.
20760
20761 2005-05-19  Wim Taymans  <wim@fluendo.com>
20762
20763         * tools/gst-inspect.c: (print_plugin_features):
20764         A plugin feature does unfortunatly not use the
20765         object name yet...
20766
20767 2005-05-18  Wim Taymans  <wim@fluendo.com>
20768
20769         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
20770         Port _span() functions to new subbuffers.
20771
20772 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20773
20774         * gst/gstbin.c: (gst_bin_add_func):
20775           Fix clock settery in bins when adding kids after the clock has
20776           been selected.
20777
20778 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20779
20780         * gst/elements/gstidentity.c: (gst_identity_class_init):
20781           Workaround until signals support GstMiniObject.
20782
20783 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
20784
20785         * gst/gstbuffer.c:
20786         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
20787
20788 2005-05-18  Wim Taymans  <wim@fluendo.com>
20789
20790         * gst/base/Makefile.am:
20791         * gst/base/gstadapter.c: (gst_adapter_base_init),
20792         (gst_adapter_class_init), (gst_adapter_init),
20793         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
20794         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
20795         (gst_adapter_flush), (gst_adapter_available),
20796         (gst_adapter_available_fast):
20797         * gst/base/gstadapter.h:
20798         Ported and added adapter to the base classes.
20799
20800 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
20801
20802         * gst/gst.c:
20803         * gst/gstmessage.c:
20804           Make sure the class is reffed/unreffed once before threads can be
20805           used.  Fixes #304551.
20806
20807 2005-05-17  Wim Taymans  <wim@fluendo.com>
20808
20809         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
20810         (gst_basesink_chain_unlocked), (gst_basesink_activate):
20811         * gst/gstminiobject.c: (gst_mini_object_get_type),
20812         (gst_mini_object_free):
20813         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
20814         (gst_pad_push), (gst_pad_push_event):
20815         * gst/gstqueue.c: (gst_queue_change_state):
20816         Don't queue buffers in basesink when we are flushing.
20817         Unref buffer when flushing in basesink.
20818         Flush queue when going to READY
20819         Unref buffer when _push() returns an error.
20820         Don't free MiniObject instance when refcount is incremented
20821         in _finalize() so that we can recover objects.
20822
20823 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
20824
20825         * docs/manual/advanced-schedulers.xml:
20826         * docs/manual/appendix-checklist.xml:
20827         * docs/pwg/advanced-clock.xml:
20828         * docs/pwg/advanced-interfaces.xml:
20829         * docs/pwg/advanced-request.xml:
20830         * docs/pwg/advanced-types.xml:
20831         * docs/pwg/intro-preface.xml:
20832         * examples/plugins/example.c: (gst_example_get_type),
20833         (gst_example_class_init), (gst_example_chain),
20834         (gst_example_set_property), (gst_example_get_property),
20835         (gst_example_change_state), (plugin_init):
20836         * examples/plugins/example.h:
20837           small doc fixes
20838
20839 2005-05-17  Wim Taymans  <wim@fluendo.com>
20840
20841         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
20842         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
20843         * gst/gstqueue.c: (gst_queue_change_state):
20844         Clear queue when going to READY.
20845         Remove IN_SETCAPS flag too.
20846
20847 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
20848
20849         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
20850           Remove implicit cast from gboolean to GstElementStateReturn;
20851           make sure we still return failure in paused => ready case if
20852           the parent class fails to change state and our own stop 
20853           vfunc succeeds.
20854
20855 2005-05-17  Wim Taymans  <wim@fluendo.com>
20856
20857         * tools/gst-launch.c: (event_loop):
20858         Message was unreffed too soon.
20859
20860 2005-05-16  Andy Wingo  <wingo@pobox.com>
20861
20862         * gst/gstbin.c (sink_iterator_filter): Err... um...
20863
20864         * check/gst/gstbin.c (test_ghost_pads): New test for the
20865         ghosting-if-elements-not-in-same-bin behavior.
20866
20867 2005-05-16  David Schleef  <ds@schleef.org>
20868
20869         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
20870         accessing refcount directly.
20871
20872 2005-05-15  David Schleef  <ds@schleef.org>
20873
20874         * check/Makefile.am: remove GstData checks
20875         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
20876         * gst/Makefile.am: add miniobject, remove data
20877         * gst/gst.h: add miniobject, remove data
20878         * gst/gstdata.c: remove
20879         * gst/gstdata.h: remove
20880         * gst/gstdata_private.h: remove
20881         * gst/gsttypes.h: remove GstEvent and GstMessage
20882         * gst/gstelement.c: (gst_element_post_message): fix for API changes
20883         * gst/gstmarshal.list: change BOXED -> OBJECT
20884
20885         Implement GstMiniObject.
20886         * gst/gstminiobject.c:
20887         * gst/gstminiobject.h:
20888
20889         Modify to be subclasses of GstMiniObject.
20890         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
20891         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
20892         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
20893         (gst_subbuffer_get_type), (gst_subbuffer_init),
20894         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
20895         (gst_buffer_span):
20896         * gst/gstbuffer.h:
20897         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
20898         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
20899         (_gst_event_copy), (gst_event_new):
20900         * gst/gstevent.h:
20901         * gst/gstmessage.c: (_gst_message_initialize),
20902         (gst_message_get_type), (gst_message_class_init),
20903         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
20904         (gst_message_new), (gst_message_new_error),
20905         (gst_message_new_warning), (gst_message_new_tag),
20906         (gst_message_new_state_changed), (gst_message_new_application):
20907         * gst/gstmessage.h:
20908         * gst/gstprobe.c: (gst_probe_perform),
20909         (gst_probe_dispatcher_dispatch):
20910         * gst/gstprobe.h:
20911         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
20912         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
20913         (_gst_query_copy), (gst_query_new):
20914
20915         Update elements for GstData -> GstMiniObject changes
20916         * gst/gstquery.h:
20917         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
20918         (gst_queue_chain), (gst_queue_loop):
20919         * gst/elements/gstbufferstore.c:
20920         (gst_buffer_store_add_buffer_func),
20921         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
20922         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
20923         (gst_fakesink_render):
20924         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
20925         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
20926         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
20927         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
20928         (gst_filesrc_create_read):
20929         * gst/elements/gstidentity.c: (gst_identity_class_init):
20930         * gst/elements/gsttypefindelement.c:
20931         (gst_type_find_element_src_event), (free_entry_buffers),
20932         (gst_type_find_element_handle_event):
20933         * libs/gst/dataprotocol/dataprotocol.c:
20934         (gst_dp_header_from_buffer):
20935         * libs/gst/dataprotocol/dataprotocol.h:
20936         * libs/gst/dataprotocol/dp-private.h:
20937
20938 2005-05-15  David Schleef  <ds@schleef.org>
20939
20940         * gst/elements/gstelements.c: Don't include headers that were
20941         just removed.
20942
20943 2005-05-15  David Schleef  <ds@schleef.org>
20944
20945         * gst/elements/Makefile.am: Remove some elements that don't
20946         need to be in the core (or even exist at all).
20947         * gst/elements/gstaggregator.c:
20948         * gst/elements/gstaggregator.h:
20949         * gst/elements/gstmd5sink.c:
20950         * gst/elements/gstmd5sink.h:
20951         * gst/elements/gstmultifilesrc.c:
20952         * gst/elements/gstmultifilesrc.h:
20953         * gst/elements/gstpipefilter.c:
20954         * gst/elements/gstpipefilter.h:
20955         * gst/elements/gstshaper.c:
20956         * gst/elements/gstshaper.h:
20957         * gst/elements/gststatistics.c:
20958         * gst/elements/gststatistics.h:
20959         * po/POTFILES.in: Remove above files.
20960
20961 2005-05-14  Andy Wingo  <wingo@pobox.com>
20962
20963         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
20964         so as to get the refs right.
20965         (sink_iterator_filter): New function, wraps bin_element_is_sink,
20966         unreffing objects that don't pass the filter.
20967
20968         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
20969         gst_element_set_bus.
20970         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
20971         normal cases, this will destroy the bus.
20972
20973         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
20974         object.
20975
20976         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
20977         has no sinks.
20978
20979 2005-05-13  Andy Wingo  <wingo@pobox.com>
20980
20981         * gst/gstutils.c (gst_element_link_pads): Instead of calling
20982         gst_pad_link, call pad_link_maybe_ghosting,
20983         (pad_link_maybe_ghosting): Links pads, making sure that the
20984         elements being linked are in the same bin.
20985         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
20986         Helpers for pad_link_maybe_ghosting.
20987
20988 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
20989
20990         * configure.ac:
20991           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
20992
20993 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
20994
20995         * docs/design/part-element-source.txt:
20996           Mention GstPushSrc
20997
20998 2005-05-12  Wim Taymans  <wim@fluendo.com>
20999
21000         * gst/base/gstbasesink.c: (gst_basesink_init),
21001         (gst_basesink_activate):
21002         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
21003         (gst_basesrc_is_seekable):
21004         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
21005         (bin_element_is_sink), (gst_bin_change_state):
21006         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
21007         * gst/gstelement.h:
21008         Identify sinks by their flag to avoid overly complicated
21009         checks (fow now).
21010         Do state changes even for elements not reachable from the
21011         sinks.
21012         BaseSink is a sink now :)
21013         Some more debugging info in the basesrc.
21014
21015
21016 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21017
21018         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
21019           Implement _query on a bin, similar to _send_event.
21020
21021 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
21022
21023         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
21024           Discont event offset format should be GST_FORMAT_BYTES,
21025           not GST_FORMAT_TIME.
21026
21027 2005-05-12  Wim Taymans  <wim@fluendo.com>
21028
21029         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
21030         Same fix as Ronald's but without the signal. 
21031
21032 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21033
21034         * gst/gstutils.c: (gst_element_query_position):
21035           No, an element is not a pad.
21036
21037 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21038
21039         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
21040         (gst_bin_get_state):
21041           If a child is removed from a bin while we remove the child from
21042           the bin and while we're retrieving its state, signal this to the
21043           get_state function so we abort the wait (instead of waiting for
21044           a timeout) and can immediately re-iterate over all other elements.
21045
21046 2005-05-12  Wim Taymans  <wim@fluendo.com>
21047
21048         * gst/base/Makefile.am:
21049         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
21050         (gst_basesrc_start):
21051         * gst/base/gstbasesrc.h:
21052         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
21053         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
21054         (gst_pushsrc_init), (gst_pushsrc_create):
21055         * gst/base/gstpushsrc.h:
21056         Added is_seekable to BaseSrc
21057         Added simple PushSrc.
21058
21059 2005-05-11  Wim Taymans  <wim@fluendo.com>
21060
21061         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
21062         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21063         (gst_element_link_pads), (gst_element_query_position),
21064         (gst_element_query_convert), (intersect_caps_func),
21065         (gst_pad_query_position), (gst_pad_query_convert):
21066         Fix refcounting in utils function.
21067         No point in trying to activate a pad when it's added, it could
21068         be added from the state change function and then we deadlock, the
21069         element has to decide what to do.
21070
21071 2005-05-10  Andy Wingo  <wingo@pobox.com>
21072
21073         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
21074         *all* the arguments.
21075
21076         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
21077         stream lock if it's a FLUSH_DONE; normal flushes don't get the
21078         lock (according to the docs -- if this is wrong change the docs).
21079
21080         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
21081         flush messages in the NULL state.
21082
21083         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
21084         message immediately and return.
21085         (gst_bus_set_flushing): New function. If a bus is flushing, it
21086         flushes out any queued messages and immediately unrefs new
21087         messages. This is so when an element goes to NULL, all of the
21088         unhandled messages coming from it can be freed, and their
21089         references to the element dropped. In other words: message source
21090         ref considered harmful :P
21091
21092         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
21093         we're finished with it.
21094
21095         * gst/gstmessage.c (gst_message_new_state_changed): 
21096
21097 2005-05-10  Wim Taymans  <wim@fluendo.com>
21098
21099         * gst/gstvalue.c: (gst_value_compare_flags),
21100         (gst_value_serialize_flags), (gst_value_deserialize_flags),
21101         (_gst_value_initialize):
21102         Added flags serialize/deserialize/compare code.
21103
21104 2005-05-09  Andy Wingo  <wingo@pobox.com>
21105
21106         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
21107         Intersect the peer's caps with our caps.
21108
21109 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21110
21111         * gst/base/gsttypefindhelper.c: (helper_find_peek):
21112         * gst/elements/gsttypefindelement.c: (find_peek):
21113           Handle negative offsets better. Fixes decodebin.
21114
21115 2005-05-09  Wim Taymans  <wim@fluendo.com>
21116
21117         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
21118         (gst_base_transform_event):
21119         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
21120         Implement accept_caps.
21121         Fix silly lock/unlock mismatch in base class.
21122
21123 2005-05-09  Wim Taymans  <wim@fluendo.com>
21124
21125         * docs/design/draft-push-pull.txt:
21126         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
21127         * gst/elements/gstfilesink.c: (gst_filesink_init),
21128         (gst_filesink_query):
21129         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
21130         (gst_type_find_handle_src_query), (find_element_get_length):
21131         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
21132         * gst/gstelement.h:
21133         * gst/gstmessage.c:
21134         * gst/gstmessage.h:
21135         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
21136         (gst_real_pad_get_caps_unlocked),
21137         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
21138         (gst_pad_event_default_dispatch), (gst_pad_event_default),
21139         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
21140         (gst_real_pad_dispose), (gst_real_pad_finalize),
21141         (gst_pad_load_and_link), (gst_pad_save_thyself),
21142         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
21143         (gst_pad_check_pull_range), (gst_pad_pull_range),
21144         (gst_pad_template_get_type), (gst_pad_template_class_init),
21145         (gst_pad_template_init), (gst_pad_template_dispose),
21146         (name_is_valid), (gst_static_pad_template_get),
21147         (gst_pad_template_new), (gst_static_pad_template_get_caps),
21148         (gst_pad_template_get_caps), (gst_pad_set_element_private),
21149         (gst_pad_get_element_private), (gst_pad_start_task),
21150         (gst_pad_pause_task), (gst_pad_stop_task),
21151         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
21152         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
21153         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
21154         (gst_ghost_pad_new):
21155         * gst/gstpad.h:
21156         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
21157         (gst_query_new_position), (gst_query_set_position),
21158         (gst_query_parse_position), (gst_query_new_convert),
21159         (gst_query_set_convert), (gst_query_parse_convert):
21160         * gst/gstquery.h:
21161         * gst/gstqueryutils.c:
21162         * gst/gstqueryutils.h:
21163         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
21164         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
21165         (gst_queue_handle_src_query):
21166         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21167         (gst_element_query_position), (gst_element_query_convert),
21168         (intersect_caps_func), (gst_pad_query_position),
21169         (gst_pad_query_convert):
21170         * gst/gstutils.h:
21171         * tools/gst-inspect.c: (print_pad_info):
21172         * tools/gst-xmlinspect.c: (print_element_info):
21173         Remove old query functions. Ported old code.
21174         Added position/convert helper functions to gstutils.
21175         Reordered gstpad.c code, grouping relevant things.
21176         Remove gst_message_new(), always need to speficy a specific
21177         message.
21178
21179
21180 2005-05-09  Andy Wingo  <wingo@pobox.com>
21181
21182         * gst/gstiterator.h: Add some includes.
21183
21184         * gst/gstqueryutils.h: Include more headers.
21185
21186         * gst/gstpad.h:
21187         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
21188         some uses of gst_pad_query.
21189
21190         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
21191         NULL out parameters.
21192         (gst_query_new_position): New proc, allocates a new position
21193         query.
21194
21195         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
21196         gstqueryutils.c to the build.
21197
21198         * gst/gststructure.c (gst_structure_set_valist): Implement with
21199         the generic G_VALUE_COLLECT.
21200         
21201 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
21202
21203         * gst/Makefile.am: (gst_headers):
21204         Added gstqueryutils.h to the list of headers to install, that was
21205         a 'nachty' move wingo :)
21206
21207 2005-05-06  Andy Wingo  <wingo@pobox.com>
21208
21209         * gst/gstquery.h
21210         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
21211         GstData, init a memchunk.
21212         (standard_definitions): Add a few query types, deprecate a few.
21213         (gst_query_get_type): New proc.
21214         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
21215         implementation.
21216         (gst_query_new_application, gst_query_get_structure): New public
21217         procs.
21218
21219         * docs/design/draft-query.txt: Removed LINKS from the query types,
21220         because all the rest can be dispatched to other pads -- seemed
21221         ugly to have a query that couldn't be dispatched. internal_links
21222         is fine as a pad method.
21223
21224         * gst/gstpad.h: Add query2 as a pad method, add the new functions
21225         in gstpad.c, but maintain binary compatibility for the moment.
21226         Will fix before 0.9 is out.
21227
21228         * gst/gstqueryutils.c: 
21229         * gst/gstqueryutils.h: New files, implement 3 methods for each
21230         query type: parse_query, parse_response, and set. Probably need an
21231         allocator as well.
21232
21233         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
21234
21235         * gst/elements/gstfilesink.c (gst_filesink_query2):
21236         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
21237         query_types, and formats methods.
21238
21239         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
21240         (gst_pad_set_query2_function): New functions.
21241         (gst_real_pad_init): Set query2_default as the default query2
21242         function. Basically just dispatches to internally linked pads.
21243
21244         Needs review!
21245         
21246         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
21247         without using the atomic operations. Only one thread can possibly
21248         be accessing the data at this point. Changed so as to avoid
21249         gst_atomic operations.
21250
21251 2005-05-06  Wim Taymans  <wim@fluendo.com>
21252
21253         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
21254         Also set caps if we use the fallback buffer alloc.
21255
21256 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
21257
21258         * docs/gst/Makefile.am:
21259         * docs/gst/gstreamer-docs.sgml:
21260         * docs/gst/gstreamer-sections.txt:
21261         * docs/gst/tmpl/gstatomic.sgml:
21262         * docs/gst/tmpl/gstmemchunk.sgml:
21263         * testsuite/elements/struct_i386.h:
21264         * win32/GStreamer.vcproj:
21265         * win32/Makefile:
21266           Purge GstAtomic stuff from docs and win32 makefiles as well
21267
21268 2005-05-06  Wim Taymans  <wim@fluendo.com>
21269
21270         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
21271         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
21272         * gst/gstpad.c: (gst_pad_peer_get_caps):
21273         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
21274         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
21275         (gst_queue_src_activate), (gst_queue_change_state):
21276         * gst/gstqueue.h:
21277         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21278         (intersect_caps_func):
21279         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
21280         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
21281         Some fixes for the peer_get_caps() change.
21282
21283 2005-05-06  Wim Taymans  <wim@fluendo.com>
21284
21285         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
21286         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
21287         (gst_basesink_activate):
21288         Actually do something with error codes returned from the push
21289         functions.
21290
21291 2005-05-06  Wim Taymans  <wim@fluendo.com>
21292
21293         * docs/design/part-element-sink.txt:
21294         * docs/design/part-element-source.txt:
21295         * gst/base/gstbasesink.c: (gst_basesink_class_init),
21296         (gst_basesink_event), (gst_basesink_activate):
21297         * gst/base/gstbasesink.h:
21298         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
21299         (gst_basesrc_activate):
21300         * gst/base/gstbasesrc.h:
21301         * gst/gstelement.c: (gst_element_pads_activate):
21302         Some more documentation.
21303         Fixed scheduling decision in _pads_activate().
21304
21305 2005-05-05  Andy Wingo  <wingo@pobox.com>
21306
21307         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
21308         the test suite.
21309
21310 2005-05-05  Wim Taymans  <wim@fluendo.com>
21311
21312         * gst/base/Makefile.am:
21313         * gst/base/gstbasesink.h:
21314         * gst/base/gstbasesrc.c: (gst_basesrc_init),
21315         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
21316         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
21317         (gst_collectpads_class_init), (gst_collectpads_init),
21318         (gst_collectpads_finalize), (gst_collectpads_new),
21319         (gst_collectpads_set_function), (gst_collectpads_add_pad),
21320         (find_pad), (gst_collectpads_remove_pad),
21321         (gst_collectpads_is_active), (gst_collectpads_collect),
21322         (gst_collectpads_collect_range), (gst_collectpads_start),
21323         (gst_collectpads_stop), (gst_collectpads_peek),
21324         (gst_collectpads_pop), (gst_collectpads_available),
21325         (gst_collectpads_read), (gst_collectpads_flush),
21326         (gst_collectpads_chain):
21327         * gst/base/gstcollectpads.h:
21328         * gst/elements/Makefile.am:
21329         * gst/elements/gstelements.c:
21330         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
21331         (gst_fakesink_get_times), (gst_fakesink_event),
21332         (gst_fakesink_preroll), (gst_fakesink_render):
21333         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
21334         (gst_filesink_init), (gst_filesink_set_location),
21335         (gst_filesink_open_file), (gst_filesink_close_file),
21336         (gst_filesink_pad_query), (gst_filesink_event),
21337         (gst_filesink_render), (gst_filesink_change_state):
21338         * gst/elements/gstfilesink.h:
21339         Added object to help in making collect pad based elements.
21340         Ported filesink.
21341         Make event function in sink baseclass return gboolean.
21342
21343 2005-05-05  Wim Taymans  <wim@fluendo.com>
21344
21345         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
21346         (gst_bin_get_by_name):
21347         * gst/gstbuffer.h:
21348         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
21349         (gst_clock_finalize):
21350         * gst/gstdata.c: (gst_data_replace):
21351         * gst/gstdata.h:
21352         * gst/gstelement.c: (gst_element_request_pad),
21353         (gst_element_pads_activate):
21354         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
21355         (gst_object_unref):
21356         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21357         (gst_pad_set_checkgetrange_function),
21358         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
21359         (gst_pad_check_pull_range), (gst_pad_pull_range),
21360         (gst_static_pad_template_get_caps), (gst_pad_start_task),
21361         (gst_pad_pause_task), (gst_pad_stop_task):
21362         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21363         (gst_element_request_pad), (gst_pad_proxy_getcaps):
21364         Fix name lookup in GstBin.
21365         Added _data_replace() function and _buffer_replace()
21366         Use finalize method to clean up clock.
21367         Fix refcounting on request pads.
21368         Fix pad schedule mode error.
21369         Some more object refcounting debug info,
21370
21371
21372 2005-05-04  Andy Wingo <wingo@pobox.com>
21373
21374         * check/Makefile.am:
21375         * docs/gst/tmpl/gstatomic.sgml:
21376         * docs/gst/tmpl/gstplugin.sgml:
21377         * gst/base/gstbasesink.c: (gst_basesink_activate):
21378         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
21379         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
21380         (gst_basesrc_query), (gst_basesrc_set_property),
21381         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
21382         (gst_basesrc_activate):
21383         * gst/base/gstbasesrc.h:
21384         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
21385         (gst_base_transform_src_activate):
21386         * gst/elements/gstelements.c:
21387         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
21388         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
21389         * gst/elements/gsttee.c: (gst_tee_sink_activate):
21390         * gst/elements/gsttypefindelement.c: (find_element_get_length),
21391         (gst_type_find_element_checkgetrange),
21392         (gst_type_find_element_activate):
21393         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
21394         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
21395         (gst_caps_load_thyself):
21396         * gst/gstelement.c: (gst_element_pads_activate),
21397         (gst_element_save_thyself), (gst_element_restore_thyself):
21398         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
21399         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
21400         * gst/gstpad.h:
21401         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
21402         (gst_xml_parse_file), (gst_xml_parse_memory),
21403         (gst_xml_get_element), (gst_xml_make_element):
21404         * gst/indexers/gstfileindex.c: (gst_file_index_load),
21405         (_file_index_id_save_xml), (gst_file_index_commit):
21406         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
21407         (read_enum), (load_pad_template), (load_feature), (load_plugin),
21408         (load_paths):
21409         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
21410         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
21411         * tools/gst-complete.c: (main):
21412         * tools/gst-compprep.c: (main):
21413         * tools/gst-inspect.c: (print_element_properties_info):
21414         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
21415         * tools/gst-xmlinspect.c: (print_element_properties):
21416         GCC 4 fixen.
21417         
21418 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
21419
21420         * gst/gstplugin.c: (gst_plugin_check_module),
21421         (gst_plugin_check_file), (gst_plugin_load_file):
21422             apply patch from #172526 to make register work on MacOSX
21423
21424 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21425
21426         * docs/gst/tmpl/gstconfig.sgml:
21427         * gst/gstconfig.h.in:
21428           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
21429         * testsuite/debug/printf_extension.c: (main):
21430           Do not use GST_PTR_FORMAT on pointers to types with
21431           sizeof < sizeof(gpointer).  Fixes test on 64-bit
21432         * testsuite/elements/property.h:
21433           use correct printf format
21434
21435 2005-05-02  Wim Taymans  <wim@fluendo.com>
21436
21437         * docs/design/draft-push-pull.txt:
21438         * docs/design/draft-query.txt:
21439         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
21440         (gst_basesrc_start):
21441         Added draft for new query API.
21442         Added draft for better selecting scheduling methods.
21443         Make basesrc ignore length if the subclass does not support
21444         it.
21445
21446 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21447
21448         * gst/Makefile.am:
21449           possible fixes for automake-1.5 - _LIBADD is reserved
21450
21451 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21452
21453         * docs/faq/Makefile.am:
21454         * docs/manual/Makefile.am:
21455         * docs/manuals.mak:
21456         * docs/pwg/Makefile.am:
21457         * gst/Makefile.am:
21458           possible fixes for automake-1.5
21459
21460 2005-04-28  Wim Taymans  <wim@fluendo.com>
21461
21462         * gst/base/gstbasesink.c: (gst_basesink_base_init),
21463         (gst_basesink_pad_getcaps), (gst_basesink_init),
21464         (gst_basesink_do_sync):
21465         * gst/gstclock.c: (gst_clock_entry_new):
21466         * gst/gstevent.c: (gst_event_discont_get_value):
21467         * gst/gstpipeline.c: (pipeline_bus_handler),
21468         (gst_pipeline_change_state):
21469         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
21470         Better debugging of clocking info.
21471         Allow NULL values when getting discont values.
21472
21473 2005-04-27  Wim Taymans  <wim@fluendo.com>
21474
21475         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
21476         * check/gst/gstpad.c: (gst_pad_suite):
21477         Increase timeout for checks.
21478
21479 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
21480
21481         * check/Makefile.am:
21482           fix the broken rule for cleanup.  Apparently this rule is
21483           only needed on FC2, so maybe this warrants further autotool
21484           inspection.
21485
21486 2005-04-26  Wim Taymans  <wim@fluendo.com>
21487
21488         * gst/gsttrashstack.h:
21489         Ooohh. a nasty one! After having a failed pop() from the stack,
21490         it's possible that the stack is empty. In that case, don't
21491         follow the NULL pointer.
21492
21493 2005-04-25  Wim Taymans  <wim@fluendo.com>
21494
21495         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21496         (gst_pad_set_checkgetrange_function),
21497         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
21498         (gst_pad_check_pull_range), (gst_pad_pull_range),
21499         (gst_static_pad_template_get_caps), (gst_pad_start_task),
21500         (gst_pad_pause_task), (gst_pad_stop_task):
21501         * gst/gstplugin.c: (gst_plugin_load):
21502         * gst/gstplugin.h:
21503         Remove gst_library_load as it does more harm than good with
21504         the new g_module flags.
21505         Revert bogus caps template check in pad linking, pad caps
21506         are important when linking not the template, which is more
21507         general than the current caps.
21508
21509 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21510
21511         * gst/autoplug/.cvsignore:
21512         * gst/autoplug/Makefile.am:
21513         * gst/autoplug/gstsearchfuncs.c:
21514         * gst/autoplug/gstsearchfuncs.h:
21515         * gst/autoplug/gstspider.c:
21516         * gst/autoplug/gstspider.h:
21517         * gst/autoplug/gstspideridentity.c:
21518         * gst/autoplug/gstspideridentity.h:
21519         * gst/autoplug/spidertest.c:
21520           Die, spider, die.
21521
21522 2005-04-25  Wim Taymans  <wim@fluendo.com>
21523
21524         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21525         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
21526         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
21527         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
21528         * gst/gstpad.h:
21529         Added stubs for unimplemented functions. 
21530
21531 2005-04-24  David Schleef  <ds@schleef.org>
21532
21533         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
21534         please fix.
21535
21536 2005-04-24  David Schleef  <ds@schleef.org>
21537
21538         Convert everything from GstAtomicInt to g_atomic_int_*, and
21539         remove gstatomic.
21540         * gst/Makefile.am:
21541         * gst/gstatomic.c:
21542         * gst/gstatomic.h:
21543         * gst/gstatomic_impl.h:
21544         * gst/gstbuffer.c:
21545         * gst/gstcaps.c:
21546         * gst/gstcaps.h:
21547         * gst/gstclock.c:
21548         * gst/gstclock.h:
21549         * gst/gstdata.c:
21550         * gst/gstdata.h:
21551         * gst/gstdata_private.h:
21552         * gst/gstevent.c:
21553         * gst/gstinfo.c:
21554         * gst/gstinfo.h:
21555         * gst/gstmessage.c:
21556         * gst/gstobject.c:
21557         * gst/gstobject.h:
21558         * gst/gststructure.c:
21559         * gst/gststructure.h:
21560         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
21561         * gst/gstutils.h:
21562
21563 2005-04-24  David Schleef  <ds@schleef.org>
21564
21565         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
21566         make the regressions tests work.  Remove some code that is no
21567         longer true.
21568         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
21569         Disable warning for pads without templates.
21570
21571 2005-04-24  David Schleef  <ds@schleef.org>
21572
21573         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
21574         functions that handle filtered links.
21575         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
21576         removed functions.
21577         * gst/gstutils.c: Fix/remove utility functions that handle
21578         filtered caps.
21579         * gst/gstutils.h:
21580         * gst/gstvalue.c: Add serialization/deserialization of caps
21581         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
21582         requires fixing so that the filter caps notation creates
21583         a capsfilter element and sets the filter_caps property.  I
21584         think everyone probably wants to keep the shorthand notation.
21585         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
21586         * docs/gst/tmpl/gstpad.sgml:
21587
21588         * gst/elements/gstelements.c: Register capsfilter element.
21589         * gst/Makefile.am: fix spacing
21590         * docs/random/ds/0.9-suggested-changes: random
21591
21592 2005-04-23  David Schleef  <ds@schleef.org>
21593
21594         * gst/elements/Makefile.am:
21595         * gst/elements/gstcapsfilter.c: New element that acts like an
21596         identity, but filters caps.  Will eventually replace filtered
21597         caps in pad linking.
21598         * gst/gstutils.c: (gst_element_create_all_pads): New function
21599         to create all the ALWAYS pads that are registered with an
21600         element class.  This functionality should eventually be
21601         merged in with GstElement initialization.
21602         * gst/gstutils.h:
21603         * testsuite/trigger/README: part of trigger test code that should
21604         have been checked in a long time ago.
21605
21606 2005-04-23  David Schleef  <ds@schleef.org>
21607
21608         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
21609         needed with new versions of libtool (nobody will confirm this),
21610         and hard to carry around.
21611         * gst/autoplug/Makefile.am:
21612         * gst/base/Makefile.am:
21613         * gst/elements/Makefile.am:
21614         * gst/indexers/Makefile.am:
21615         * gst/schedulers/Makefile.am:
21616         * libs/gst/bytestream/Makefile.am:
21617         * libs/gst/control/Makefile.am:
21618         * libs/gst/dataprotocol/Makefile.am:
21619         * libs/gst/getbits/Makefile.am:
21620
21621 2005-04-21  Wim Taymans  <wim@fluendo.com>
21622
21623         * docs/design/draft-push-pull.txt:
21624         * docs/design/part-MT-refcounting.txt:
21625         * docs/design/part-TODO.txt:
21626         * docs/design/part-caps.txt:
21627         * docs/design/part-events.txt:
21628         * docs/design/part-gstbus.txt:
21629         * docs/design/part-gstpipeline.txt:
21630         * docs/design/part-messages.txt:
21631         * docs/design/part-push-pull.txt:
21632         * docs/design/part-query.txt:
21633         Some more docs.
21634
21635 2005-04-21  Wim Taymans  <wim@fluendo.com>
21636
21637         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
21638         (gst_message_new), (gst_message_new_error),
21639         (gst_message_new_warning), (gst_message_new_tag),
21640         (gst_message_new_state_changed), (gst_message_new_application),
21641         (gst_message_get_structure):
21642         * gst/gstmessage.h:
21643         * gst/gststructure.c: (gst_structure_set_parent_refcount),
21644         (gst_structure_copy_conditional):
21645         Use parent refcount in GstMessage to ensure GstStructure
21646         consistency.
21647         Cleaned up headers a bit.
21648         
21649
21650 2005-04-20  Wim Taymans  <wim@fluendo.com>
21651
21652         * gst/base/gstbasesink.c: (gst_basesink_base_init),
21653         (gst_basesink_pad_getcaps), (gst_basesink_init),
21654         (gst_basesink_chain_unlocked):
21655         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
21656         (gst_type_find_helper):
21657         * gst/elements/gsttypefindelement.c:
21658         (gst_type_find_element_have_type), (gst_type_find_element_init),
21659         (stop_typefinding), (gst_type_find_element_handle_event),
21660         (find_suggest), (gst_type_find_element_chain),
21661         (gst_type_find_element_checkgetrange),
21662         (gst_type_find_element_getrange), (do_typefind),
21663         (gst_type_find_element_activate):
21664         * gst/gstbuffer.c: (_gst_buffer_sub_free),
21665         (gst_buffer_default_free), (gst_buffer_default_copy),
21666         (gst_buffer_set_caps):
21667         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
21668         (gst_caps_replace):
21669         * gst/gstmessage.c: (gst_message_new),
21670         (gst_message_new_state_changed):
21671         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21672         (gst_pad_set_checkgetrange_function),
21673         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
21674         (gst_pad_set_caps), (gst_pad_check_pull_range),
21675         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
21676         * gst/gstpad.h:
21677         * gst/gsttypefind.c: (gst_type_find_register):
21678         Make gst_caps_replace() work like other _replace() functions.
21679         Use _caps_replace() where possible.
21680         Make sure _message_new() initialises its field.
21681         Add gst_static_pad_template_get_caps()
21682
21683
21684 2005-04-18  Andy Wingo  <wingo@pobox.com>
21685
21686         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
21687         on the peer, not the pad. I think that was a typo. Pass an extra
21688         arg to see if random access is possible. Activate the pads as
21689         PULL_RANGE if possible.
21690
21691         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
21692
21693         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
21694         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
21695         to PROP_....
21696
21697 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21698
21699         * docs/faq/using.xml:
21700           Add note on gstreamer-properties (#154996).
21701
21702 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21703
21704         * docs/random/bbb/optional-properties:
21705           Some analysis on optional properties.
21706
21707 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21708
21709         * docs/gst/tmpl/gstelementfactory.sgml:
21710         * gst/gstelement.h:
21711         * gst/gstelementfactory.c: (gst_element_factory_init),
21712         (gst_element_factory_cleanup), (gst_element_register),
21713         (__gst_element_factory_add_static_pad_template),
21714         (gst_element_factory_get_static_pad_templates),
21715         (gst_element_factory_can_src_caps),
21716         (gst_element_factory_can_sink_caps):
21717         * gst/registries/Makefile.am:
21718         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
21719         (gst_xml_registry_class_init), (gst_xml_registry_init),
21720         (gst_xml_registry_new), (gst_xml_registry_set_property),
21721         (gst_xml_registry_get_property), (get_time), (make_dir),
21722         (gst_xml_registry_get_perms_func),
21723         (plugin_times_older_than_recurse), (plugin_times_older_than),
21724         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
21725         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
21726         (add_to_char_array), (read_string), (read_uint), (read_enum),
21727         (load_pad_template), (load_feature), (load_plugin), (load_paths),
21728         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
21729         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
21730         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
21731         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
21732         (gst_xml_registry_rebuild):
21733         * gst/registries/gstlibxmlregistry.h:
21734         * tools/gst-compprep.c: (main):
21735         * tools/gst-inspect.c: (print_pad_templates_info):
21736         * tools/gst-xmlinspect.c: (print_element_info):
21737           Use libxml2 for registry parsing, use staticpadtemplates in
21738           elementfactories. Makes gst_init() +/- 10x faster.
21739
21740 2005-04-12  Wim Taymans  <wim@fluendo.com>
21741
21742         * gst/base/Makefile.am:
21743         * gst/base/gstbasesink.c: (gst_basesink_base_init),
21744         (gst_basesink_pad_getcaps), (gst_basesink_init),
21745         (gst_basesink_event), (gst_basesink_change_state):
21746         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
21747         (gst_basesrc_init), (gst_basesrc_query),
21748         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
21749         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
21750         (gst_basesrc_check_get_range), (gst_basesrc_loop),
21751         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
21752         (gst_basesrc_stop), (gst_basesrc_activate),
21753         (gst_basesrc_change_state):
21754         * gst/base/gsttypefindhelper.c: (helper_find_peek),
21755         (helper_find_suggest), (gst_type_find_helper):
21756         * gst/base/gsttypefindhelper.h:
21757         * gst/elements/Makefile.am:
21758         * gst/elements/gstelements.c:
21759         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
21760         (gst_fakesink_get_times), (gst_fakesink_event),
21761         (gst_fakesink_preroll), (gst_fakesink_render):
21762         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
21763         (gst_fakesrc_init), (gst_fakesrc_event_handler),
21764         (gst_fakesrc_get_property), (gst_fakesrc_create),
21765         (gst_fakesrc_start), (gst_fakesrc_stop):
21766         * gst/elements/gstfakesrc.h:
21767         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
21768         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
21769         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
21770         (gst_filesrc_create_read), (gst_filesrc_create),
21771         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
21772         (gst_filesrc_start):
21773         * gst/elements/gsttypefindelement.c:
21774         (gst_type_find_element_have_type), (gst_type_find_element_init),
21775         (start_typefinding), (stop_typefinding), (push_buffer_store),
21776         (gst_type_find_element_handle_event),
21777         (gst_type_find_element_chain),
21778         (gst_type_find_element_checkgetrange),
21779         (gst_type_find_element_getrange), (do_typefind),
21780         (gst_type_find_element_activate),
21781         (gst_type_find_element_change_state):
21782         * gst/elements/gsttypefindelement.h:
21783         * gst/gstpipeline.c: (pipeline_bus_handler):
21784         Added typefind helper.
21785         Small preroll fix in the base sink.
21786         Disable typefind code in basesrc.
21787         Crude port of typefindelement.
21788         Fakesrc cleanups.
21789
21790
21791 2005-04-11  Wim Taymans  <wim@fluendo.com>
21792
21793         * check/gst/gstbus.c: (gstbus_suite):
21794         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
21795         * check/gstcheck.h:
21796           Fix up the timeout so that the test does not fail.
21797
21798 2005-04-06  Wim Taymans  <wim@fluendo.com>
21799
21800         * gst/base/README:
21801         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
21802         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
21803         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
21804         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
21805         (gst_basesrc_check_get_range), (gst_basesrc_loop),
21806         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
21807         (gst_basesrc_stop), (gst_basesrc_activate),
21808         (gst_basesrc_change_state), (basesrc_find_peek),
21809         (basesrc_find_suggest), (gst_basesrc_type_find):
21810         * gst/base/gstbasesrc.h:
21811         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
21812         (gst_filesrc_class_init), (gst_filesrc_init),
21813         (gst_filesrc_finalize), (gst_filesrc_set_location),
21814         (gst_filesrc_set_property), (gst_filesrc_get_property),
21815         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
21816         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
21817         (gst_filesrc_create_read), (gst_filesrc_create),
21818         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
21819         * gst/elements/gstfilesrc.h:
21820         * gst/gstelement.c: (gst_element_get_state_func),
21821         (gst_element_lost_state), (gst_element_pads_activate):
21822         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21823         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
21824         (gst_pad_pull_range):
21825         * gst/gstpad.h:
21826         More work on the generic source base class, implement seeking,
21827         query.
21828         Make filesrc extend the base source class.
21829         Added gst_pad_set_checkgetrange_function to GstPad.
21830
21831 2005-04-06  Andy Wingo  <wingo@pobox.com>
21832
21833         * pkgconfig/gstreamer-base.pc.in:
21834         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
21835
21836         * pkgconfig/Makefile.am:
21837         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
21838
21839 2005-04-04  Wim Taymans  <wim@fluendo.com>
21840
21841         * gst/base/Makefile.am:
21842         * gst/base/README:
21843         * gst/base/gstbasesink.c: (gst_basesink_base_init),
21844         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
21845         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
21846         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
21847         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
21848         (gst_basesrc_base_init), (gst_basesrc_class_init),
21849         (gst_basesrc_init), (gst_basesrc_get_formats),
21850         (gst_basesrc_get_query_types), (gst_basesrc_query),
21851         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
21852         (gst_basesrc_set_property), (gst_basesrc_get_property),
21853         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
21854         (gst_basesrc_loop), (gst_basesrc_activate),
21855         (gst_basesrc_change_state):
21856         * gst/base/gstbasesrc.h:
21857         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
21858         (gst_fakesrc_class_init), (gst_fakesrc_init),
21859         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
21860         (gst_fakesrc_get_property), (gst_fakesrc_create):
21861         * gst/elements/gstfakesrc.h:
21862         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
21863         (gst_filesrc_open_file), (gst_filesrc_loop),
21864         (gst_filesrc_activate), (filesrc_find_peek),
21865         (gst_filesrc_type_find):
21866         Made base source class, make fakesrc extend it.
21867         Add comments to basesink class.
21868         Some filesrc cleanup.
21869
21870 2005-03-31  David Schleef  <ds@schleef.org>
21871
21872         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
21873         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
21874         expected to link against libgstreamer.
21875         * gst/base/Makefile.am: link against libgstreamer
21876         * gst/elements/Makefile.am: same
21877
21878 2005-03-31  Andy Wingo  <wingo@pobox.com>
21879
21880         * tests/instantiate/Makefile.am:
21881         * tests/instantiate/caps.c: Add test to test speed of caps copy
21882         and free.
21883
21884         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
21885         GMemChunk to be fair.
21886
21887         * gst/gsttrashstack.h: Remove warning about using the fallback
21888         trash stack implementation, it's still faster than malloc.
21889
21890 2005-03-30  Andy Wingo  <wingo@pobox.com>
21891
21892         * tests/complexity.c: Add a copyright.
21893
21894 2005-03-31  Wim Taymans  <wim@fluendo.com>
21895
21896         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
21897         (gst_base_transform_class_init), (gst_base_transform_init),
21898         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
21899         (gst_base_transform_get_property),
21900         (gst_base_transform_sink_activate),
21901         (gst_base_transform_src_activate),
21902         (gst_base_transform_change_state):
21903         * gst/base/gstbasetransform.h:
21904         * gst/elements/gstidentity.c: (gst_identity_class_init),
21905         (gst_identity_event), (gst_identity_check_perfect),
21906         (gst_identity_transform), (gst_identity_start),
21907         (gst_identity_stop):
21908         Added start/stop methods to transform base class so subclasses 
21909         don't need to deal with state changes even.
21910
21911 2005-03-31  Wim Taymans  <wim@fluendo.com>
21912
21913         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
21914         (gst_event_new_discontinuous), (gst_event_discont_get_value):
21915         * gst/gstevent.h:
21916         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21917         (gst_pad_pull_range):
21918         Added rate to the discont event to prepare for variable speed
21919         and reverse playback.
21920
21921 2005-03-29  David Schleef  <ds@schleef.org>
21922
21923         * configure.ac:
21924         * testsuite/trigger/Makefile.am:
21925         * testsuite/trigger/trigger.c: A little example program to show
21926         how trigger-based elements can work.
21927
21928 2005-03-29  Wim Taymans  <wim@fluendo.com>
21929
21930         * gst/base/Makefile.am:
21931         * gst/base/README:
21932         * gst/base/gstbasesink.c: (gst_basesink_get_type),
21933         (gst_basesink_base_init), (gst_basesink_class_init),
21934         (gst_basesink_pad_getcaps), (gst_basesink_init),
21935         (gst_basesink_activate), (gst_basesink_change_state):
21936         * gst/base/gstbasesink.h:
21937         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
21938         (gst_base_transform_base_init), (gst_base_transform_finalize),
21939         (gst_base_transform_class_init), (gst_base_transform_init),
21940         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
21941         (gst_base_transform_event), (gst_base_transform_getrange),
21942         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
21943         (gst_base_transform_set_property),
21944         (gst_base_transform_get_property),
21945         (gst_base_transform_sink_activate),
21946         (gst_base_transform_src_activate),
21947         (gst_base_transform_change_state):
21948         * gst/base/gstbasetransform.h:
21949         * gst/elements/gstidentity.c: (gst_identity_finalize),
21950         (gst_identity_class_init), (gst_identity_init),
21951         (gst_identity_event), (gst_identity_check_perfect),
21952         (gst_identity_transform), (gst_identity_set_property),
21953         (gst_identity_get_property), (gst_identity_change_state):
21954         * gst/elements/gstidentity.h:
21955         * gst/gstelement.c: (gst_element_get_state_func),
21956         (gst_element_lost_state), (gst_element_pads_activate):
21957         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21958         (gst_pad_check_pull_range), (gst_pad_pull_range):
21959         * gst/gstpad.h:
21960         Simplify pad activation.
21961         Added function to check if pull_range can be performed.
21962         Error out when pulling inactive or flushing pads.
21963         Removed const from refcounted types as it does not make sense.
21964         Simplify pad templates in basesink
21965         Added base class for simple 1-to-1 transforms.
21966         Make identity subclass the base transform.
21967
21968 2005-03-29  Andy Wingo  <wingo@pobox.com>
21969
21970         * docs/libs/gstreamer-libs-overrides.txt: 
21971         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
21972         really don't understand what's going on, but like whatever. I want
21973         green buildbot!
21974
21975         * docs/gst/Makefile.am:
21976         * docs/libs/Makefile.am: Dist the overrides files.
21977
21978         * check/Makefile.am (clean-local): Remove .libs directories.
21979
21980         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
21981         elements to EXTRA_DIST, so po/ files are happy.
21982
21983         * po/POTFILES.in: Er, remove it here.
21984
21985         * po/POTFILES: Remove gstspider.c.
21986
21987         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
21988
21989         * docs/libs/gstreamer-libs-docs.sgml: 
21990         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
21991         bytestream.
21992
21993         * tests/complexity.c (main): Set the length of the preroll queue
21994         on the sinks to prevent a lockup.
21995
21996         * libs/gst/dataprotocol/Makefile.am: 
21997         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
21998         the same as the one in check/gst-libs/gdp.c.
21999
22000         * po/, docs/gst/: Commit automatic changes to docs and po files.
22001
22002         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
22003         the versioned libgstbase.
22004
22005         * check/Makefile.am: Depend on an unversioned gst-register, seems
22006         to make autoconf happier.
22007
22008         * gst/base/Makefile.am: Make libgstbase a versioned lib.
22009
22010 2005-03-28  Wim Taymans  <wim@fluendo.com>
22011
22012         * configure.ac:
22013         * docs/design/part-gstelement.txt:
22014         * docs/design/part-negotiation.txt:
22015         * docs/design/part-preroll.txt:
22016         * docs/design/part-scheduling.txt:
22017         * docs/design/part-states.txt:
22018         * gst/Makefile.am:
22019         * gst/base/Makefile.am:
22020         * gst/base/README:
22021         * gst/base/gstbasesink.c: (gst_basesink_get_template),
22022         (gst_basesink_base_init), (gst_basesink_class_init),
22023         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
22024         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
22025         (gst_basesink_set_pad_functions),
22026         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
22027         (gst_basesink_set_property), (gst_basesink_get_property),
22028         (gst_base_sink_get_template), (gst_base_sink_get_caps),
22029         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
22030         (gst_basesink_preroll_queue_push),
22031         (gst_basesink_preroll_queue_empty),
22032         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
22033         (gst_basesink_event), (gst_basesink_get_times),
22034         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
22035         (gst_basesink_chain_unlocked), (gst_basesink_chain),
22036         (gst_basesink_loop), (gst_basesink_activate),
22037         (gst_basesink_change_state):
22038         * gst/base/gstbasesink.h:
22039         * gst/elements/Makefile.am:
22040         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
22041         (gst_fakesink_class_init), (gst_fakesink_init),
22042         (gst_fakesink_set_property), (gst_fakesink_get_property),
22043         (gst_fakesink_get_times), (gst_fakesink_event),
22044         (gst_fakesink_preroll), (gst_fakesink_render),
22045         (gst_fakesink_change_state):
22046         * gst/elements/gstfakesink.h:
22047         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
22048         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
22049         * gst/gstelement.c: (gst_element_add_pad),
22050         (gst_element_get_state_func), (gst_element_abort_state),
22051         (gst_element_commit_state), (gst_element_lost_state),
22052         (gst_element_set_state), (gst_element_pads_activate):
22053         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
22054         * gst/gstpipeline.c: (gst_pipeline_send_event),
22055         (gst_pipeline_change_state):
22056         Added state change code.
22057         Added/updated docs.
22058         Added sink base class, make fakesink extend the base class.
22059         Small cleanups in GstPipeline.
22060
22061 2005-03-26  David Schleef  <ds@schleef.org>
22062
22063         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
22064         is broken and should be implemented in a different library.
22065         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
22066         * gst/gst.h: remove gstcpu.h
22067         * gst/gstcpu.c: remove
22068         * gst/gstcpu.h: remove
22069         * gst/Makefile.am.future: Remove this file.  It's ancient.
22070
22071 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22072
22073         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
22074         (gst_bin_send_event):
22075           Add default event/set_manager handlers. The set_manager handler
22076           takes care that the manager is distributed over kids that were
22077           already in the bin before the manager was set. The event handler
22078           is a utility virtual function that sends the event over all sinks,
22079           so that gst_element_send_event (bin, event); has the expected
22080           behaviour.
22081         * gst/gstpad.c: (gst_pad_event_default):
22082           Re-install default event handling for discontinuities, so that
22083           seeking works without requiring hacks in applications or extra
22084           code in sinks.
22085         * gst/gstpipeline.c: (gst_pipeline_class_init),
22086         (gst_pipeline_send_event):
22087           Half hack, half utility: set a pipeline to PAUSED for seek events,
22088           since that is the only way we can guarantee a/v sync. Means that
22089           you can do gst_element_seek (pipeline, method, pos); on a pipeline
22090           and it "just works".
22091
22092 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22093
22094         * gst/gstpipeline.c: (gst_pipeline_use_clock):
22095           Lock/unlock mismatch.
22096
22097 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
22098
22099         * docs/faq/gst-uninstalled:
22100           add gst-plugins-base
22101         * docs/gst/Makefile.am:
22102           don't error out until docs are fixed
22103         * docs/gst/gstreamer.types:
22104           remove thread
22105
22106 2005-03-22  Wim Taymans  <wim@fluendo.com>
22107
22108         * check/Makefile.am:
22109         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
22110         * gst/gststructure.c: (gst_structure_set_valist),
22111         (gst_structure_copy_conditional):
22112         Activated more tests.
22113         Added message test.
22114         Added G_TYPE_POINTER to GstStructure.
22115         
22116
22117 2005-03-22  Wim Taymans  <wim@fluendo.com>
22118
22119         * docs/design/part-TODO.txt:
22120         * docs/design/part-events.txt:
22121         * docs/design/part-gstbin.txt:
22122         * docs/design/part-gstbus.txt:
22123         * docs/design/part-gstpipeline.txt:
22124         * docs/design/part-messages.txt:
22125         * gst/gstbus.c:
22126         * gst/gstmessage.c:
22127         Docs updates
22128
22129 2005-03-21  Wim Taymans  <wim@fluendo.com>
22130
22131         * gst/gstbus.c: (gst_bus_post):
22132         Fix copy-and-paste error.
22133
22134 2005-03-21  Wim Taymans  <wim@fluendo.com>
22135
22136         * check/Makefile.am:
22137         * gst/Makefile.am:
22138         * gst/elements/Makefile.am:
22139         * gst/elements/gstelements.c:
22140         * gst/elements/gstfakesink.c: (gst_fakesink_init),
22141         (gst_fakesink_event), (gst_fakesink_chain):
22142         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
22143         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
22144         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
22145         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
22146         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
22147         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
22148         (gst_fakesrc_loop), (gst_fakesrc_activate),
22149         (gst_fakesrc_change_state):
22150         * gst/elements/gstfakesrc.h:
22151         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
22152         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
22153         (gst_filesrc_open_file), (gst_filesrc_loop),
22154         (gst_filesrc_activate), (gst_filesrc_change_state),
22155         (filesrc_find_peek), (filesrc_find_suggest),
22156         (gst_filesrc_type_find):
22157         * gst/elements/gstidentity.c: (gst_identity_finalize),
22158         (gst_identity_class_init), (gst_identity_init),
22159         (gst_identity_proxy_getcaps), (identity_queue_push),
22160         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
22161         (gst_identity_getrange), (gst_identity_chain),
22162         (gst_identity_sink_loop), (gst_identity_src_loop),
22163         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
22164         (gst_identity_set_property), (gst_identity_get_property),
22165         (gst_identity_change_state):
22166         * gst/elements/gstidentity.h:
22167         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
22168         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
22169         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
22170         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
22171         (gst_tee_sink_activate):
22172         * gst/elements/gsttee.h:
22173         * gst/gst.c: (gst_register_core_elements), (init_post):
22174         * gst/gst.h:
22175         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
22176         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
22177         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
22178         (gst_bin_change_state):
22179         * gst/gstbin.h:
22180         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
22181         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
22182         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
22183         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
22184         (gst_bus_set_sync_handler), (gst_bus_create_watch),
22185         (bus_watch_callback), (bus_watch_destroy),
22186         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
22187         (poll_timeout), (gst_bus_poll):
22188         * gst/gstbus.h:
22189         * gst/gstcaps.h:
22190         * gst/gstdata.h:
22191         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
22192         (gst_element_post_message), (gst_element_message_full),
22193         (gst_element_get_state_func), (gst_element_get_state),
22194         (gst_element_abort_state), (gst_element_commit_state),
22195         (gst_element_lost_state), (gst_element_set_state),
22196         (gst_element_pads_activate), (gst_element_change_state),
22197         (gst_element_dispose), (gst_element_set_manager_func),
22198         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
22199         (gst_element_set_manager), (gst_element_get_manager),
22200         (gst_element_set_bus), (gst_element_get_bus),
22201         (gst_element_set_scheduler), (gst_element_get_scheduler):
22202         * gst/gstelement.h:
22203         * gst/gstevent.c: (gst_event_new_segment_seek),
22204         (gst_event_new_flush):
22205         * gst/gstevent.h:
22206         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
22207         (_gst_message_free), (gst_message_get_type), (gst_message_new),
22208         (gst_message_new_eos), (gst_message_new_error),
22209         (gst_message_new_warning), (gst_message_new_tag),
22210         (gst_message_new_state_changed), (gst_message_new_application),
22211         (gst_message_get_structure), (gst_message_parse_tag),
22212         (gst_message_parse_state_changed), (gst_message_parse_error),
22213         (gst_message_parse_warning):
22214         * gst/gstmessage.h:
22215         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
22216         (gst_real_pad_set_property), (gst_pad_set_active),
22217         (gst_pad_is_active), (gst_pad_set_blocked_async),
22218         (gst_pad_set_blocked), (gst_pad_is_blocked),
22219         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
22220         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
22221         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
22222         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
22223         (gst_pad_link_filtered), (gst_pad_relink_filtered),
22224         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
22225         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
22226         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
22227         (gst_pad_set_caps), (gst_pad_configure_sink),
22228         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
22229         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
22230         (gst_real_pad_dispose), (gst_real_pad_finalize),
22231         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
22232         (gst_pad_event_default_dispatch), (gst_pad_event_default),
22233         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
22234         * gst/gstpad.h:
22235         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
22236         (pipeline_bus_handler), (gst_pipeline_change_state),
22237         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
22238         * gst/gstpipeline.h:
22239         * gst/gstprobe.h:
22240         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
22241         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
22242         (gst_queue_link_src), (gst_queue_bufferalloc),
22243         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
22244         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
22245         (gst_queue_loop), (gst_queue_handle_src_event),
22246         (gst_queue_handle_src_query), (gst_queue_src_activate),
22247         (gst_queue_change_state):
22248         * gst/gstqueue.h:
22249         * gst/gstscheduler.c: (gst_scheduler_init),
22250         (gst_scheduler_dispose), (gst_scheduler_create_task),
22251         (gst_scheduler_factory_create):
22252         * gst/gstscheduler.h:
22253         * gst/gststructure.c: (gst_structure_get_type),
22254         (gst_structure_copy_conditional):
22255         * gst/gststructure.h:
22256         * gst/gsttaginterface.h:
22257         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
22258         (gst_task_init), (gst_task_dispose), (gst_task_create),
22259         (gst_task_get_state), (gst_task_start), (gst_task_stop),
22260         (gst_task_pause):
22261         * gst/gsttask.h:
22262         * gst/gstthread.c:
22263         * gst/gstthread.h:
22264         * gst/gsttypes.h:
22265         * gst/schedulers/Makefile.am:
22266         * gst/schedulers/cothreads_compat.h:
22267         * gst/schedulers/entryscheduler.c:
22268         * gst/schedulers/faircothreads.c:
22269         * gst/schedulers/faircothreads.h:
22270         * gst/schedulers/fairscheduler.c:
22271         * gst/schedulers/gstbasicscheduler.c:
22272         * gst/schedulers/gstoptimalscheduler.c:
22273         * gst/schedulers/gthread-cothreads.h:
22274         * gst/schedulers/threadscheduler.c:
22275         (gst_thread_scheduler_task_get_type),
22276         (gst_thread_scheduler_task_class_init),
22277         (gst_thread_scheduler_task_init),
22278         (gst_thread_scheduler_task_start),
22279         (gst_thread_scheduler_task_stop),
22280         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
22281         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
22282         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
22283         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
22284         (plugin_init):
22285         * libs/gst/Makefile.am:
22286         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
22287         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
22288         (gst_file_pad_parent_set):
22289         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
22290         (gst_dp_event_from_packet):
22291         * tests/complexity.c: (main):
22292         * tests/mass_elements.c: (main):
22293         * testsuite/states/locked.c: (message_received), (main):
22294         * testsuite/states/parent.c: (main):
22295         * tools/gst-inspect.c: (print_element_flag_info),
22296         (print_implementation_info), (print_pad_info):
22297         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
22298         (main):
22299         * tools/gst-md5sum.c: (event_loop), (main):
22300         * tools/gst-typefind.c: (main):
22301         * tools/gst-xmlinspect.c: (print_element_info):
22302         Next big merge.
22303         Added GstBus for mainloop integration.
22304         Added GstMessage for sending notifications on the bus.
22305         Added GstTask as an abstraction for pipeline entry points.
22306         Removed GstThread.
22307         Removed Schedulers.
22308         Simplified GstQueue for multithreaded core.
22309         Made _link threadsafe, removed old capsnego.
22310         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
22311         Added pad blocking functions.
22312         Reworked scheduling functions in GstPad to prepare for
22313         scheduling updates soon.
22314         Moved events out of data stream.
22315         Simplified GstEvent types.
22316         Added return values to push/pull.
22317         Removed clocking from GstElement.
22318         Added prototypes for state change function for next merge.
22319         Removed iterate from bins and state change management.
22320         Fixed some elements, disabled others for now.
22321         Fixed -inspect and -launch.
22322         Added check for GstBus.
22323
22324 2005-03-10  Wim Taymans  <wim@fluendo.com>
22325
22326         * docs/design/part-MT-refcounting.txt:
22327         * docs/design/part-clocks.txt:
22328         * docs/design/part-gstelement.txt:
22329         * docs/design/part-gstobject.txt:
22330         * docs/design/part-standards.txt:
22331         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
22332         (gst_bin_remove_func), (gst_bin_remove):
22333         * gst/gstbin.h:
22334         * gst/gstbuffer.c:
22335         * gst/gstcaps.h:
22336         * testsuite/clock/clock1.c: (main):
22337         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
22338         (main):
22339         * testsuite/dlopen/loadgst.c: (do_test):
22340         * testsuite/refcounting/bin.c: (add_remove_test1),
22341         (add_remove_test2), (main):
22342         * testsuite/refcounting/element.c: (main):
22343         * testsuite/refcounting/element_pad.c: (main):
22344         * testsuite/refcounting/pad.c: (main):
22345         * tools/gst-launch.c: (sigint_handler_sighandler):
22346         * tools/gst-typefind.c: (main):
22347         Doc updates.
22348         Added doc about clock.
22349         removed gst_bin_iterate_recurse_up(), marked methods
22350         for removal.
22351         Fix more testsuites.
22352
22353 2005-03-09  Wim Taymans  <wim@fluendo.com>
22354
22355         * gst/gstpad.c: (gst_pad_get_direction),
22356         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
22357         (gst_pad_collect_valist):
22358         * testsuite/bins/interface.c: (main):
22359         * testsuite/caps/audioscale.c: (test_caps):
22360         * testsuite/caps/caps.c: (test1), (test2), (test3):
22361         * testsuite/caps/deserialize.c: (main):
22362         * testsuite/caps/enumcaps.c: (main):
22363         * testsuite/caps/filtercaps.c: (main):
22364         * testsuite/caps/intersect2.c: (main):
22365         * testsuite/caps/random.c: (main):
22366         * testsuite/caps/renegotiate.c: (my_fixate), (main):
22367         * testsuite/caps/sets.c: (check_caps):
22368         * testsuite/caps/simplify.c: (check_caps), (main):
22369         * testsuite/caps/subtract.c: (check_caps):
22370         Fix _pad_get_direction wrt ghostpads.
22371         Fix caps testsuite.
22372
22373 2005-03-09  Wim Taymans  <wim@fluendo.com>
22374
22375         * check/Makefile.am:
22376         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
22377         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
22378         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
22379         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
22380         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
22381         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
22382         (gst_bin_remove), (gst_bin_iterate_recurse_up),
22383         (bin_element_is_sink), (gst_bin_iterate_sinks),
22384         (gst_bin_iterate_all_by_interface):
22385         * gst/gstbin.h:
22386         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
22387         (gst_element_change_state), (gst_element_dispose),
22388         (gst_element_finalize), (gst_element_set_loop_function):
22389         * gst/gstelement.h:
22390         * gst/gstiterator.c: (find_custom_fold_func):
22391         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
22392         (gst_pad_collectv), (gst_pad_collect_valist),
22393         (gst_pad_template_new):
22394         * gst/gstpipeline.c: (gst_pipeline_class_init),
22395         (gst_pipeline_dispose), (gst_pipeline_set_property),
22396         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
22397         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
22398         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
22399         * gst/gstutils.h:
22400         * gst/schedulers/entryscheduler.c:
22401         * gst/schedulers/gstbasicscheduler.c:
22402         (gst_basic_scheduler_cothreaded_chain),
22403         (gst_basic_scheduler_chain_add_element):
22404         * testsuite/bins/interface.c: (main):
22405         Added GstBin test.
22406         Added GstSystemClock test.
22407         Implemented clock distribution code in GstBin.
22408         Implemented iterate sinks method for future use.
22409         Rearranged gstelement.h
22410         Fix GstIterator comparison bug.
22411         Moved some code to GstPipeline, mostly clocking related.
22412
22413 2005-03-09  Wim Taymans  <wim@fluendo.com>
22414
22415         * configure.ac:
22416         * gst/gst_private.h:
22417         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
22418         (gst_bin_remove_func), (gst_bin_remove),
22419         (gst_bin_get_by_name_recurse_up):
22420         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
22421         (gst_clock_id_compare_func), (gst_clock_id_wait),
22422         (gst_clock_id_wait_async), (gst_clock_init),
22423         (gst_clock_adjust_unlocked), (gst_clock_get_time):
22424         * gst/gstelement.h:
22425         * gst/gstinfo.c: (_gst_debug_init):
22426         * gst/gstobject.h:
22427         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
22428         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
22429         * gst/gstpad.h:
22430         Bump version number, we're now 0.9.0
22431         Add future debugging category.
22432         Fix NULL _unref() in _get_by_name_recurse_up
22433         Rearrange gstpad.h.
22434         Update some docs.
22435
22436 2005-03-08  Wim Taymans  <wim@fluendo.com>
22437
22438         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
22439         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
22440         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
22441         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
22442         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
22443         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
22444         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
22445         * gst/elements/gstidentity.c: (gst_identity_class_init):
22446         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
22447         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
22448         * gst/elements/gstshaper.c: (gst_shaper_class_init):
22449         * gst/elements/gststatistics.c: (gst_statistics_class_init):
22450         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
22451         (gst_tee_link):
22452         * gst/gstelement.c: (gst_element_class_init),
22453         (gst_element_base_class_init), (gst_element_init),
22454         (gst_element_get_random_pad), (gst_element_wait_state_change),
22455         (gst_element_change_state), (gst_element_dispose),
22456         (gst_element_finalize), (gst_element_set_loop_function):
22457         * gst/gstelement.h:
22458         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
22459         * gst/gstthread.c: (gst_thread_class_init),
22460         (gst_thread_release_children_locks), (gst_thread_change_state):
22461         * gst/schedulers/gstbasicscheduler.c:
22462         (gst_basic_scheduler_loopfunc_wrapper),
22463         (gst_basic_scheduler_chain_wrapper),
22464         (gst_basic_scheduler_src_wrapper),
22465         (gst_basic_scheduler_remove_element):
22466         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
22467         Remove threadsafe properties. Fix elements because GObject
22468         complains when installing a property before declaring a
22469         set/get_property handler.
22470         Rearrange gstelement.h file, use STATE macros for state locks.
22471         Free mutexes in the finalize method instead of dispose.
22472
22473 2005-03-08  Wim Taymans  <wim@fluendo.com>
22474
22475         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
22476         * gst/gstthread.c: (gst_thread_release_children_locks):
22477         Added parentage check.
22478         Fix build og GstThread again.
22479
22480 2005-03-08  Wim Taymans  <wim@fluendo.com>
22481
22482         * docs/design/part-MT-refcounting.txt:
22483         * docs/design/part-conventions.txt:
22484         * docs/design/part-gstobject.txt:
22485         * docs/design/part-relations.txt:
22486         * docs/design/part-standards.txt:
22487         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
22488         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
22489         (gst_bin_get_by_name), (gst_bin_get_by_interface),
22490         (gst_bin_iterate_all_by_interface):
22491         * gst/gstbuffer.h:
22492         * gst/gstclock.h:
22493         * gst/gstelement.c: (gst_element_class_init),
22494         (gst_element_change_state), (gst_element_set_loop_function):
22495         * gst/gstelement.h:
22496         * gst/gstiterator.c:
22497         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
22498         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
22499         (gst_object_dispatch_properties_changed), (gst_object_set_name),
22500         (gst_object_set_parent), (gst_object_unparent),
22501         (gst_object_check_uniqueness):
22502         * gst/gstobject.h:
22503         Docs updates, clean up some headers.
22504
22505 2005-03-07  Wim Taymans  <wim@fluendo.com>
22506
22507         * check/.cvsignore:
22508         * check/Makefile.am:
22509         * check/gst-libs/.cvsignore:
22510         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
22511         * check/gst/.cvsignore:
22512         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
22513         (START_TEST), (gstbus_suite), (main):
22514         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
22515         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
22516         (gst_data_suite), (main):
22517         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
22518         (add_fold_func), (gstiterator_suite), (main):
22519         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
22520         (thread_name_object), (thread_name_object_default),
22521         (gst_object_name_compare), (gst_object_suite), (main):
22522         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
22523         (gst_pad_suite), (main):
22524         * check/gstcheck.c: (gst_check_log_message_func),
22525         (gst_check_log_critical_func), (gst_check_init):
22526         * check/gstcheck.h:
22527         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
22528         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
22529         Added checks.
22530
22531 2005-03-07  Wim Taymans  <wim@fluendo.com>
22532
22533         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
22534         (gst_list_iterator_next), (gst_list_iterator_resync),
22535         (gst_list_iterator_free), (gst_iterator_new_list),
22536         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
22537         (gst_iterator_free), (gst_iterator_push), (filter_next),
22538         (filter_resync), (filter_uninit), (filter_free),
22539         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
22540         (gst_iterator_foreach), (find_custom_fold_func),
22541         (gst_iterator_find_custom):
22542         * gst/gstiterator.h:
22543         Added missing files.
22544
22545 2005-03-07  Wim Taymans  <wim@fluendo.com>
22546
22547         * Makefile.am:
22548         * configure.ac:
22549         * docs/design/part-MT-refcounting.txt:
22550         * docs/design/part-conventions.txt:
22551         * docs/design/part-gstobject.txt:
22552         * docs/design/part-relations.txt:
22553         * examples/mixer/mixer.c: (main):
22554         * examples/thread/thread.c: (eos), (main):
22555         * gst/Makefile.am:
22556         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
22557         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
22558         (gst_spider_plug_from_srcpad):
22559         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
22560         (gst_spider_identity_change_state),
22561         (gst_spider_identity_sink_loop_type_finding):
22562         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
22563         * gst/elements/gstidentity.c: (gst_identity_init):
22564         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
22565         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
22566         * gst/elements/gsttypefindelement.c: (free_entry):
22567         * gst/gst.c:
22568         * gst/gst.h:
22569         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
22570         (gst_bin_set_clock_func), (gst_bin_auto_clock),
22571         (gst_bin_set_index), (gst_bin_set_element_sched),
22572         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
22573         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
22574         (gst_bin_iterate_elements), (iterate_child_recurse),
22575         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
22576         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
22577         (compare_interface), (gst_bin_get_by_interface),
22578         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
22579         * gst/gstbin.h:
22580         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
22581         (gst_buffer_default_free), (gst_buffer_default_copy),
22582         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
22583         (gst_buffer_create_sub):
22584         * gst/gstbuffer.h:
22585         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
22586         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
22587         (gst_caps_unref), (gst_static_caps_get),
22588         (gst_caps_remove_and_get_structure), (gst_caps_append),
22589         (gst_caps_append_structure), (gst_caps_remove_structure),
22590         (gst_caps_copy_nth), (gst_caps_set_simple),
22591         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
22592         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
22593         (gst_caps_structure_intersect_field), (gst_caps_intersect),
22594         (gst_caps_structure_subtract_field), (gst_caps_subtract),
22595         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
22596         (gst_caps_structure_figure_out_union),
22597         (gst_caps_switch_structures), (gst_caps_do_simplify),
22598         (gst_caps_replace), (gst_caps_from_string),
22599         (gst_caps_copy_conditional):
22600         * gst/gstcaps.h:
22601         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
22602         (_gst_clock_id_free), (gst_clock_id_unref),
22603         (gst_clock_id_compare_func), (gst_clock_id_wait),
22604         (gst_clock_id_wait_async), (gst_clock_class_init),
22605         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
22606         (gst_clock_get_time), (gst_clock_set_time_adjust),
22607         (gst_clock_set_property), (gst_clock_get_property):
22608         * gst/gstclock.h:
22609         * gst/gstcompat.h:
22610         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
22611         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
22612         * gst/gstdata.h:
22613         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
22614         (gst_element_requires_clock), (gst_element_provides_clock),
22615         (gst_element_set_clock), (gst_element_clock_wait),
22616         (gst_element_wait), (gst_element_set_time_delay),
22617         (gst_element_is_indexable), (gst_element_add_pad),
22618         (gst_element_add_ghost_pad), (gst_element_remove_pad),
22619         (pad_compare_name), (gst_element_get_static_pad),
22620         (gst_element_request_pad), (gst_element_get_request_pad),
22621         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
22622         (gst_element_class_get_pad_template_list),
22623         (gst_element_class_get_pad_template), (gst_element_error_func),
22624         (gst_element_get_random_pad), (gst_element_get_event_masks),
22625         (gst_element_send_event), (gst_element_seek),
22626         (gst_element_get_query_types), (gst_element_query),
22627         (gst_element_get_formats), (gst_element_convert),
22628         (gst_element_is_locked_state), (gst_element_set_locked_state),
22629         (gst_element_sync_state_with_parent), (gst_element_change_state),
22630         (gst_element_finalize), (gst_element_yield),
22631         (gst_element_interrupt), (gst_element_set_scheduler),
22632         (gst_element_get_scheduler), (gst_element_set_loop_function):
22633         * gst/gstelement.h:
22634         * gst/gstevent.h:
22635         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
22636         (gst_format_get_by_nick), (gst_format_get_details),
22637         (gst_format_iterate_definitions):
22638         * gst/gstformat.h:
22639         * gst/gstindex.c: (gst_index_gtype_resolver):
22640         * gst/gstinfo.c:
22641         * gst/gstinfo.h:
22642         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
22643         (gst_mem_chunk_free):
22644         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
22645         (gst_object_ref), (gst_object_unref), (gst_object_sink),
22646         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
22647         (gst_object_dispatch_properties_changed),
22648         (gst_object_set_name_default), (gst_object_set_name),
22649         (gst_object_get_name), (gst_object_set_name_prefix),
22650         (gst_object_get_name_prefix), (gst_object_set_parent),
22651         (gst_object_get_parent), (gst_object_unparent),
22652         (gst_object_check_uniqueness), (gst_object_save_thyself),
22653         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
22654         (gst_object_set_property), (gst_object_get_property),
22655         (gst_object_get_path_string):
22656         * gst/gstobject.h:
22657         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
22658         (gst_real_pad_init), (gst_real_pad_get_property),
22659         (gst_pad_custom_new), (gst_pad_get_direction),
22660         (gst_pad_set_active), (gst_pad_is_active),
22661         (gst_pad_set_event_function), (gst_pad_is_linked),
22662         (gst_pad_link_free), (gst_pad_link_intersect),
22663         (gst_pad_link_fixate), (gst_pad_set_caps),
22664         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
22665         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
22666         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
22667         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
22668         (gst_pad_get_caps), (gst_pad_peer_get_caps),
22669         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
22670         (gst_pad_realize), (gst_pad_get_allowed_caps),
22671         (gst_real_pad_dispose), (gst_real_pad_finalize),
22672         (gst_pad_collectv), (gst_pad_collect_valist),
22673         (gst_pad_template_dispose), (gst_pad_template_new),
22674         (gst_pad_get_internal_links):
22675         * gst/gstpad.h:
22676         * gst/gstpipeline.c: (gst_pipeline_dispose),
22677         (gst_pipeline_change_state):
22678         * gst/gstpipeline.h:
22679         * gst/gstplugin.c:
22680         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
22681         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
22682         * gst/gstpluginfeature.h:
22683         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
22684         * gst/gstquery.c: (_gst_query_type_initialize),
22685         (gst_query_type_register), (gst_query_type_get_by_nick),
22686         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
22687         * gst/gstquery.h:
22688         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
22689         * gst/gstscheduler.c: (gst_scheduler_add_element),
22690         (gst_scheduler_factory_create):
22691         * gst/gststructure.c: (gst_structure_set_parent_refcount),
22692         (gst_structure_free), (gst_structure_set_name),
22693         (gst_structure_id_set_value), (gst_structure_set_value),
22694         (gst_structure_set_valist), (gst_structure_remove_field),
22695         (gst_structure_remove_fields),
22696         (gst_structure_remove_fields_valist),
22697         (gst_structure_remove_all_fields), (gst_structure_foreach),
22698         (gst_structure_map_in_place),
22699         (gst_caps_structure_fixate_field_nearest_int),
22700         (gst_caps_structure_fixate_field_nearest_double):
22701         * gst/gststructure.h:
22702         * gst/gstsystemclock.c: (gst_system_clock_class_init),
22703         (gst_system_clock_init), (gst_system_clock_dispose),
22704         (gst_system_clock_async_thread),
22705         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
22706         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
22707         * gst/gstsystemclock.h:
22708         * gst/gsttag.c: (gst_tag_list_add_value_internal),
22709         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
22710         * gst/gsttaginterface.c:
22711         * gst/gstthread.c: (gst_thread_dispose),
22712         (gst_thread_release_children_locks), (gst_thread_change_state),
22713         (gst_thread_main_loop):
22714         * gst/gsttrashstack.h:
22715         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
22716         * gst/gsttypes.h:
22717         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
22718         (gst_element_request_pad), (gst_element_get_pad_from_template),
22719         (gst_element_request_compatible_pad),
22720         (gst_element_get_compatible_pad_filtered),
22721         (gst_element_get_compatible_pad), (gst_element_state_get_name),
22722         (gst_element_link_pads_filtered), (gst_element_link_filtered),
22723         (gst_element_link_many), (gst_element_link),
22724         (gst_element_link_pads), (gst_element_unlink_pads),
22725         (gst_element_unlink_many), (gst_element_unlink),
22726         (gst_pad_can_link_filtered), (gst_pad_can_link),
22727         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
22728         (gst_object_default_error), (gst_bin_add_many),
22729         (gst_bin_remove_many), (gst_element_populate_std_props),
22730         (gst_element_class_install_std_props), (gst_buffer_merge),
22731         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
22732         (link_fold_func), (gst_pad_proxy_setcaps):
22733         * gst/gstutils.h:
22734         * gst/gstvalue.c: (gst_value_deserialize_string):
22735         * gst/parse/grammar.y:
22736         * gst/schedulers/gstbasicscheduler.c:
22737         (gst_basic_scheduler_cothreaded_chain),
22738         (gst_basic_scheduler_chain_recursive_add),
22739         (gst_basic_scheduler_pad_link):
22740         * gst/schedulers/gstoptimalscheduler.c:
22741         (get_group_schedule_function),
22742         (gst_opt_scheduler_state_transition),
22743         (gst_opt_scheduler_add_element), (element_get_reachables_func):
22744         * libs/gst/bytestream/bytestream.c:
22745         * libs/gst/dataprotocol/dataprotocol.c:
22746         (gst_dp_header_from_buffer):
22747         * po/nb.po:
22748         * po/ru.po:
22749         * tests/threadstate/threadstate2.c: (eos):
22750         * tools/gst-compprep.c: (main):
22751         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
22752         (print_pad_info), (print_children_info):
22753         * tools/gst-launch.c: (idle_func), (main):
22754         * tools/gst-md5sum.c: (idle_func), (main):
22755         * tools/gst-xmlinspect.c: (print_element_info):
22756         First THREADED backport attempt, focusing on adding locks and
22757         making sure the API is threadsafe. Needs more work. More docs
22758         follow this week.
22759
22760 2005-02-24  Andy Wingo  <wingo@pobox.com>
22761
22762         * tests/bench-complexity.scm:
22763         * tests/complexity.gnuplot: New files, good for running complexity
22764         benchmarks.
22765
22766         * tests/Makefile.am:
22767         * tests/complexity.c: New test, sets up N elements, at each level
22768         teeing into M streams per element. Eeeenteresting.
22769
22770         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
22771         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
22772         running bench-mass_elements.scm.
22773
22774         * tests/bench-mass_elements.scm: New script, runs mass_elements
22775         for various numbers of identities, outputting the results to a
22776         file. Requires guile 1.6. Just for testing.
22777
22778 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22779
22780         * gst/schedulers/fairscheduler.c:
22781           compile with debug disabled
22782
22783 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
22784
22785         * configure.ac:
22786           hunting season on 0.9 is now OPEN